diff --git a/assets/marketing/banner2.afphoto b/assets/marketing/banner2.afphoto index 50e9ca3..3685bab 100644 Binary files a/assets/marketing/banner2.afphoto and b/assets/marketing/banner2.afphoto differ diff --git a/assets/marketing/tv_banner.png b/assets/marketing/tv_banner.png new file mode 100644 index 0000000..b328033 Binary files /dev/null and b/assets/marketing/tv_banner.png differ diff --git a/lib/fake/fake_jellyfin_open_api.dart b/lib/fake/fake_jellyfin_open_api.dart index a4c11f9..8d0665c 100644 --- a/lib/fake/fake_jellyfin_open_api.dart +++ b/lib/fake/fake_jellyfin_open_api.dart @@ -681,9 +681,9 @@ class FakeJellyfinOpenApi extends JellyfinOpenApi { } @override - Future> brandingConfigurationGet() async => chopper.Response( + Future> brandingConfigurationGet() async => chopper.Response( FakeHelper.fakeCorrectResponse, - const BrandingOptions(loginDisclaimer: "Test server"), + const BrandingOptionsDto(loginDisclaimer: "Test server"), ); } diff --git a/lib/jellyfin/jellyfin_open_api.enums.swagger.dart b/lib/jellyfin/jellyfin_open_api.enums.swagger.dart index a852171..b4bb604 100644 --- a/lib/jellyfin/jellyfin_open_api.enums.swagger.dart +++ b/lib/jellyfin/jellyfin_open_api.enums.swagger.dart @@ -259,6 +259,22 @@ enum CollectionTypeOptions { const CollectionTypeOptions(this.value); } +enum DatabaseLockingBehaviorTypes { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('NoLock') + nolock('NoLock'), + @JsonValue('Pessimistic') + pessimistic('Pessimistic'), + @JsonValue('Optimistic') + optimistic('Optimistic'); + + final String? value; + + const DatabaseLockingBehaviorTypes(this.value); +} + enum DayOfWeek { @JsonValue(null) swaggerGeneratedUnknown(null), @@ -476,7 +492,9 @@ enum ExternalIdMediaType { @JsonValue('Track') track('Track'), @JsonValue('Book') - book('Book'); + book('Book'), + @JsonValue('Recording') + recording('Recording'); final String? value; @@ -729,10 +747,6 @@ enum GroupUpdateType { notingroup('NotInGroup'), @JsonValue('GroupDoesNotExist') groupdoesnotexist('GroupDoesNotExist'), - @JsonValue('CreateGroupDenied') - creategroupdenied('CreateGroupDenied'), - @JsonValue('JoinGroupDenied') - joingroupdenied('JoinGroupDenied'), @JsonValue('LibraryAccessDenied') libraryaccessdenied('LibraryAccessDenied'); @@ -941,8 +955,6 @@ enum ItemFields { externalurls('ExternalUrls'), @JsonValue('Genres') genres('Genres'), - @JsonValue('HomePageUrl') - homepageurl('HomePageUrl'), @JsonValue('ItemCounts') itemcounts('ItemCounts'), @JsonValue('MediaSourceCount') @@ -971,10 +983,6 @@ enum ItemFields { recursiveitemcount('RecursiveItemCount'), @JsonValue('Settings') settings('Settings'), - @JsonValue('ScreenshotImageTags') - screenshotimagetags('ScreenshotImageTags'), - @JsonValue('SeriesPrimaryImage') - seriesprimaryimage('SeriesPrimaryImage'), @JsonValue('SeriesStudio') seriesstudio('SeriesStudio'), @JsonValue('SortName') @@ -993,22 +1001,6 @@ enum ItemFields { mediastreams('MediaStreams'), @JsonValue('SeasonUserData') seasonuserdata('SeasonUserData'), - @JsonValue('ServiceName') - servicename('ServiceName'), - @JsonValue('ThemeSongIds') - themesongids('ThemeSongIds'), - @JsonValue('ThemeVideoIds') - themevideoids('ThemeVideoIds'), - @JsonValue('ExternalEtag') - externaletag('ExternalEtag'), - @JsonValue('PresentationUniqueKey') - presentationuniquekey('PresentationUniqueKey'), - @JsonValue('InheritedParentalRatingValue') - inheritedparentalratingvalue('InheritedParentalRatingValue'), - @JsonValue('ExternalSeriesId') - externalseriesid('ExternalSeriesId'), - @JsonValue('SeriesPresentationUniqueKey') - seriespresentationuniquekey('SeriesPresentationUniqueKey'), @JsonValue('DateLastRefreshed') datelastrefreshed('DateLastRefreshed'), @JsonValue('DateLastSaved') @@ -1128,11 +1120,7 @@ enum ItemSortBy { @JsonValue('ParentIndexNumber') parentindexnumber('ParentIndexNumber'), @JsonValue('IndexNumber') - indexnumber('IndexNumber'), - @JsonValue('SimilarityScore') - similarityscore('SimilarityScore'), - @JsonValue('SearchScore') - searchscore('SearchScore'); + indexnumber('IndexNumber'); final String? value; @@ -1629,6 +1617,8 @@ enum PluginStatus { restart('Restart'), @JsonValue('Deleted') deleted('Deleted'), + @JsonValue('Superseded') + superseded('Superseded'), @JsonValue('Superceded') superceded('Superceded'), @JsonValue('Malfunctioned') @@ -1736,7 +1726,9 @@ enum ProfileConditionValue { @JsonValue('AudioBitDepth') audiobitdepth('AudioBitDepth'), @JsonValue('VideoRangeType') - videorangetype('VideoRangeType'); + videorangetype('VideoRangeType'), + @JsonValue('NumStreams') + numstreams('NumStreams'); final String? value; @@ -2071,6 +2063,24 @@ enum TaskState { const TaskState(this.value); } +enum TaskTriggerInfoType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('DailyTrigger') + dailytrigger('DailyTrigger'), + @JsonValue('WeeklyTrigger') + weeklytrigger('WeeklyTrigger'), + @JsonValue('IntervalTrigger') + intervaltrigger('IntervalTrigger'), + @JsonValue('StartupTrigger') + startuptrigger('StartupTrigger'); + + final String? value; + + const TaskTriggerInfoType(this.value); +} + enum TonemappingAlgorithm { @JsonValue(null) swaggerGeneratedUnknown(null), @@ -2188,7 +2198,9 @@ enum TranscodeReason { @JsonValue('VideoRangeTypeNotSupported') videorangetypenotsupported('VideoRangeTypeNotSupported'), @JsonValue('VideoCodecTagNotSupported') - videocodectagnotsupported('VideoCodecTagNotSupported'); + videocodectagnotsupported('VideoCodecTagNotSupported'), + @JsonValue('StreamCountExceedsLimit') + streamcountexceedslimit('StreamCountExceedsLimit'); final String? value; @@ -2264,7 +2276,9 @@ enum TranscodingInfoTranscodeReasons { @JsonValue('VideoRangeTypeNotSupported') videorangetypenotsupported('VideoRangeTypeNotSupported'), @JsonValue('VideoCodecTagNotSupported') - videocodectagnotsupported('VideoCodecTagNotSupported'); + videocodectagnotsupported('VideoCodecTagNotSupported'), + @JsonValue('StreamCountExceedsLimit') + streamcountexceedslimit('StreamCountExceedsLimit'); final String? value; @@ -2385,6 +2399,14 @@ enum VideoRangeType { doviwithhlg('DOVIWithHLG'), @JsonValue('DOVIWithSDR') doviwithsdr('DOVIWithSDR'), + @JsonValue('DOVIWithEL') + doviwithel('DOVIWithEL'), + @JsonValue('DOVIWithHDR10Plus') + doviwithhdr10plus('DOVIWithHDR10Plus'), + @JsonValue('DOVIWithELHDR10Plus') + doviwithelhdr10plus('DOVIWithELHDR10Plus'), + @JsonValue('DOVIInvalid') + doviinvalid('DOVIInvalid'), @JsonValue('HDR10Plus') hdr10plus('HDR10Plus'); @@ -5218,11 +5240,7 @@ enum ShowsSeriesIdEpisodesGetSortBy { @JsonValue('ParentIndexNumber') parentindexnumber('ParentIndexNumber'), @JsonValue('IndexNumber') - indexnumber('IndexNumber'), - @JsonValue('SimilarityScore') - similarityscore('SimilarityScore'), - @JsonValue('SearchScore') - searchscore('SearchScore'); + indexnumber('IndexNumber'); final String? value; diff --git a/lib/jellyfin/jellyfin_open_api.swagger.chopper.dart b/lib/jellyfin/jellyfin_open_api.swagger.chopper.dart index 63d80ed..90a1cfd 100644 --- a/lib/jellyfin/jellyfin_open_api.swagger.chopper.dart +++ b/lib/jellyfin/jellyfin_open_api.swagger.chopper.dart @@ -709,14 +709,67 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { } @override - Future> _brandingConfigurationGet() { + Future>> _backupGet() { + final Uri $url = Uri.parse('/Backup'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, BackupManifestDto>($request); + } + + @override + Future> _backupCreatePost( + {required BackupOptionsDto? body}) { + final Uri $url = Uri.parse('/Backup/Create'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _backupManifestGet( + {required String? path}) { + final Uri $url = Uri.parse('/Backup/Manifest'); + final Map $params = {'path': path}; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _backupRestorePost( + {required BackupRestoreRequestDto? body}) { + final Uri $url = Uri.parse('/Backup/Restore'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _brandingConfigurationGet() { final Uri $url = Uri.parse('/Branding/Configuration'); final Request $request = Request( 'GET', $url, client.baseUrl, ); - return client.send($request); + return client.send($request); } @override @@ -976,6 +1029,20 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { return client.send($request); } + @override + Future> _systemConfigurationBrandingPost( + {required BrandingOptionsDto? body}) { + final Uri $url = Uri.parse('/System/Configuration/Branding'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + @override Future> _systemConfigurationMetadataOptionsDefaultGet() { @@ -2606,31 +2673,11 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { Future> _brandingSplashscreenGet({ String? tag, String? format, - int? maxWidth, - int? maxHeight, - int? width, - int? height, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? quality, }) { final Uri $url = Uri.parse('/Branding/Splashscreen'); final Map $params = { 'tag': tag, 'format': format, - 'maxWidth': maxWidth, - 'maxHeight': maxHeight, - 'width': width, - 'height': height, - 'fillWidth': fillWidth, - 'fillHeight': fillHeight, - 'blur': blur, - 'backgroundColor': backgroundColor, - 'foregroundLayer': foregroundLayer, - 'quality': quality, }; final Request $request = Request( 'GET', @@ -3829,38 +3876,12 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { String? userId, String? tag, String? format, - int? maxWidth, - int? maxHeight, - num? percentPlayed, - int? unplayedCount, - int? width, - int? height, - int? quality, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? imageIndex, }) { final Uri $url = Uri.parse('/UserImage'); final Map $params = { 'userId': userId, 'tag': tag, 'format': format, - 'maxWidth': maxWidth, - 'maxHeight': maxHeight, - 'percentPlayed': percentPlayed, - 'unplayedCount': unplayedCount, - 'width': width, - 'height': height, - 'quality': quality, - 'fillWidth': fillWidth, - 'fillHeight': fillHeight, - 'blur': blur, - 'backgroundColor': backgroundColor, - 'foregroundLayer': foregroundLayer, - 'imageIndex': imageIndex, }; final Request $request = Request( 'GET', @@ -3876,38 +3897,12 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { String? userId, String? tag, String? format, - int? maxWidth, - int? maxHeight, - num? percentPlayed, - int? unplayedCount, - int? width, - int? height, - int? quality, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? imageIndex, }) { final Uri $url = Uri.parse('/UserImage'); final Map $params = { 'userId': userId, 'tag': tag, 'format': format, - 'maxWidth': maxWidth, - 'maxHeight': maxHeight, - 'percentPlayed': percentPlayed, - 'unplayedCount': unplayedCount, - 'width': width, - 'height': height, - 'quality': quality, - 'fillWidth': fillWidth, - 'fillHeight': fillHeight, - 'blur': blur, - 'backgroundColor': backgroundColor, - 'foregroundLayer': foregroundLayer, - 'imageIndex': imageIndex, }; final Request $request = Request( 'HEAD', @@ -4334,6 +4329,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { String? imageRefreshMode, bool? replaceAllMetadata, bool? replaceAllImages, + bool? regenerateTrickplay, }) { final Uri $url = Uri.parse('/Items/${itemId}/Refresh'); final Map $params = { @@ -4341,6 +4337,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { 'imageRefreshMode': imageRefreshMode, 'replaceAllMetadata': replaceAllMetadata, 'replaceAllImages': replaceAllImages, + 'regenerateTrickplay': regenerateTrickplay, }; final Request $request = Request( 'POST', @@ -5623,6 +5620,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { @override Future> _liveTvProgramsRecommendedGet({ String? userId, + int? startIndex, int? limit, bool? isAiring, bool? hasAired, @@ -5642,6 +5640,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { final Uri $url = Uri.parse('/LiveTv/Programs/Recommended'); final Map $params = { 'userId': userId, + 'startIndex': startIndex, 'limit': limit, 'isAiring': isAiring, 'hasAired': hasAired, @@ -6459,6 +6458,21 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { return client.send($request); } + @override + Future> _jellyfinPluginOpenSubtitlesValidateLoginInfoPost( + {required LoginInfoInput? body}) { + final Uri $url = + Uri.parse('/Jellyfin.Plugin.OpenSubtitles/ValidateLoginInfo'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + @override Future>> _packagesGet() { final Uri $url = Uri.parse('/Packages'); @@ -6605,6 +6619,282 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { return client.send($request); } + @override + Future> _userUsageStatsBreakdownTypeBreakdownReportGet({ + required String? breakdownType, + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + final Uri $url = + Uri.parse('/user_usage_stats/${breakdownType}/BreakdownReport'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserIdDateGetItemsGet({ + required String? userId, + required String? date, + String? filter, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/${userId}/${date}/GetItems'); + final Map $params = { + 'filter': filter, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsDurationHistogramReportGet({ + int? days, + DateTime? endDate, + String? filter, + }) { + final Uri $url = Uri.parse('/user_usage_stats/DurationHistogramReport'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'filter': filter, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsGetTvShowsReportGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/GetTvShowsReport'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsHourlyReportGet({ + int? days, + DateTime? endDate, + String? filter, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/HourlyReport'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'filter': filter, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future>> _userUsageStatsLoadBackupGet( + {String? backupFilePath}) { + final Uri $url = Uri.parse('/user_usage_stats/load_backup'); + final Map $params = { + 'backupFilePath': backupFilePath + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send, String>($request); + } + + @override + Future> _userUsageStatsMoviesReportGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/MoviesReport'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsPlayActivityGet({ + int? days, + DateTime? endDate, + String? filter, + String? dataType, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/PlayActivity'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'filter': filter, + 'dataType': dataType, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future>> _userUsageStatsSaveBackupGet() { + final Uri $url = Uri.parse('/user_usage_stats/save_backup'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, String>($request); + } + + @override + Future> _userUsageStatsSubmitCustomQueryPost( + {required CustomQueryData? body}) { + final Uri $url = Uri.parse('/user_usage_stats/submit_custom_query'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsTypeFilterListGet() { + final Uri $url = Uri.parse('/user_usage_stats/type_filter_list'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserActivityGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + final Uri $url = Uri.parse('/user_usage_stats/user_activity'); + final Map $params = { + 'days': days, + 'endDate': endDate, + 'timezoneOffset': timezoneOffset, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserListGet() { + final Uri $url = Uri.parse('/user_usage_stats/user_list'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserManageAddGet({String? id}) { + final Uri $url = Uri.parse('/user_usage_stats/user_manage/add'); + final Map $params = {'id': id}; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserManagePruneGet() { + final Uri $url = Uri.parse('/user_usage_stats/user_manage/prune'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _userUsageStatsUserManageRemoveGet({String? id}) { + final Uri $url = Uri.parse('/user_usage_stats/user_manage/remove'); + final Map $params = {'id': id}; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + @override Future> _playlistsPost({ String? name, @@ -7999,6 +8289,17 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { .send($request); } + @override + Future> _syncPlayIdGet({required String? id}) { + final Uri $url = Uri.parse('/SyncPlay/${id}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + @override Future> _syncPlayBufferingPost( {required BufferRequestDto? body}) { @@ -8064,7 +8365,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { } @override - Future> _syncPlayNewPost( + Future> _syncPlayNewPost( {required NewGroupRequestDto? body}) { final Uri $url = Uri.parse('/SyncPlay/New'); final $body = body; @@ -8074,7 +8375,7 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { client.baseUrl, body: $body, ); - return client.send($request); + return client.send($request); } @override @@ -8309,6 +8610,17 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { return client.send($request); } + @override + Future> _systemInfoStorageGet() { + final Uri $url = Uri.parse('/System/Info/Storage'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + @override Future>> _systemLogsGet() { final Uri $url = Uri.parse('/System/Logs'); @@ -8377,17 +8689,6 @@ final class _$JellyfinOpenApi extends JellyfinOpenApi { return client.send($request); } - @override - Future>> _systemWakeOnLanInfoGet() { - final Uri $url = Uri.parse('/System/WakeOnLanInfo'); - final Request $request = Request( - 'GET', - $url, - client.baseUrl, - ); - return client.send, WakeOnLanInfo>($request); - } - @override Future> _getUtcTimeGet() { final Uri $url = Uri.parse('/GetUtcTime'); diff --git a/lib/jellyfin/jellyfin_open_api.swagger.dart b/lib/jellyfin/jellyfin_open_api.swagger.dart index 7e8a543..d113779 100644 --- a/lib/jellyfin/jellyfin_open_api.swagger.dart +++ b/lib/jellyfin/jellyfin_open_api.swagger.dart @@ -1066,7 +1066,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param maxVideoBitDepth Optional. The maximum video bit depth. ///@param requireAvc Optional. Whether to require avc. ///@param deInterlace Optional. Whether to deinterlace the video. - ///@param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. + ///@param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. ///@param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. ///@param cpuCoreLimit Optional. The limit of how many cpu cores to use. ///@param liveStreamId The live stream id. @@ -1223,7 +1223,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param maxVideoBitDepth Optional. The maximum video bit depth. ///@param requireAvc Optional. Whether to require avc. ///@param deInterlace Optional. Whether to deinterlace the video. - ///@param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. + ///@param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. ///@param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. ///@param cpuCoreLimit Optional. The limit of how many cpu cores to use. ///@param liveStreamId The live stream id. @@ -1328,7 +1328,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param maxVideoBitDepth Optional. The maximum video bit depth. ///@param requireAvc Optional. Whether to require avc. ///@param deInterlace Optional. Whether to deinterlace the video. - ///@param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. + ///@param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. ///@param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. ///@param cpuCoreLimit Optional. The limit of how many cpu cores to use. ///@param liveStreamId The live stream id. @@ -1485,7 +1485,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param maxVideoBitDepth Optional. The maximum video bit depth. ///@param requireAvc Optional. Whether to require avc. ///@param deInterlace Optional. Whether to deinterlace the video. - ///@param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. + ///@param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. ///@param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. ///@param cpuCoreLimit Optional. The limit of how many cpu cores to use. ///@param liveStreamId The live stream id. @@ -1552,11 +1552,76 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('enableAudioVbrEncoding') bool? enableAudioVbrEncoding, }); - ///Gets branding configuration. - Future> brandingConfigurationGet() { + ///Gets a list of all currently present backups in the backup directory. + Future>> backupGet() { generatedMapping.putIfAbsent( - BrandingOptions, - () => BrandingOptions.fromJsonFactory, + BackupManifestDto, + () => BackupManifestDto.fromJsonFactory, + ); + + return _backupGet(); + } + + ///Gets a list of all currently present backups in the backup directory. + @GET(path: '/Backup') + Future>> _backupGet(); + + ///Creates a new Backup. + Future> backupCreatePost({ + required BackupOptionsDto? body, + }) { + generatedMapping.putIfAbsent( + BackupManifestDto, + () => BackupManifestDto.fromJsonFactory, + ); + + return _backupCreatePost(body: body); + } + + ///Creates a new Backup. + @POST(path: '/Backup/Create', optionalBody: true) + Future> _backupCreatePost({ + @Body() required BackupOptionsDto? body, + }); + + ///Gets the descriptor from an existing archive is present. + ///@param path The data to start a restore process. + Future> backupManifestGet({ + required String? path, + }) { + generatedMapping.putIfAbsent( + BackupManifestDto, + () => BackupManifestDto.fromJsonFactory, + ); + + return _backupManifestGet(path: path); + } + + ///Gets the descriptor from an existing archive is present. + ///@param path The data to start a restore process. + @GET(path: '/Backup/Manifest') + Future> _backupManifestGet({ + @Query('path') required String? path, + }); + + ///Restores to a backup by restarting the server and applying the backup. + Future backupRestorePost({ + required BackupRestoreRequestDto? body, + }) { + return _backupRestorePost(body: body); + } + + ///Restores to a backup by restarting the server and applying the backup. + @POST(path: '/Backup/Restore', optionalBody: true) + Future _backupRestorePost({ + @Body() required BackupRestoreRequestDto? body, + }); + + ///Gets branding configuration. + Future> brandingConfigurationGet() { + generatedMapping.putIfAbsent( + BrandingOptionsDto, + () => BrandingOptionsDto.fromJsonFactory, ); return _brandingConfigurationGet(); @@ -1564,7 +1629,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///Gets branding configuration. @GET(path: '/Branding/Configuration') - Future> _brandingConfigurationGet(); + Future> _brandingConfigurationGet(); ///Gets branding css. Future> brandingCssGet() { @@ -1931,6 +1996,19 @@ abstract class JellyfinOpenApi extends ChopperService { @Body() required Object? body, }); + ///Updates branding configuration. + Future systemConfigurationBrandingPost({ + required BrandingOptionsDto? body, + }) { + return _systemConfigurationBrandingPost(body: body); + } + + ///Updates branding configuration. + @POST(path: '/System/Configuration/Branding', optionalBody: true) + Future _systemConfigurationBrandingPost({ + @Body() required BrandingOptionsDto? body, + }); + ///Gets a default MetadataOptions object. Future> systemConfigurationMetadataOptionsDefaultGet() { @@ -5309,73 +5387,23 @@ abstract class JellyfinOpenApi extends ChopperService { ///Generates or gets the splashscreen. ///@param tag Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Blur image. - ///@param backgroundColor Apply a background color for transparent images. - ///@param foregroundLayer Apply a foreground layer on top of the image. - ///@param quality Quality setting, from 0-100. Future> brandingSplashscreenGet({ String? tag, enums.BrandingSplashscreenGetFormat? format, - int? maxWidth, - int? maxHeight, - int? width, - int? height, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? quality, }) { return _brandingSplashscreenGet( tag: tag, format: format?.value?.toString(), - maxWidth: maxWidth, - maxHeight: maxHeight, - width: width, - height: height, - fillWidth: fillWidth, - fillHeight: fillHeight, - blur: blur, - backgroundColor: backgroundColor, - foregroundLayer: foregroundLayer, - quality: quality, ); } ///Generates or gets the splashscreen. ///@param tag Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Blur image. - ///@param backgroundColor Apply a background color for transparent images. - ///@param foregroundLayer Apply a foreground layer on top of the image. - ///@param quality Quality setting, from 0-100. @GET(path: '/Branding/Splashscreen') Future> _brandingSplashscreenGet({ @Query('tag') String? tag, @Query('format') String? format, - @Query('maxWidth') int? maxWidth, - @Query('maxHeight') int? maxHeight, - @Query('width') int? width, - @Query('height') int? height, - @Query('fillWidth') int? fillWidth, - @Query('fillHeight') int? fillHeight, - @Query('blur') int? blur, - @Query('backgroundColor') String? backgroundColor, - @Query('foregroundLayer') String? foregroundLayer, - @Query('quality') int? quality, }); ///Uploads a custom splashscreen. @@ -7751,54 +7779,15 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param userId User id. ///@param tag Optional. Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param percentPlayed Optional. Percent to render for the percent played overlay. - ///@param unplayedCount Optional. Unplayed count overlay to render. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Optional. Blur image. - ///@param backgroundColor Optional. Apply a background color for transparent images. - ///@param foregroundLayer Optional. Apply a foreground layer on top of the image. - ///@param imageIndex Image index. Future> userImageGet({ String? userId, String? tag, enums.UserImageGetFormat? format, - int? maxWidth, - int? maxHeight, - num? percentPlayed, - int? unplayedCount, - int? width, - int? height, - int? quality, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? imageIndex, }) { return _userImageGet( userId: userId, tag: tag, format: format?.value?.toString(), - maxWidth: maxWidth, - maxHeight: maxHeight, - percentPlayed: percentPlayed, - unplayedCount: unplayedCount, - width: width, - height: height, - quality: quality, - fillWidth: fillWidth, - fillHeight: fillHeight, - blur: blur, - backgroundColor: backgroundColor, - foregroundLayer: foregroundLayer, - imageIndex: imageIndex, ); } @@ -7806,91 +7795,26 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param userId User id. ///@param tag Optional. Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param percentPlayed Optional. Percent to render for the percent played overlay. - ///@param unplayedCount Optional. Unplayed count overlay to render. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Optional. Blur image. - ///@param backgroundColor Optional. Apply a background color for transparent images. - ///@param foregroundLayer Optional. Apply a foreground layer on top of the image. - ///@param imageIndex Image index. @GET(path: '/UserImage') Future> _userImageGet({ @Query('userId') String? userId, @Query('tag') String? tag, @Query('format') String? format, - @Query('maxWidth') int? maxWidth, - @Query('maxHeight') int? maxHeight, - @Query('percentPlayed') num? percentPlayed, - @Query('unplayedCount') int? unplayedCount, - @Query('width') int? width, - @Query('height') int? height, - @Query('quality') int? quality, - @Query('fillWidth') int? fillWidth, - @Query('fillHeight') int? fillHeight, - @Query('blur') int? blur, - @Query('backgroundColor') String? backgroundColor, - @Query('foregroundLayer') String? foregroundLayer, - @Query('imageIndex') int? imageIndex, }); ///Get user profile image. ///@param userId User id. ///@param tag Optional. Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param percentPlayed Optional. Percent to render for the percent played overlay. - ///@param unplayedCount Optional. Unplayed count overlay to render. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Optional. Blur image. - ///@param backgroundColor Optional. Apply a background color for transparent images. - ///@param foregroundLayer Optional. Apply a foreground layer on top of the image. - ///@param imageIndex Image index. Future> userImageHead({ String? userId, String? tag, enums.UserImageHeadFormat? format, - int? maxWidth, - int? maxHeight, - num? percentPlayed, - int? unplayedCount, - int? width, - int? height, - int? quality, - int? fillWidth, - int? fillHeight, - int? blur, - String? backgroundColor, - String? foregroundLayer, - int? imageIndex, }) { return _userImageHead( userId: userId, tag: tag, format: format?.value?.toString(), - maxWidth: maxWidth, - maxHeight: maxHeight, - percentPlayed: percentPlayed, - unplayedCount: unplayedCount, - width: width, - height: height, - quality: quality, - fillWidth: fillWidth, - fillHeight: fillHeight, - blur: blur, - backgroundColor: backgroundColor, - foregroundLayer: foregroundLayer, - imageIndex: imageIndex, ); } @@ -7898,37 +7822,11 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param userId User id. ///@param tag Optional. Supply the cache tag from the item object to receive strong caching headers. ///@param format Determines the output format of the image - original,gif,jpg,png. - ///@param maxWidth The maximum image width to return. - ///@param maxHeight The maximum image height to return. - ///@param percentPlayed Optional. Percent to render for the percent played overlay. - ///@param unplayedCount Optional. Unplayed count overlay to render. - ///@param width The fixed image width to return. - ///@param height The fixed image height to return. - ///@param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - ///@param fillWidth Width of box to fill. - ///@param fillHeight Height of box to fill. - ///@param blur Optional. Blur image. - ///@param backgroundColor Optional. Apply a background color for transparent images. - ///@param foregroundLayer Optional. Apply a foreground layer on top of the image. - ///@param imageIndex Image index. @HEAD(path: '/UserImage') Future> _userImageHead({ @Query('userId') String? userId, @Query('tag') String? tag, @Query('format') String? format, - @Query('maxWidth') int? maxWidth, - @Query('maxHeight') int? maxHeight, - @Query('percentPlayed') num? percentPlayed, - @Query('unplayedCount') int? unplayedCount, - @Query('width') int? width, - @Query('height') int? height, - @Query('quality') int? quality, - @Query('fillWidth') int? fillWidth, - @Query('fillHeight') int? fillHeight, - @Query('blur') int? blur, - @Query('backgroundColor') String? backgroundColor, - @Query('foregroundLayer') String? foregroundLayer, - @Query('imageIndex') int? imageIndex, }); ///Creates an instant playlist based on a given album. @@ -8612,12 +8510,14 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param imageRefreshMode (Optional) Specifies the image refresh mode. ///@param replaceAllMetadata (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh. ///@param replaceAllImages (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh. + ///@param regenerateTrickplay (Optional) Determines if trickplay images should be replaced. Only applicable if mode is FullRefresh. Future itemsItemIdRefreshPost({ required String? itemId, enums.ItemsItemIdRefreshPostMetadataRefreshMode? metadataRefreshMode, enums.ItemsItemIdRefreshPostImageRefreshMode? imageRefreshMode, bool? replaceAllMetadata, bool? replaceAllImages, + bool? regenerateTrickplay, }) { return _itemsItemIdRefreshPost( itemId: itemId, @@ -8625,6 +8525,7 @@ abstract class JellyfinOpenApi extends ChopperService { imageRefreshMode: imageRefreshMode?.value?.toString(), replaceAllMetadata: replaceAllMetadata, replaceAllImages: replaceAllImages, + regenerateTrickplay: regenerateTrickplay, ); } @@ -8634,6 +8535,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param imageRefreshMode (Optional) Specifies the image refresh mode. ///@param replaceAllMetadata (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh. ///@param replaceAllImages (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh. + ///@param regenerateTrickplay (Optional) Determines if trickplay images should be replaced. Only applicable if mode is FullRefresh. @POST(path: '/Items/{itemId}/Refresh', optionalBody: true) Future _itemsItemIdRefreshPost({ @Path('itemId') required String? itemId, @@ -8641,6 +8543,7 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('imageRefreshMode') String? imageRefreshMode, @Query('replaceAllMetadata') bool? replaceAllMetadata, @Query('replaceAllImages') bool? replaceAllImages, + @Query('regenerateTrickplay') bool? regenerateTrickplay, }); ///Gets items based on a query. @@ -10314,14 +10217,14 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('userId') String? userId, }); - ///Get guid info. + ///Get guide info. Future> liveTvGuideInfoGet() { generatedMapping.putIfAbsent(GuideInfo, () => GuideInfo.fromJsonFactory); return _liveTvGuideInfoGet(); } - ///Get guid info. + ///Get guide info. @GET(path: '/LiveTv/GuideInfo') Future> _liveTvGuideInfoGet(); @@ -10680,6 +10583,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///Gets recommended live tv epgs. ///@param userId Optional. filter by user id. + ///@param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. ///@param limit Optional. The maximum number of records to return. ///@param isAiring Optional. Filter by programs that are currently airing, or not. ///@param hasAired Optional. Filter by programs that have completed airing, or not. @@ -10698,6 +10602,7 @@ abstract class JellyfinOpenApi extends ChopperService { Future> liveTvProgramsRecommendedGet({ String? userId, + int? startIndex, int? limit, bool? isAiring, bool? hasAired, @@ -10721,6 +10626,7 @@ abstract class JellyfinOpenApi extends ChopperService { return _liveTvProgramsRecommendedGet( userId: userId, + startIndex: startIndex, limit: limit, isAiring: isAiring, hasAired: hasAired, @@ -10741,6 +10647,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///Gets recommended live tv epgs. ///@param userId Optional. filter by user id. + ///@param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. ///@param limit Optional. The maximum number of records to return. ///@param isAiring Optional. Filter by programs that are currently airing, or not. ///@param hasAired Optional. Filter by programs that have completed airing, or not. @@ -10760,6 +10667,7 @@ abstract class JellyfinOpenApi extends ChopperService { Future> _liveTvProgramsRecommendedGet({ @Query('userId') String? userId, + @Query('startIndex') int? startIndex, @Query('limit') int? limit, @Query('isAiring') bool? isAiring, @Query('hasAired') bool? hasAired, @@ -11992,6 +11900,22 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('userId') String? userId, }); + /// + Future jellyfinPluginOpenSubtitlesValidateLoginInfoPost({ + required LoginInfoInput? body, + }) { + return _jellyfinPluginOpenSubtitlesValidateLoginInfoPost(body: body); + } + + /// + @POST( + path: '/Jellyfin.Plugin.OpenSubtitles/ValidateLoginInfo', + optionalBody: true, + ) + Future _jellyfinPluginOpenSubtitlesValidateLoginInfoPost({ + @Body() required LoginInfoInput? body, + }); + ///Gets available packages. Future>> packagesGet() { generatedMapping.putIfAbsent( @@ -12210,6 +12134,339 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('userId') String? userId, }); + /// + ///@param breakdownType + ///@param days + ///@param endDate + ///@param timezoneOffset + Future userUsageStatsBreakdownTypeBreakdownReportGet({ + required String? breakdownType, + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + return _userUsageStatsBreakdownTypeBreakdownReportGet( + breakdownType: breakdownType, + days: days, + endDate: endDate, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param breakdownType + ///@param days + ///@param endDate + ///@param timezoneOffset + @GET(path: '/user_usage_stats/{breakdownType}/BreakdownReport') + Future _userUsageStatsBreakdownTypeBreakdownReportGet({ + @Path('breakdownType') required String? breakdownType, + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + ///@param userId + ///@param date + ///@param filter + ///@param timezoneOffset + Future userUsageStatsUserIdDateGetItemsGet({ + required String? userId, + required String? date, + String? filter, + num? timezoneOffset, + }) { + return _userUsageStatsUserIdDateGetItemsGet( + userId: userId, + date: date, + filter: filter, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param userId + ///@param date + ///@param filter + ///@param timezoneOffset + @GET(path: '/user_usage_stats/{userId}/{date}/GetItems') + Future _userUsageStatsUserIdDateGetItemsGet({ + @Path('userId') required String? userId, + @Path('date') required String? date, + @Query('filter') String? filter, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + ///@param days + ///@param endDate + ///@param filter + Future userUsageStatsDurationHistogramReportGet({ + int? days, + DateTime? endDate, + String? filter, + }) { + return _userUsageStatsDurationHistogramReportGet( + days: days, + endDate: endDate, + filter: filter, + ); + } + + /// + ///@param days + ///@param endDate + ///@param filter + @GET(path: '/user_usage_stats/DurationHistogramReport') + Future _userUsageStatsDurationHistogramReportGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('filter') String? filter, + }); + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + Future userUsageStatsGetTvShowsReportGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + return _userUsageStatsGetTvShowsReportGet( + days: days, + endDate: endDate, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + @GET(path: '/user_usage_stats/GetTvShowsReport') + Future _userUsageStatsGetTvShowsReportGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + ///@param days + ///@param endDate + ///@param filter + ///@param timezoneOffset + Future userUsageStatsHourlyReportGet({ + int? days, + DateTime? endDate, + String? filter, + num? timezoneOffset, + }) { + return _userUsageStatsHourlyReportGet( + days: days, + endDate: endDate, + filter: filter, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param days + ///@param endDate + ///@param filter + ///@param timezoneOffset + @GET(path: '/user_usage_stats/HourlyReport') + Future _userUsageStatsHourlyReportGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('filter') String? filter, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + ///@param backupFilePath + Future>> userUsageStatsLoadBackupGet({ + String? backupFilePath, + }) { + return _userUsageStatsLoadBackupGet(backupFilePath: backupFilePath); + } + + /// + ///@param backupFilePath + @GET(path: '/user_usage_stats/load_backup') + Future>> _userUsageStatsLoadBackupGet({ + @Query('backupFilePath') String? backupFilePath, + }); + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + Future userUsageStatsMoviesReportGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + return _userUsageStatsMoviesReportGet( + days: days, + endDate: endDate, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + @GET(path: '/user_usage_stats/MoviesReport') + Future _userUsageStatsMoviesReportGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + ///@param days + ///@param endDate + ///@param filter + ///@param dataType + ///@param timezoneOffset + Future userUsageStatsPlayActivityGet({ + int? days, + DateTime? endDate, + String? filter, + String? dataType, + num? timezoneOffset, + }) { + return _userUsageStatsPlayActivityGet( + days: days, + endDate: endDate, + filter: filter, + dataType: dataType, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param days + ///@param endDate + ///@param filter + ///@param dataType + ///@param timezoneOffset + @GET(path: '/user_usage_stats/PlayActivity') + Future _userUsageStatsPlayActivityGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('filter') String? filter, + @Query('dataType') String? dataType, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + Future>> userUsageStatsSaveBackupGet() { + return _userUsageStatsSaveBackupGet(); + } + + /// + @GET(path: '/user_usage_stats/save_backup') + Future>> _userUsageStatsSaveBackupGet(); + + /// + Future> userUsageStatsSubmitCustomQueryPost({ + required CustomQueryData? body, + }) { + return _userUsageStatsSubmitCustomQueryPost(body: body); + } + + /// + @POST(path: '/user_usage_stats/submit_custom_query', optionalBody: true) + Future> _userUsageStatsSubmitCustomQueryPost({ + @Body() required CustomQueryData? body, + }); + + /// + Future userUsageStatsTypeFilterListGet() { + return _userUsageStatsTypeFilterListGet(); + } + + /// + @GET(path: '/user_usage_stats/type_filter_list') + Future _userUsageStatsTypeFilterListGet(); + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + Future userUsageStatsUserActivityGet({ + int? days, + DateTime? endDate, + num? timezoneOffset, + }) { + return _userUsageStatsUserActivityGet( + days: days, + endDate: endDate, + timezoneOffset: timezoneOffset, + ); + } + + /// + ///@param days + ///@param endDate + ///@param timezoneOffset + @GET(path: '/user_usage_stats/user_activity') + Future _userUsageStatsUserActivityGet({ + @Query('days') int? days, + @Query('endDate') DateTime? endDate, + @Query('timezoneOffset') num? timezoneOffset, + }); + + /// + Future userUsageStatsUserListGet() { + return _userUsageStatsUserListGet(); + } + + /// + @GET(path: '/user_usage_stats/user_list') + Future _userUsageStatsUserListGet(); + + /// + ///@param id + Future> userUsageStatsUserManageAddGet({String? id}) { + return _userUsageStatsUserManageAddGet(id: id); + } + + /// + ///@param id + @GET(path: '/user_usage_stats/user_manage/add') + Future> _userUsageStatsUserManageAddGet({ + @Query('id') String? id, + }); + + /// + Future> userUsageStatsUserManagePruneGet() { + return _userUsageStatsUserManagePruneGet(); + } + + /// + @GET(path: '/user_usage_stats/user_manage/prune') + Future> _userUsageStatsUserManagePruneGet(); + + /// + ///@param id + Future> userUsageStatsUserManageRemoveGet({ + String? id, + }) { + return _userUsageStatsUserManageRemoveGet(id: id); + } + + /// + ///@param id + @GET(path: '/user_usage_stats/user_manage/remove') + Future> _userUsageStatsUserManageRemoveGet({ + @Query('id') String? id, + }); + ///Creates a new playlist. ///@param name The playlist name. ///@param ids The item ids. @@ -12534,6 +12791,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param liveStreamId The live stream id. ///@param playSessionId The play session id. ///@param canSeek Indicates if the client can seek. + @deprecated Future playingItemsItemIdPost({ required String? itemId, String? mediaSourceId, @@ -12565,6 +12823,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param liveStreamId The live stream id. ///@param playSessionId The play session id. ///@param canSeek Indicates if the client can seek. + @deprecated @POST(path: '/PlayingItems/{itemId}', optionalBody: true) Future _playingItemsItemIdPost({ @Path('itemId') required String? itemId, @@ -12584,6 +12843,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param positionTicks Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms. ///@param liveStreamId The live stream id. ///@param playSessionId The play session id. + @deprecated Future playingItemsItemIdDelete({ required String? itemId, String? mediaSourceId, @@ -12609,6 +12869,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param positionTicks Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms. ///@param liveStreamId The live stream id. ///@param playSessionId The play session id. + @deprecated @DELETE(path: '/PlayingItems/{itemId}') Future _playingItemsItemIdDelete({ @Path('itemId') required String? itemId, @@ -12632,6 +12893,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param repeatMode The repeat mode. ///@param isPaused Indicates if the player is paused. ///@param isMuted Indicates if the player is muted. + @deprecated Future playingItemsItemIdProgressPost({ required String? itemId, String? mediaSourceId, @@ -12675,6 +12937,7 @@ abstract class JellyfinOpenApi extends ChopperService { ///@param repeatMode The repeat mode. ///@param isPaused Indicates if the player is paused. ///@param isMuted Indicates if the player is muted. + @deprecated @POST(path: '/PlayingItems/{itemId}/Progress', optionalBody: true) Future _playingItemsItemIdProgressPost({ @Path('itemId') required String? itemId, @@ -14276,6 +14539,24 @@ abstract class JellyfinOpenApi extends ChopperService { @Query('enableTotalRecordCount') bool? enableTotalRecordCount, }); + ///Gets a SyncPlay group by id. + ///@param id The id of the group. + Future> syncPlayIdGet({required String? id}) { + generatedMapping.putIfAbsent( + GroupInfoDto, + () => GroupInfoDto.fromJsonFactory, + ); + + return _syncPlayIdGet(id: id); + } + + ///Gets a SyncPlay group by id. + ///@param id The id of the group. + @GET(path: '/SyncPlay/{id}') + Future> _syncPlayIdGet({ + @Path('id') required String? id, + }); + ///Notify SyncPlay group that member is buffering. Future syncPlayBufferingPost({ required BufferRequestDto? body, @@ -14339,15 +14620,20 @@ abstract class JellyfinOpenApi extends ChopperService { }); ///Create a new SyncPlay group. - Future syncPlayNewPost({ + Future> syncPlayNewPost({ required NewGroupRequestDto? body, }) { + generatedMapping.putIfAbsent( + GroupInfoDto, + () => GroupInfoDto.fromJsonFactory, + ); + return _syncPlayNewPost(body: body); } ///Create a new SyncPlay group. @POST(path: '/SyncPlay/New', optionalBody: true) - Future _syncPlayNewPost({ + Future> _syncPlayNewPost({ @Body() required NewGroupRequestDto? body, }); @@ -14565,6 +14851,20 @@ abstract class JellyfinOpenApi extends ChopperService { @GET(path: '/System/Info/Public') Future> _systemInfoPublicGet(); + ///Gets information about the server. + Future> systemInfoStorageGet() { + generatedMapping.putIfAbsent( + SystemStorageDto, + () => SystemStorageDto.fromJsonFactory, + ); + + return _systemInfoStorageGet(); + } + + ///Gets information about the server. + @GET(path: '/System/Info/Storage') + Future> _systemInfoStorageGet(); + ///Gets a list of available server log files. Future>> systemLogsGet() { generatedMapping.putIfAbsent(LogFile, () => LogFile.fromJsonFactory); @@ -14625,22 +14925,6 @@ abstract class JellyfinOpenApi extends ChopperService { @POST(path: '/System/Shutdown', optionalBody: true) Future _systemShutdownPost(); - ///Gets wake on lan information. - @deprecated - Future>> systemWakeOnLanInfoGet() { - generatedMapping.putIfAbsent( - WakeOnLanInfo, - () => WakeOnLanInfo.fromJsonFactory, - ); - - return _systemWakeOnLanInfoGet(); - } - - ///Gets wake on lan information. - @deprecated - @GET(path: '/System/WakeOnLanInfo') - Future>> _systemWakeOnLanInfoGet(); - ///Gets the current UTC time. Future> getUtcTimeGet() { generatedMapping.putIfAbsent( @@ -19283,6 +19567,253 @@ extension $AuthenticationResultExtension on AuthenticationResult { } } +@JsonSerializable(explicitToJson: true) +class BackupManifestDto { + const BackupManifestDto({ + this.serverVersion, + this.backupEngineVersion, + this.dateCreated, + this.path, + this.options, + }); + + factory BackupManifestDto.fromJson(Map json) => + _$BackupManifestDtoFromJson(json); + + static const toJsonFactory = _$BackupManifestDtoToJson; + Map toJson() => _$BackupManifestDtoToJson(this); + + @JsonKey(name: 'ServerVersion', includeIfNull: false) + final String? serverVersion; + @JsonKey(name: 'BackupEngineVersion', includeIfNull: false) + final String? backupEngineVersion; + @JsonKey(name: 'DateCreated', includeIfNull: false) + final DateTime? dateCreated; + @JsonKey(name: 'Path', includeIfNull: false) + final String? path; + @JsonKey(name: 'Options', includeIfNull: false) + final BackupOptionsDto? options; + static const fromJsonFactory = _$BackupManifestDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is BackupManifestDto && + (identical(other.serverVersion, serverVersion) || + const DeepCollectionEquality().equals( + other.serverVersion, + serverVersion, + )) && + (identical(other.backupEngineVersion, backupEngineVersion) || + const DeepCollectionEquality().equals( + other.backupEngineVersion, + backupEngineVersion, + )) && + (identical(other.dateCreated, dateCreated) || + const DeepCollectionEquality().equals( + other.dateCreated, + dateCreated, + )) && + (identical(other.path, path) || + const DeepCollectionEquality().equals(other.path, path)) && + (identical(other.options, options) || + const DeepCollectionEquality().equals(other.options, options))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(serverVersion) ^ + const DeepCollectionEquality().hash(backupEngineVersion) ^ + const DeepCollectionEquality().hash(dateCreated) ^ + const DeepCollectionEquality().hash(path) ^ + const DeepCollectionEquality().hash(options) ^ + runtimeType.hashCode; +} + +extension $BackupManifestDtoExtension on BackupManifestDto { + BackupManifestDto copyWith({ + String? serverVersion, + String? backupEngineVersion, + DateTime? dateCreated, + String? path, + BackupOptionsDto? options, + }) { + return BackupManifestDto( + serverVersion: serverVersion ?? this.serverVersion, + backupEngineVersion: backupEngineVersion ?? this.backupEngineVersion, + dateCreated: dateCreated ?? this.dateCreated, + path: path ?? this.path, + options: options ?? this.options, + ); + } + + BackupManifestDto copyWithWrapped({ + Wrapped? serverVersion, + Wrapped? backupEngineVersion, + Wrapped? dateCreated, + Wrapped? path, + Wrapped? options, + }) { + return BackupManifestDto( + serverVersion: (serverVersion != null + ? serverVersion.value + : this.serverVersion), + backupEngineVersion: (backupEngineVersion != null + ? backupEngineVersion.value + : this.backupEngineVersion), + dateCreated: (dateCreated != null ? dateCreated.value : this.dateCreated), + path: (path != null ? path.value : this.path), + options: (options != null ? options.value : this.options), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class BackupOptionsDto { + const BackupOptionsDto({ + this.metadata, + this.trickplay, + this.subtitles, + this.database, + }); + + factory BackupOptionsDto.fromJson(Map json) => + _$BackupOptionsDtoFromJson(json); + + static const toJsonFactory = _$BackupOptionsDtoToJson; + Map toJson() => _$BackupOptionsDtoToJson(this); + + @JsonKey(name: 'Metadata', includeIfNull: false) + final bool? metadata; + @JsonKey(name: 'Trickplay', includeIfNull: false) + final bool? trickplay; + @JsonKey(name: 'Subtitles', includeIfNull: false) + final bool? subtitles; + @JsonKey(name: 'Database', includeIfNull: false) + final bool? database; + static const fromJsonFactory = _$BackupOptionsDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is BackupOptionsDto && + (identical(other.metadata, metadata) || + const DeepCollectionEquality().equals( + other.metadata, + metadata, + )) && + (identical(other.trickplay, trickplay) || + const DeepCollectionEquality().equals( + other.trickplay, + trickplay, + )) && + (identical(other.subtitles, subtitles) || + const DeepCollectionEquality().equals( + other.subtitles, + subtitles, + )) && + (identical(other.database, database) || + const DeepCollectionEquality().equals( + other.database, + database, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(metadata) ^ + const DeepCollectionEquality().hash(trickplay) ^ + const DeepCollectionEquality().hash(subtitles) ^ + const DeepCollectionEquality().hash(database) ^ + runtimeType.hashCode; +} + +extension $BackupOptionsDtoExtension on BackupOptionsDto { + BackupOptionsDto copyWith({ + bool? metadata, + bool? trickplay, + bool? subtitles, + bool? database, + }) { + return BackupOptionsDto( + metadata: metadata ?? this.metadata, + trickplay: trickplay ?? this.trickplay, + subtitles: subtitles ?? this.subtitles, + database: database ?? this.database, + ); + } + + BackupOptionsDto copyWithWrapped({ + Wrapped? metadata, + Wrapped? trickplay, + Wrapped? subtitles, + Wrapped? database, + }) { + return BackupOptionsDto( + metadata: (metadata != null ? metadata.value : this.metadata), + trickplay: (trickplay != null ? trickplay.value : this.trickplay), + subtitles: (subtitles != null ? subtitles.value : this.subtitles), + database: (database != null ? database.value : this.database), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class BackupRestoreRequestDto { + const BackupRestoreRequestDto({this.archiveFileName}); + + factory BackupRestoreRequestDto.fromJson(Map json) => + _$BackupRestoreRequestDtoFromJson(json); + + static const toJsonFactory = _$BackupRestoreRequestDtoToJson; + Map toJson() => _$BackupRestoreRequestDtoToJson(this); + + @JsonKey(name: 'ArchiveFileName', includeIfNull: false) + final String? archiveFileName; + static const fromJsonFactory = _$BackupRestoreRequestDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is BackupRestoreRequestDto && + (identical(other.archiveFileName, archiveFileName) || + const DeepCollectionEquality().equals( + other.archiveFileName, + archiveFileName, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(archiveFileName) ^ + runtimeType.hashCode; +} + +extension $BackupRestoreRequestDtoExtension on BackupRestoreRequestDto { + BackupRestoreRequestDto copyWith({String? archiveFileName}) { + return BackupRestoreRequestDto( + archiveFileName: archiveFileName ?? this.archiveFileName, + ); + } + + BackupRestoreRequestDto copyWithWrapped({Wrapped? archiveFileName}) { + return BackupRestoreRequestDto( + archiveFileName: (archiveFileName != null + ? archiveFileName.value + : this.archiveFileName), + ); + } +} + @JsonSerializable(explicitToJson: true) class BaseItemDto { const BaseItemDto({ @@ -19766,9 +20297,12 @@ class BaseItemDto { name: 'MediaType', includeIfNull: false, toJson: mediaTypeNullableToJson, - fromJson: mediaTypeNullableFromJson, + fromJson: mediaTypeMediaTypeNullableFromJson, ) final enums.MediaType? mediaType; + static enums.MediaType? mediaTypeMediaTypeNullableFromJson(Object? value) => + mediaTypeNullableFromJson(value, enums.MediaType.unknown); + @JsonKey(name: 'EndDate', includeIfNull: false) final DateTime? endDate; @JsonKey( @@ -21667,9 +22201,12 @@ class BaseItemPerson { name: 'Type', includeIfNull: false, toJson: personKindNullableToJson, - fromJson: personKindNullableFromJson, + fromJson: personKindTypeNullableFromJson, ) final enums.PersonKind? type; + static enums.PersonKind? personKindTypeNullableFromJson(Object? value) => + personKindNullableFromJson(value, enums.PersonKind.unknown); + @JsonKey(name: 'PrimaryImageTag', includeIfNull: false) final String? primaryImageTag; @JsonKey(name: 'ImageBlurHashes', includeIfNull: false) @@ -22355,18 +22892,18 @@ extension $BoxSetInfoRemoteSearchQueryExtension on BoxSetInfoRemoteSearchQuery { } @JsonSerializable(explicitToJson: true) -class BrandingOptions { - const BrandingOptions({ +class BrandingOptionsDto { + const BrandingOptionsDto({ this.loginDisclaimer, this.customCss, this.splashscreenEnabled, }); - factory BrandingOptions.fromJson(Map json) => - _$BrandingOptionsFromJson(json); + factory BrandingOptionsDto.fromJson(Map json) => + _$BrandingOptionsDtoFromJson(json); - static const toJsonFactory = _$BrandingOptionsToJson; - Map toJson() => _$BrandingOptionsToJson(this); + static const toJsonFactory = _$BrandingOptionsDtoToJson; + Map toJson() => _$BrandingOptionsDtoToJson(this); @JsonKey(name: 'LoginDisclaimer', includeIfNull: false) final String? loginDisclaimer; @@ -22374,12 +22911,12 @@ class BrandingOptions { final String? customCss; @JsonKey(name: 'SplashscreenEnabled', includeIfNull: false) final bool? splashscreenEnabled; - static const fromJsonFactory = _$BrandingOptionsFromJson; + static const fromJsonFactory = _$BrandingOptionsDtoFromJson; @override bool operator ==(Object other) { return identical(this, other) || - (other is BrandingOptions && + (other is BrandingOptionsDto && (identical(other.loginDisclaimer, loginDisclaimer) || const DeepCollectionEquality().equals( other.loginDisclaimer, @@ -22408,25 +22945,25 @@ class BrandingOptions { runtimeType.hashCode; } -extension $BrandingOptionsExtension on BrandingOptions { - BrandingOptions copyWith({ +extension $BrandingOptionsDtoExtension on BrandingOptionsDto { + BrandingOptionsDto copyWith({ String? loginDisclaimer, String? customCss, bool? splashscreenEnabled, }) { - return BrandingOptions( + return BrandingOptionsDto( loginDisclaimer: loginDisclaimer ?? this.loginDisclaimer, customCss: customCss ?? this.customCss, splashscreenEnabled: splashscreenEnabled ?? this.splashscreenEnabled, ); } - BrandingOptions copyWithWrapped({ + BrandingOptionsDto copyWithWrapped({ Wrapped? loginDisclaimer, Wrapped? customCss, Wrapped? splashscreenEnabled, }) { - return BrandingOptions( + return BrandingOptionsDto( loginDisclaimer: (loginDisclaimer != null ? loginDisclaimer.value : this.loginDisclaimer), @@ -24156,6 +24693,317 @@ extension $CultureDtoExtension on CultureDto { } } +@JsonSerializable(explicitToJson: true) +class CustomDatabaseOption { + const CustomDatabaseOption({this.key, this.$Value}); + + factory CustomDatabaseOption.fromJson(Map json) => + _$CustomDatabaseOptionFromJson(json); + + static const toJsonFactory = _$CustomDatabaseOptionToJson; + Map toJson() => _$CustomDatabaseOptionToJson(this); + + @JsonKey(name: 'Key', includeIfNull: false) + final String? key; + @JsonKey(name: 'Value', includeIfNull: false) + final String? $Value; + static const fromJsonFactory = _$CustomDatabaseOptionFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is CustomDatabaseOption && + (identical(other.key, key) || + const DeepCollectionEquality().equals(other.key, key)) && + (identical(other.$Value, $Value) || + const DeepCollectionEquality().equals(other.$Value, $Value))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(key) ^ + const DeepCollectionEquality().hash($Value) ^ + runtimeType.hashCode; +} + +extension $CustomDatabaseOptionExtension on CustomDatabaseOption { + CustomDatabaseOption copyWith({String? key, String? $Value}) { + return CustomDatabaseOption( + key: key ?? this.key, + $Value: $Value ?? this.$Value, + ); + } + + CustomDatabaseOption copyWithWrapped({ + Wrapped? key, + Wrapped? $Value, + }) { + return CustomDatabaseOption( + key: (key != null ? key.value : this.key), + $Value: ($Value != null ? $Value.value : this.$Value), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class CustomDatabaseOptions { + const CustomDatabaseOptions({ + this.pluginName, + this.pluginAssembly, + this.connectionString, + this.options, + }); + + factory CustomDatabaseOptions.fromJson(Map json) => + _$CustomDatabaseOptionsFromJson(json); + + static const toJsonFactory = _$CustomDatabaseOptionsToJson; + Map toJson() => _$CustomDatabaseOptionsToJson(this); + + @JsonKey(name: 'PluginName', includeIfNull: false) + final String? pluginName; + @JsonKey(name: 'PluginAssembly', includeIfNull: false) + final String? pluginAssembly; + @JsonKey(name: 'ConnectionString', includeIfNull: false) + final String? connectionString; + @JsonKey( + name: 'Options', + includeIfNull: false, + defaultValue: [], + ) + final List? options; + static const fromJsonFactory = _$CustomDatabaseOptionsFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is CustomDatabaseOptions && + (identical(other.pluginName, pluginName) || + const DeepCollectionEquality().equals( + other.pluginName, + pluginName, + )) && + (identical(other.pluginAssembly, pluginAssembly) || + const DeepCollectionEquality().equals( + other.pluginAssembly, + pluginAssembly, + )) && + (identical(other.connectionString, connectionString) || + const DeepCollectionEquality().equals( + other.connectionString, + connectionString, + )) && + (identical(other.options, options) || + const DeepCollectionEquality().equals(other.options, options))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(pluginName) ^ + const DeepCollectionEquality().hash(pluginAssembly) ^ + const DeepCollectionEquality().hash(connectionString) ^ + const DeepCollectionEquality().hash(options) ^ + runtimeType.hashCode; +} + +extension $CustomDatabaseOptionsExtension on CustomDatabaseOptions { + CustomDatabaseOptions copyWith({ + String? pluginName, + String? pluginAssembly, + String? connectionString, + List? options, + }) { + return CustomDatabaseOptions( + pluginName: pluginName ?? this.pluginName, + pluginAssembly: pluginAssembly ?? this.pluginAssembly, + connectionString: connectionString ?? this.connectionString, + options: options ?? this.options, + ); + } + + CustomDatabaseOptions copyWithWrapped({ + Wrapped? pluginName, + Wrapped? pluginAssembly, + Wrapped? connectionString, + Wrapped?>? options, + }) { + return CustomDatabaseOptions( + pluginName: (pluginName != null ? pluginName.value : this.pluginName), + pluginAssembly: (pluginAssembly != null + ? pluginAssembly.value + : this.pluginAssembly), + connectionString: (connectionString != null + ? connectionString.value + : this.connectionString), + options: (options != null ? options.value : this.options), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class CustomQueryData { + const CustomQueryData({this.customQueryString, this.replaceUserId}); + + factory CustomQueryData.fromJson(Map json) => + _$CustomQueryDataFromJson(json); + + static const toJsonFactory = _$CustomQueryDataToJson; + Map toJson() => _$CustomQueryDataToJson(this); + + @JsonKey(name: 'CustomQueryString', includeIfNull: false) + final String? customQueryString; + @JsonKey(name: 'ReplaceUserId', includeIfNull: false) + final bool? replaceUserId; + static const fromJsonFactory = _$CustomQueryDataFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is CustomQueryData && + (identical(other.customQueryString, customQueryString) || + const DeepCollectionEquality().equals( + other.customQueryString, + customQueryString, + )) && + (identical(other.replaceUserId, replaceUserId) || + const DeepCollectionEquality().equals( + other.replaceUserId, + replaceUserId, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(customQueryString) ^ + const DeepCollectionEquality().hash(replaceUserId) ^ + runtimeType.hashCode; +} + +extension $CustomQueryDataExtension on CustomQueryData { + CustomQueryData copyWith({String? customQueryString, bool? replaceUserId}) { + return CustomQueryData( + customQueryString: customQueryString ?? this.customQueryString, + replaceUserId: replaceUserId ?? this.replaceUserId, + ); + } + + CustomQueryData copyWithWrapped({ + Wrapped? customQueryString, + Wrapped? replaceUserId, + }) { + return CustomQueryData( + customQueryString: (customQueryString != null + ? customQueryString.value + : this.customQueryString), + replaceUserId: (replaceUserId != null + ? replaceUserId.value + : this.replaceUserId), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class DatabaseConfigurationOptions { + const DatabaseConfigurationOptions({ + this.databaseType, + this.customProviderOptions, + this.lockingBehavior, + }); + + factory DatabaseConfigurationOptions.fromJson(Map json) => + _$DatabaseConfigurationOptionsFromJson(json); + + static const toJsonFactory = _$DatabaseConfigurationOptionsToJson; + Map toJson() => _$DatabaseConfigurationOptionsToJson(this); + + @JsonKey(name: 'DatabaseType', includeIfNull: false) + final String? databaseType; + @JsonKey(name: 'CustomProviderOptions', includeIfNull: false) + final CustomDatabaseOptions? customProviderOptions; + @JsonKey( + name: 'LockingBehavior', + includeIfNull: false, + toJson: databaseLockingBehaviorTypesNullableToJson, + fromJson: databaseLockingBehaviorTypesNullableFromJson, + ) + final enums.DatabaseLockingBehaviorTypes? lockingBehavior; + static const fromJsonFactory = _$DatabaseConfigurationOptionsFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is DatabaseConfigurationOptions && + (identical(other.databaseType, databaseType) || + const DeepCollectionEquality().equals( + other.databaseType, + databaseType, + )) && + (identical(other.customProviderOptions, customProviderOptions) || + const DeepCollectionEquality().equals( + other.customProviderOptions, + customProviderOptions, + )) && + (identical(other.lockingBehavior, lockingBehavior) || + const DeepCollectionEquality().equals( + other.lockingBehavior, + lockingBehavior, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(databaseType) ^ + const DeepCollectionEquality().hash(customProviderOptions) ^ + const DeepCollectionEquality().hash(lockingBehavior) ^ + runtimeType.hashCode; +} + +extension $DatabaseConfigurationOptionsExtension + on DatabaseConfigurationOptions { + DatabaseConfigurationOptions copyWith({ + String? databaseType, + CustomDatabaseOptions? customProviderOptions, + enums.DatabaseLockingBehaviorTypes? lockingBehavior, + }) { + return DatabaseConfigurationOptions( + databaseType: databaseType ?? this.databaseType, + customProviderOptions: + customProviderOptions ?? this.customProviderOptions, + lockingBehavior: lockingBehavior ?? this.lockingBehavior, + ); + } + + DatabaseConfigurationOptions copyWithWrapped({ + Wrapped? databaseType, + Wrapped? customProviderOptions, + Wrapped? lockingBehavior, + }) { + return DatabaseConfigurationOptions( + databaseType: (databaseType != null + ? databaseType.value + : this.databaseType), + customProviderOptions: (customProviderOptions != null + ? customProviderOptions.value + : this.customProviderOptions), + lockingBehavior: (lockingBehavior != null + ? lockingBehavior.value + : this.lockingBehavior), + ); + } +} + @JsonSerializable(explicitToJson: true) class DefaultDirectoryBrowserInfoDto { const DefaultDirectoryBrowserInfoDto({this.path}); @@ -26000,7 +26848,7 @@ extension $EndPointInfoExtension on EndPointInfo { @JsonSerializable(explicitToJson: true) class ExternalIdInfo { - const ExternalIdInfo({this.name, this.key, this.type, this.urlFormatString}); + const ExternalIdInfo({this.name, this.key, this.type}); factory ExternalIdInfo.fromJson(Map json) => _$ExternalIdInfoFromJson(json); @@ -26019,9 +26867,6 @@ class ExternalIdInfo { fromJson: externalIdMediaTypeNullableFromJson, ) final enums.ExternalIdMediaType? type; - @JsonKey(name: 'UrlFormatString', includeIfNull: false) - @deprecated - final String? urlFormatString; static const fromJsonFactory = _$ExternalIdInfoFromJson; @override @@ -26033,12 +26878,7 @@ class ExternalIdInfo { (identical(other.key, key) || const DeepCollectionEquality().equals(other.key, key)) && (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.urlFormatString, urlFormatString) || - const DeepCollectionEquality().equals( - other.urlFormatString, - urlFormatString, - ))); + const DeepCollectionEquality().equals(other.type, type))); } @override @@ -26049,7 +26889,6 @@ class ExternalIdInfo { const DeepCollectionEquality().hash(name) ^ const DeepCollectionEquality().hash(key) ^ const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(urlFormatString) ^ runtimeType.hashCode; } @@ -26058,13 +26897,11 @@ extension $ExternalIdInfoExtension on ExternalIdInfo { String? name, String? key, enums.ExternalIdMediaType? type, - String? urlFormatString, }) { return ExternalIdInfo( name: name ?? this.name, key: key ?? this.key, type: type ?? this.type, - urlFormatString: urlFormatString ?? this.urlFormatString, ); } @@ -26072,15 +26909,11 @@ extension $ExternalIdInfoExtension on ExternalIdInfo { Wrapped? name, Wrapped? key, Wrapped? type, - Wrapped? urlFormatString, }) { return ExternalIdInfo( name: (name != null ? name.value : this.name), key: (key != null ? key.value : this.key), type: (type != null ? type.value : this.type), - urlFormatString: (urlFormatString != null - ? urlFormatString.value - : this.urlFormatString), ); } } @@ -26206,6 +27039,109 @@ extension $FileSystemEntryInfoExtension on FileSystemEntryInfo { } } +@JsonSerializable(explicitToJson: true) +class FolderStorageDto { + const FolderStorageDto({ + this.path, + this.freeSpace, + this.usedSpace, + this.storageType, + this.deviceId, + }); + + factory FolderStorageDto.fromJson(Map json) => + _$FolderStorageDtoFromJson(json); + + static const toJsonFactory = _$FolderStorageDtoToJson; + Map toJson() => _$FolderStorageDtoToJson(this); + + @JsonKey(name: 'Path', includeIfNull: false) + final String? path; + @JsonKey(name: 'FreeSpace', includeIfNull: false) + final int? freeSpace; + @JsonKey(name: 'UsedSpace', includeIfNull: false) + final int? usedSpace; + @JsonKey(name: 'StorageType', includeIfNull: false) + final String? storageType; + @JsonKey(name: 'DeviceId', includeIfNull: false) + final String? deviceId; + static const fromJsonFactory = _$FolderStorageDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is FolderStorageDto && + (identical(other.path, path) || + const DeepCollectionEquality().equals(other.path, path)) && + (identical(other.freeSpace, freeSpace) || + const DeepCollectionEquality().equals( + other.freeSpace, + freeSpace, + )) && + (identical(other.usedSpace, usedSpace) || + const DeepCollectionEquality().equals( + other.usedSpace, + usedSpace, + )) && + (identical(other.storageType, storageType) || + const DeepCollectionEquality().equals( + other.storageType, + storageType, + )) && + (identical(other.deviceId, deviceId) || + const DeepCollectionEquality().equals( + other.deviceId, + deviceId, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(path) ^ + const DeepCollectionEquality().hash(freeSpace) ^ + const DeepCollectionEquality().hash(usedSpace) ^ + const DeepCollectionEquality().hash(storageType) ^ + const DeepCollectionEquality().hash(deviceId) ^ + runtimeType.hashCode; +} + +extension $FolderStorageDtoExtension on FolderStorageDto { + FolderStorageDto copyWith({ + String? path, + int? freeSpace, + int? usedSpace, + String? storageType, + String? deviceId, + }) { + return FolderStorageDto( + path: path ?? this.path, + freeSpace: freeSpace ?? this.freeSpace, + usedSpace: usedSpace ?? this.usedSpace, + storageType: storageType ?? this.storageType, + deviceId: deviceId ?? this.deviceId, + ); + } + + FolderStorageDto copyWithWrapped({ + Wrapped? path, + Wrapped? freeSpace, + Wrapped? usedSpace, + Wrapped? storageType, + Wrapped? deviceId, + }) { + return FolderStorageDto( + path: (path != null ? path.value : this.path), + freeSpace: (freeSpace != null ? freeSpace.value : this.freeSpace), + usedSpace: (usedSpace != null ? usedSpace.value : this.usedSpace), + storageType: (storageType != null ? storageType.value : this.storageType), + deviceId: (deviceId != null ? deviceId.value : this.deviceId), + ); + } +} + @JsonSerializable(explicitToJson: true) class FontFile { const FontFile({this.name, this.size, this.dateCreated, this.dateModified}); @@ -27240,81 +28176,6 @@ extension $GroupInfoDtoExtension on GroupInfoDto { } } -@JsonSerializable(explicitToJson: true) -class GroupInfoDtoGroupUpdate { - const GroupInfoDtoGroupUpdate({this.groupId, this.type, this.data}); - - factory GroupInfoDtoGroupUpdate.fromJson(Map json) => - _$GroupInfoDtoGroupUpdateFromJson(json); - - static const toJsonFactory = _$GroupInfoDtoGroupUpdateToJson; - Map toJson() => _$GroupInfoDtoGroupUpdateToJson(this); - - @JsonKey(name: 'GroupId', includeIfNull: false) - final String? groupId; - @JsonKey( - name: 'Type', - includeIfNull: false, - toJson: groupUpdateTypeNullableToJson, - fromJson: groupUpdateTypeNullableFromJson, - ) - final enums.GroupUpdateType? type; - @JsonKey(name: 'Data', includeIfNull: false) - final GroupInfoDto? data; - static const fromJsonFactory = _$GroupInfoDtoGroupUpdateFromJson; - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is GroupInfoDtoGroupUpdate && - (identical(other.groupId, groupId) || - const DeepCollectionEquality().equals( - other.groupId, - groupId, - )) && - (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.data, data) || - const DeepCollectionEquality().equals(other.data, data))); - } - - @override - String toString() => jsonEncode(this); - - @override - int get hashCode => - const DeepCollectionEquality().hash(groupId) ^ - const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(data) ^ - runtimeType.hashCode; -} - -extension $GroupInfoDtoGroupUpdateExtension on GroupInfoDtoGroupUpdate { - GroupInfoDtoGroupUpdate copyWith({ - String? groupId, - enums.GroupUpdateType? type, - GroupInfoDto? data, - }) { - return GroupInfoDtoGroupUpdate( - groupId: groupId ?? this.groupId, - type: type ?? this.type, - data: data ?? this.data, - ); - } - - GroupInfoDtoGroupUpdate copyWithWrapped({ - Wrapped? groupId, - Wrapped? type, - Wrapped? data, - }) { - return GroupInfoDtoGroupUpdate( - groupId: (groupId != null ? groupId.value : this.groupId), - type: (type != null ? type.value : this.type), - data: (data != null ? data.value : this.data), - ); - } -} - @JsonSerializable(explicitToJson: true) class GroupStateUpdate { const GroupStateUpdate({this.state, this.reason}); @@ -27383,84 +28244,9 @@ extension $GroupStateUpdateExtension on GroupStateUpdate { } } -@JsonSerializable(explicitToJson: true) -class GroupStateUpdateGroupUpdate { - const GroupStateUpdateGroupUpdate({this.groupId, this.type, this.data}); - - factory GroupStateUpdateGroupUpdate.fromJson(Map json) => - _$GroupStateUpdateGroupUpdateFromJson(json); - - static const toJsonFactory = _$GroupStateUpdateGroupUpdateToJson; - Map toJson() => _$GroupStateUpdateGroupUpdateToJson(this); - - @JsonKey(name: 'GroupId', includeIfNull: false) - final String? groupId; - @JsonKey( - name: 'Type', - includeIfNull: false, - toJson: groupUpdateTypeNullableToJson, - fromJson: groupUpdateTypeNullableFromJson, - ) - final enums.GroupUpdateType? type; - @JsonKey(name: 'Data', includeIfNull: false) - final GroupStateUpdate? data; - static const fromJsonFactory = _$GroupStateUpdateGroupUpdateFromJson; - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is GroupStateUpdateGroupUpdate && - (identical(other.groupId, groupId) || - const DeepCollectionEquality().equals( - other.groupId, - groupId, - )) && - (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.data, data) || - const DeepCollectionEquality().equals(other.data, data))); - } - - @override - String toString() => jsonEncode(this); - - @override - int get hashCode => - const DeepCollectionEquality().hash(groupId) ^ - const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(data) ^ - runtimeType.hashCode; -} - -extension $GroupStateUpdateGroupUpdateExtension on GroupStateUpdateGroupUpdate { - GroupStateUpdateGroupUpdate copyWith({ - String? groupId, - enums.GroupUpdateType? type, - GroupStateUpdate? data, - }) { - return GroupStateUpdateGroupUpdate( - groupId: groupId ?? this.groupId, - type: type ?? this.type, - data: data ?? this.data, - ); - } - - GroupStateUpdateGroupUpdate copyWithWrapped({ - Wrapped? groupId, - Wrapped? type, - Wrapped? data, - }) { - return GroupStateUpdateGroupUpdate( - groupId: (groupId != null ? groupId.value : this.groupId), - type: (type != null ? type.value : this.type), - data: (data != null ? data.value : this.data), - ); - } -} - @JsonSerializable(explicitToJson: true) class GroupUpdate { - const GroupUpdate({this.groupId, this.type}); + const GroupUpdate(); factory GroupUpdate.fromJson(Map json) => _$GroupUpdateFromJson(json); @@ -27468,57 +28254,13 @@ class GroupUpdate { static const toJsonFactory = _$GroupUpdateToJson; Map toJson() => _$GroupUpdateToJson(this); - @JsonKey(name: 'GroupId', includeIfNull: false) - final String? groupId; - @JsonKey( - name: 'Type', - includeIfNull: false, - toJson: groupUpdateTypeNullableToJson, - fromJson: groupUpdateTypeNullableFromJson, - ) - final enums.GroupUpdateType? type; static const fromJsonFactory = _$GroupUpdateFromJson; - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is GroupUpdate && - (identical(other.groupId, groupId) || - const DeepCollectionEquality().equals( - other.groupId, - groupId, - )) && - (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type))); - } - @override String toString() => jsonEncode(this); @override - int get hashCode => - const DeepCollectionEquality().hash(groupId) ^ - const DeepCollectionEquality().hash(type) ^ - runtimeType.hashCode; -} - -extension $GroupUpdateExtension on GroupUpdate { - GroupUpdate copyWith({String? groupId, enums.GroupUpdateType? type}) { - return GroupUpdate( - groupId: groupId ?? this.groupId, - type: type ?? this.type, - ); - } - - GroupUpdate copyWithWrapped({ - Wrapped? groupId, - Wrapped? type, - }) { - return GroupUpdate( - groupId: (groupId != null ? groupId.value : this.groupId), - type: (type != null ? type.value : this.type), - ); - } + int get hashCode => runtimeType.hashCode; } @JsonSerializable(explicitToJson: true) @@ -28659,7 +29401,7 @@ class LibraryOptions { this.disabledSubtitleFetchers, this.subtitleFetcherOrder, this.disabledMediaSegmentProviders, - this.mediaSegmentProvideOrder, + this.mediaSegmentProviderOrder, this.skipSubtitlesIfEmbeddedSubtitlesPresent, this.skipSubtitlesIfAudioTrackMatches, this.subtitleDownloadLanguages, @@ -28767,11 +29509,11 @@ class LibraryOptions { ) final List? disabledMediaSegmentProviders; @JsonKey( - name: 'MediaSegmentProvideOrder', + name: 'MediaSegmentProviderOrder', includeIfNull: false, defaultValue: [], ) - final List? mediaSegmentProvideOrder; + final List? mediaSegmentProviderOrder; @JsonKey( name: 'SkipSubtitlesIfEmbeddedSubtitlesPresent', includeIfNull: false, @@ -29026,12 +29768,12 @@ class LibraryOptions { disabledMediaSegmentProviders, )) && (identical( - other.mediaSegmentProvideOrder, - mediaSegmentProvideOrder, + other.mediaSegmentProviderOrder, + mediaSegmentProviderOrder, ) || const DeepCollectionEquality().equals( - other.mediaSegmentProvideOrder, - mediaSegmentProvideOrder, + other.mediaSegmentProviderOrder, + mediaSegmentProviderOrder, )) && (identical( other.skipSubtitlesIfEmbeddedSubtitlesPresent, @@ -29167,7 +29909,7 @@ class LibraryOptions { const DeepCollectionEquality().hash(disabledSubtitleFetchers) ^ const DeepCollectionEquality().hash(subtitleFetcherOrder) ^ const DeepCollectionEquality().hash(disabledMediaSegmentProviders) ^ - const DeepCollectionEquality().hash(mediaSegmentProvideOrder) ^ + const DeepCollectionEquality().hash(mediaSegmentProviderOrder) ^ const DeepCollectionEquality().hash( skipSubtitlesIfEmbeddedSubtitlesPresent, ) ^ @@ -29216,7 +29958,7 @@ extension $LibraryOptionsExtension on LibraryOptions { List? disabledSubtitleFetchers, List? subtitleFetcherOrder, List? disabledMediaSegmentProviders, - List? mediaSegmentProvideOrder, + List? mediaSegmentProviderOrder, bool? skipSubtitlesIfEmbeddedSubtitlesPresent, bool? skipSubtitlesIfAudioTrackMatches, List? subtitleDownloadLanguages, @@ -29278,8 +30020,8 @@ extension $LibraryOptionsExtension on LibraryOptions { subtitleFetcherOrder: subtitleFetcherOrder ?? this.subtitleFetcherOrder, disabledMediaSegmentProviders: disabledMediaSegmentProviders ?? this.disabledMediaSegmentProviders, - mediaSegmentProvideOrder: - mediaSegmentProvideOrder ?? this.mediaSegmentProvideOrder, + mediaSegmentProviderOrder: + mediaSegmentProviderOrder ?? this.mediaSegmentProviderOrder, skipSubtitlesIfEmbeddedSubtitlesPresent: skipSubtitlesIfEmbeddedSubtitlesPresent ?? this.skipSubtitlesIfEmbeddedSubtitlesPresent, @@ -29338,7 +30080,7 @@ extension $LibraryOptionsExtension on LibraryOptions { Wrapped?>? disabledSubtitleFetchers, Wrapped?>? subtitleFetcherOrder, Wrapped?>? disabledMediaSegmentProviders, - Wrapped?>? mediaSegmentProvideOrder, + Wrapped?>? mediaSegmentProviderOrder, Wrapped? skipSubtitlesIfEmbeddedSubtitlesPresent, Wrapped? skipSubtitlesIfAudioTrackMatches, Wrapped?>? subtitleDownloadLanguages, @@ -29430,9 +30172,9 @@ extension $LibraryOptionsExtension on LibraryOptions { disabledMediaSegmentProviders: (disabledMediaSegmentProviders != null ? disabledMediaSegmentProviders.value : this.disabledMediaSegmentProviders), - mediaSegmentProvideOrder: (mediaSegmentProvideOrder != null - ? mediaSegmentProvideOrder.value - : this.mediaSegmentProvideOrder), + mediaSegmentProviderOrder: (mediaSegmentProviderOrder != null + ? mediaSegmentProviderOrder.value + : this.mediaSegmentProviderOrder), skipSubtitlesIfEmbeddedSubtitlesPresent: (skipSubtitlesIfEmbeddedSubtitlesPresent != null ? skipSubtitlesIfEmbeddedSubtitlesPresent.value @@ -29492,6 +30234,7 @@ class LibraryOptionsResultDto { this.metadataReaders, this.subtitleFetchers, this.lyricFetchers, + this.mediaSegmentProviders, this.typeOptions, }); @@ -29525,6 +30268,12 @@ class LibraryOptionsResultDto { defaultValue: [], ) final List? lyricFetchers; + @JsonKey( + name: 'MediaSegmentProviders', + includeIfNull: false, + defaultValue: [], + ) + final List? mediaSegmentProviders; @JsonKey( name: 'TypeOptions', includeIfNull: false, @@ -29557,6 +30306,11 @@ class LibraryOptionsResultDto { other.lyricFetchers, lyricFetchers, )) && + (identical(other.mediaSegmentProviders, mediaSegmentProviders) || + const DeepCollectionEquality().equals( + other.mediaSegmentProviders, + mediaSegmentProviders, + )) && (identical(other.typeOptions, typeOptions) || const DeepCollectionEquality().equals( other.typeOptions, @@ -29573,6 +30327,7 @@ class LibraryOptionsResultDto { const DeepCollectionEquality().hash(metadataReaders) ^ const DeepCollectionEquality().hash(subtitleFetchers) ^ const DeepCollectionEquality().hash(lyricFetchers) ^ + const DeepCollectionEquality().hash(mediaSegmentProviders) ^ const DeepCollectionEquality().hash(typeOptions) ^ runtimeType.hashCode; } @@ -29583,6 +30338,7 @@ extension $LibraryOptionsResultDtoExtension on LibraryOptionsResultDto { List? metadataReaders, List? subtitleFetchers, List? lyricFetchers, + List? mediaSegmentProviders, List? typeOptions, }) { return LibraryOptionsResultDto( @@ -29590,6 +30346,8 @@ extension $LibraryOptionsResultDtoExtension on LibraryOptionsResultDto { metadataReaders: metadataReaders ?? this.metadataReaders, subtitleFetchers: subtitleFetchers ?? this.subtitleFetchers, lyricFetchers: lyricFetchers ?? this.lyricFetchers, + mediaSegmentProviders: + mediaSegmentProviders ?? this.mediaSegmentProviders, typeOptions: typeOptions ?? this.typeOptions, ); } @@ -29599,6 +30357,7 @@ extension $LibraryOptionsResultDtoExtension on LibraryOptionsResultDto { Wrapped?>? metadataReaders, Wrapped?>? subtitleFetchers, Wrapped?>? lyricFetchers, + Wrapped?>? mediaSegmentProviders, Wrapped?>? typeOptions, }) { return LibraryOptionsResultDto( @@ -29614,11 +30373,85 @@ extension $LibraryOptionsResultDtoExtension on LibraryOptionsResultDto { lyricFetchers: (lyricFetchers != null ? lyricFetchers.value : this.lyricFetchers), + mediaSegmentProviders: (mediaSegmentProviders != null + ? mediaSegmentProviders.value + : this.mediaSegmentProviders), typeOptions: (typeOptions != null ? typeOptions.value : this.typeOptions), ); } } +@JsonSerializable(explicitToJson: true) +class LibraryStorageDto { + const LibraryStorageDto({this.id, this.name, this.folders}); + + factory LibraryStorageDto.fromJson(Map json) => + _$LibraryStorageDtoFromJson(json); + + static const toJsonFactory = _$LibraryStorageDtoToJson; + Map toJson() => _$LibraryStorageDtoToJson(this); + + @JsonKey(name: 'Id', includeIfNull: false) + final String? id; + @JsonKey(name: 'Name', includeIfNull: false) + final String? name; + @JsonKey( + name: 'Folders', + includeIfNull: false, + defaultValue: [], + ) + final List? folders; + static const fromJsonFactory = _$LibraryStorageDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is LibraryStorageDto && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.folders, folders) || + const DeepCollectionEquality().equals(other.folders, folders))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(folders) ^ + runtimeType.hashCode; +} + +extension $LibraryStorageDtoExtension on LibraryStorageDto { + LibraryStorageDto copyWith({ + String? id, + String? name, + List? folders, + }) { + return LibraryStorageDto( + id: id ?? this.id, + name: name ?? this.name, + folders: folders ?? this.folders, + ); + } + + LibraryStorageDto copyWithWrapped({ + Wrapped? id, + Wrapped? name, + Wrapped?>? folders, + }) { + return LibraryStorageDto( + id: (id != null ? id.value : this.id), + name: (name != null ? name.value : this.name), + folders: (folders != null ? folders.value : this.folders), + ); + } +} + @JsonSerializable(explicitToJson: true) class LibraryTypeOptionsDto { const LibraryTypeOptionsDto({ @@ -30911,6 +31744,67 @@ extension $LogFileExtension on LogFile { } } +@JsonSerializable(explicitToJson: true) +class LoginInfoInput { + const LoginInfoInput({required this.username, required this.password}); + + factory LoginInfoInput.fromJson(Map json) => + _$LoginInfoInputFromJson(json); + + static const toJsonFactory = _$LoginInfoInputToJson; + Map toJson() => _$LoginInfoInputToJson(this); + + @JsonKey(name: 'Username', includeIfNull: false) + final String username; + @JsonKey(name: 'Password', includeIfNull: false) + final String password; + static const fromJsonFactory = _$LoginInfoInputFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is LoginInfoInput && + (identical(other.username, username) || + const DeepCollectionEquality().equals( + other.username, + username, + )) && + (identical(other.password, password) || + const DeepCollectionEquality().equals( + other.password, + password, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(username) ^ + const DeepCollectionEquality().hash(password) ^ + runtimeType.hashCode; +} + +extension $LoginInfoInputExtension on LoginInfoInput { + LoginInfoInput copyWith({String? username, String? password}) { + return LoginInfoInput( + username: username ?? this.username, + password: password ?? this.password, + ); + } + + LoginInfoInput copyWithWrapped({ + Wrapped? username, + Wrapped? password, + }) { + return LoginInfoInput( + username: (username != null ? username.value : this.username), + password: (password != null ? password.value : this.password), + ); + } +} + @JsonSerializable(explicitToJson: true) class LyricDto { const LyricDto({this.metadata, this.lyrics}); @@ -30971,7 +31865,7 @@ extension $LyricDtoExtension on LyricDto { @JsonSerializable(explicitToJson: true) class LyricLine { - const LyricLine({this.text, this.start}); + const LyricLine({this.text, this.start, this.cues}); factory LyricLine.fromJson(Map json) => _$LyricLineFromJson(json); @@ -30983,6 +31877,8 @@ class LyricLine { final String? text; @JsonKey(name: 'Start', includeIfNull: false) final int? start; + @JsonKey(name: 'Cues', includeIfNull: false, defaultValue: []) + final List? cues; static const fromJsonFactory = _$LyricLineFromJson; @override @@ -30992,7 +31888,9 @@ class LyricLine { (identical(other.text, text) || const DeepCollectionEquality().equals(other.text, text)) && (identical(other.start, start) || - const DeepCollectionEquality().equals(other.start, start))); + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.cues, cues) || + const DeepCollectionEquality().equals(other.cues, cues))); } @override @@ -31002,18 +31900,110 @@ class LyricLine { int get hashCode => const DeepCollectionEquality().hash(text) ^ const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(cues) ^ runtimeType.hashCode; } extension $LyricLineExtension on LyricLine { - LyricLine copyWith({String? text, int? start}) { - return LyricLine(text: text ?? this.text, start: start ?? this.start); + LyricLine copyWith({String? text, int? start, List? cues}) { + return LyricLine( + text: text ?? this.text, + start: start ?? this.start, + cues: cues ?? this.cues, + ); } - LyricLine copyWithWrapped({Wrapped? text, Wrapped? start}) { + LyricLine copyWithWrapped({ + Wrapped? text, + Wrapped? start, + Wrapped?>? cues, + }) { return LyricLine( text: (text != null ? text.value : this.text), start: (start != null ? start.value : this.start), + cues: (cues != null ? cues.value : this.cues), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class LyricLineCue { + const LyricLineCue({this.position, this.endPosition, this.start, this.end}); + + factory LyricLineCue.fromJson(Map json) => + _$LyricLineCueFromJson(json); + + static const toJsonFactory = _$LyricLineCueToJson; + Map toJson() => _$LyricLineCueToJson(this); + + @JsonKey(name: 'Position', includeIfNull: false) + final int? position; + @JsonKey(name: 'EndPosition', includeIfNull: false) + final int? endPosition; + @JsonKey(name: 'Start', includeIfNull: false) + final int? start; + @JsonKey(name: 'End', includeIfNull: false) + final int? end; + static const fromJsonFactory = _$LyricLineCueFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is LyricLineCue && + (identical(other.position, position) || + const DeepCollectionEquality().equals( + other.position, + position, + )) && + (identical(other.endPosition, endPosition) || + const DeepCollectionEquality().equals( + other.endPosition, + endPosition, + )) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(position) ^ + const DeepCollectionEquality().hash(endPosition) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + runtimeType.hashCode; +} + +extension $LyricLineCueExtension on LyricLineCue { + LyricLineCue copyWith({ + int? position, + int? endPosition, + int? start, + int? end, + }) { + return LyricLineCue( + position: position ?? this.position, + endPosition: endPosition ?? this.endPosition, + start: start ?? this.start, + end: end ?? this.end, + ); + } + + LyricLineCue copyWithWrapped({ + Wrapped? position, + Wrapped? endPosition, + Wrapped? start, + Wrapped? end, + }) { + return LyricLineCue( + position: (position != null ? position.value : this.position), + endPosition: (endPosition != null ? endPosition.value : this.endPosition), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), ); } } @@ -31424,9 +32414,13 @@ class MediaSegmentDto { name: 'Type', includeIfNull: false, toJson: mediaSegmentTypeNullableToJson, - fromJson: mediaSegmentTypeNullableFromJson, + fromJson: mediaSegmentTypeTypeNullableFromJson, ) final enums.MediaSegmentType? type; + static enums.MediaSegmentType? mediaSegmentTypeTypeNullableFromJson( + Object? value, + ) => mediaSegmentTypeNullableFromJson(value, enums.MediaSegmentType.unknown); + @JsonKey(name: 'StartTicks', includeIfNull: false) final int? startTicks; @JsonKey(name: 'EndTicks', includeIfNull: false) @@ -32336,6 +33330,7 @@ class MediaStream { this.timeBase, this.codecTimeBase, this.title, + this.hdr10PlusPresentFlag, this.videoRange, this.videoRangeType, this.videoDoViTitle, @@ -32427,20 +33422,30 @@ class MediaStream { final String? codecTimeBase; @JsonKey(name: 'Title', includeIfNull: false) final String? title; + @JsonKey(name: 'Hdr10PlusPresentFlag', includeIfNull: false) + final bool? hdr10PlusPresentFlag; @JsonKey( name: 'VideoRange', includeIfNull: false, toJson: videoRangeNullableToJson, - fromJson: videoRangeNullableFromJson, + fromJson: videoRangeVideoRangeNullableFromJson, ) final enums.VideoRange? videoRange; + static enums.VideoRange? videoRangeVideoRangeNullableFromJson( + Object? value, + ) => videoRangeNullableFromJson(value, enums.VideoRange.unknown); + @JsonKey( name: 'VideoRangeType', includeIfNull: false, toJson: videoRangeTypeNullableToJson, - fromJson: videoRangeTypeNullableFromJson, + fromJson: videoRangeTypeVideoRangeTypeNullableFromJson, ) final enums.VideoRangeType? videoRangeType; + static enums.VideoRangeType? videoRangeTypeVideoRangeTypeNullableFromJson( + Object? value, + ) => videoRangeTypeNullableFromJson(value, enums.VideoRangeType.unknown); + @JsonKey(name: 'VideoDoViTitle', includeIfNull: false) final String? videoDoViTitle; @JsonKey( @@ -32645,6 +33650,11 @@ class MediaStream { )) && (identical(other.title, title) || const DeepCollectionEquality().equals(other.title, title)) && + (identical(other.hdr10PlusPresentFlag, hdr10PlusPresentFlag) || + const DeepCollectionEquality().equals( + other.hdr10PlusPresentFlag, + hdr10PlusPresentFlag, + )) && (identical(other.videoRange, videoRange) || const DeepCollectionEquality().equals( other.videoRange, @@ -32866,6 +33876,7 @@ class MediaStream { const DeepCollectionEquality().hash(timeBase) ^ const DeepCollectionEquality().hash(codecTimeBase) ^ const DeepCollectionEquality().hash(title) ^ + const DeepCollectionEquality().hash(hdr10PlusPresentFlag) ^ const DeepCollectionEquality().hash(videoRange) ^ const DeepCollectionEquality().hash(videoRangeType) ^ const DeepCollectionEquality().hash(videoDoViTitle) ^ @@ -32934,6 +33945,7 @@ extension $MediaStreamExtension on MediaStream { String? timeBase, String? codecTimeBase, String? title, + bool? hdr10PlusPresentFlag, enums.VideoRange? videoRange, enums.VideoRangeType? videoRangeType, String? videoDoViTitle, @@ -33000,6 +34012,7 @@ extension $MediaStreamExtension on MediaStream { timeBase: timeBase ?? this.timeBase, codecTimeBase: codecTimeBase ?? this.codecTimeBase, title: title ?? this.title, + hdr10PlusPresentFlag: hdr10PlusPresentFlag ?? this.hdr10PlusPresentFlag, videoRange: videoRange ?? this.videoRange, videoRangeType: videoRangeType ?? this.videoRangeType, videoDoViTitle: videoDoViTitle ?? this.videoDoViTitle, @@ -33069,6 +34082,7 @@ extension $MediaStreamExtension on MediaStream { Wrapped? timeBase, Wrapped? codecTimeBase, Wrapped? title, + Wrapped? hdr10PlusPresentFlag, Wrapped? videoRange, Wrapped? videoRangeType, Wrapped? videoDoViTitle, @@ -33152,6 +34166,9 @@ extension $MediaStreamExtension on MediaStream { ? codecTimeBase.value : this.codecTimeBase), title: (title != null ? title.value : this.title), + hdr10PlusPresentFlag: (hdr10PlusPresentFlag != null + ? hdr10PlusPresentFlag.value + : this.hdr10PlusPresentFlag), videoRange: (videoRange != null ? videoRange.value : this.videoRange), videoRangeType: (videoRangeType != null ? videoRangeType.value @@ -34695,6 +35712,7 @@ class NetworkConfiguration { @JsonKey(name: 'AutoDiscovery', includeIfNull: false) final bool? autoDiscovery; @JsonKey(name: 'EnableUPnP', includeIfNull: false) + @deprecated final bool? enableUPnP; @JsonKey(name: 'EnableIPv4', includeIfNull: false) final bool? enableIPv4; @@ -35638,7 +36656,7 @@ extension $PackageInfoExtension on PackageInfo { @JsonSerializable(explicitToJson: true) class ParentalRating { - const ParentalRating({this.name, this.$Value}); + const ParentalRating({this.name, this.$Value, this.ratingScore}); factory ParentalRating.fromJson(Map json) => _$ParentalRatingFromJson(json); @@ -35650,6 +36668,8 @@ class ParentalRating { final String? name; @JsonKey(name: 'Value', includeIfNull: false) final int? $Value; + @JsonKey(name: 'RatingScore', includeIfNull: false) + final ParentalRatingScore? ratingScore; static const fromJsonFactory = _$ParentalRatingFromJson; @override @@ -35659,7 +36679,12 @@ class ParentalRating { (identical(other.name, name) || const DeepCollectionEquality().equals(other.name, name)) && (identical(other.$Value, $Value) || - const DeepCollectionEquality().equals(other.$Value, $Value))); + const DeepCollectionEquality().equals(other.$Value, $Value)) && + (identical(other.ratingScore, ratingScore) || + const DeepCollectionEquality().equals( + other.ratingScore, + ratingScore, + ))); } @override @@ -35669,24 +36694,90 @@ class ParentalRating { int get hashCode => const DeepCollectionEquality().hash(name) ^ const DeepCollectionEquality().hash($Value) ^ + const DeepCollectionEquality().hash(ratingScore) ^ runtimeType.hashCode; } extension $ParentalRatingExtension on ParentalRating { - ParentalRating copyWith({String? name, int? $Value}) { + ParentalRating copyWith({ + String? name, + int? $Value, + ParentalRatingScore? ratingScore, + }) { return ParentalRating( name: name ?? this.name, $Value: $Value ?? this.$Value, + ratingScore: ratingScore ?? this.ratingScore, ); } ParentalRating copyWithWrapped({ Wrapped? name, Wrapped? $Value, + Wrapped? ratingScore, }) { return ParentalRating( name: (name != null ? name.value : this.name), $Value: ($Value != null ? $Value.value : this.$Value), + ratingScore: (ratingScore != null ? ratingScore.value : this.ratingScore), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class ParentalRatingScore { + const ParentalRatingScore({this.score, this.subScore}); + + factory ParentalRatingScore.fromJson(Map json) => + _$ParentalRatingScoreFromJson(json); + + static const toJsonFactory = _$ParentalRatingScoreToJson; + Map toJson() => _$ParentalRatingScoreToJson(this); + + @JsonKey(name: 'score', includeIfNull: false) + final int? score; + @JsonKey(name: 'subScore', includeIfNull: false) + final int? subScore; + static const fromJsonFactory = _$ParentalRatingScoreFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is ParentalRatingScore && + (identical(other.score, score) || + const DeepCollectionEquality().equals(other.score, score)) && + (identical(other.subScore, subScore) || + const DeepCollectionEquality().equals( + other.subScore, + subScore, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(score) ^ + const DeepCollectionEquality().hash(subScore) ^ + runtimeType.hashCode; +} + +extension $ParentalRatingScoreExtension on ParentalRatingScore { + ParentalRatingScore copyWith({int? score, int? subScore}) { + return ParentalRatingScore( + score: score ?? this.score, + subScore: subScore ?? this.subScore, + ); + } + + ParentalRatingScore copyWithWrapped({ + Wrapped? score, + Wrapped? subScore, + }) { + return ParentalRatingScore( + score: (score != null ? score.value : this.score), + subScore: (subScore != null ? subScore.value : this.subScore), ); } } @@ -38034,81 +39125,6 @@ extension $PlayQueueUpdateExtension on PlayQueueUpdate { } } -@JsonSerializable(explicitToJson: true) -class PlayQueueUpdateGroupUpdate { - const PlayQueueUpdateGroupUpdate({this.groupId, this.type, this.data}); - - factory PlayQueueUpdateGroupUpdate.fromJson(Map json) => - _$PlayQueueUpdateGroupUpdateFromJson(json); - - static const toJsonFactory = _$PlayQueueUpdateGroupUpdateToJson; - Map toJson() => _$PlayQueueUpdateGroupUpdateToJson(this); - - @JsonKey(name: 'GroupId', includeIfNull: false) - final String? groupId; - @JsonKey( - name: 'Type', - includeIfNull: false, - toJson: groupUpdateTypeNullableToJson, - fromJson: groupUpdateTypeNullableFromJson, - ) - final enums.GroupUpdateType? type; - @JsonKey(name: 'Data', includeIfNull: false) - final PlayQueueUpdate? data; - static const fromJsonFactory = _$PlayQueueUpdateGroupUpdateFromJson; - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is PlayQueueUpdateGroupUpdate && - (identical(other.groupId, groupId) || - const DeepCollectionEquality().equals( - other.groupId, - groupId, - )) && - (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.data, data) || - const DeepCollectionEquality().equals(other.data, data))); - } - - @override - String toString() => jsonEncode(this); - - @override - int get hashCode => - const DeepCollectionEquality().hash(groupId) ^ - const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(data) ^ - runtimeType.hashCode; -} - -extension $PlayQueueUpdateGroupUpdateExtension on PlayQueueUpdateGroupUpdate { - PlayQueueUpdateGroupUpdate copyWith({ - String? groupId, - enums.GroupUpdateType? type, - PlayQueueUpdate? data, - }) { - return PlayQueueUpdateGroupUpdate( - groupId: groupId ?? this.groupId, - type: type ?? this.type, - data: data ?? this.data, - ); - } - - PlayQueueUpdateGroupUpdate copyWithWrapped({ - Wrapped? groupId, - Wrapped? type, - Wrapped? data, - }) { - return PlayQueueUpdateGroupUpdate( - groupId: (groupId != null ? groupId.value : this.groupId), - type: (type != null ? type.value : this.type), - data: (data != null ? data.value : this.data), - ); - } -} - @JsonSerializable(explicitToJson: true) class PlayRequest { const PlayRequest({ @@ -41104,6 +42120,88 @@ extension $RemoveFromPlaylistRequestDtoExtension } } +@JsonSerializable(explicitToJson: true) +class ReportPlaybackOptions { + const ReportPlaybackOptions({ + this.maxDataAge, + this.backupPath, + this.maxBackupFiles, + }); + + factory ReportPlaybackOptions.fromJson(Map json) => + _$ReportPlaybackOptionsFromJson(json); + + static const toJsonFactory = _$ReportPlaybackOptionsToJson; + Map toJson() => _$ReportPlaybackOptionsToJson(this); + + @JsonKey(name: 'MaxDataAge', includeIfNull: false) + final int? maxDataAge; + @JsonKey(name: 'BackupPath', includeIfNull: false) + final String? backupPath; + @JsonKey(name: 'MaxBackupFiles', includeIfNull: false) + final int? maxBackupFiles; + static const fromJsonFactory = _$ReportPlaybackOptionsFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is ReportPlaybackOptions && + (identical(other.maxDataAge, maxDataAge) || + const DeepCollectionEquality().equals( + other.maxDataAge, + maxDataAge, + )) && + (identical(other.backupPath, backupPath) || + const DeepCollectionEquality().equals( + other.backupPath, + backupPath, + )) && + (identical(other.maxBackupFiles, maxBackupFiles) || + const DeepCollectionEquality().equals( + other.maxBackupFiles, + maxBackupFiles, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(maxDataAge) ^ + const DeepCollectionEquality().hash(backupPath) ^ + const DeepCollectionEquality().hash(maxBackupFiles) ^ + runtimeType.hashCode; +} + +extension $ReportPlaybackOptionsExtension on ReportPlaybackOptions { + ReportPlaybackOptions copyWith({ + int? maxDataAge, + String? backupPath, + int? maxBackupFiles, + }) { + return ReportPlaybackOptions( + maxDataAge: maxDataAge ?? this.maxDataAge, + backupPath: backupPath ?? this.backupPath, + maxBackupFiles: maxBackupFiles ?? this.maxBackupFiles, + ); + } + + ReportPlaybackOptions copyWithWrapped({ + Wrapped? maxDataAge, + Wrapped? backupPath, + Wrapped? maxBackupFiles, + }) { + return ReportPlaybackOptions( + maxDataAge: (maxDataAge != null ? maxDataAge.value : this.maxDataAge), + backupPath: (backupPath != null ? backupPath.value : this.backupPath), + maxBackupFiles: (maxBackupFiles != null + ? maxBackupFiles.value + : this.maxBackupFiles), + ); + } +} + @JsonSerializable(explicitToJson: true) class RepositoryInfo { const RepositoryInfo({this.name, this.url, this.enabled}); @@ -41639,9 +42737,12 @@ class SearchHint { name: 'MediaType', includeIfNull: false, toJson: mediaTypeNullableToJson, - fromJson: mediaTypeNullableFromJson, + fromJson: mediaTypeMediaTypeNullableFromJson, ) final enums.MediaType? mediaType; + static enums.MediaType? mediaTypeMediaTypeNullableFromJson(Object? value) => + mediaTypeNullableFromJson(value, enums.MediaType.unknown); + @JsonKey(name: 'StartDate', includeIfNull: false) final DateTime? startDate; @JsonKey(name: 'EndDate', includeIfNull: false) @@ -43355,6 +44456,7 @@ class ServerConfiguration { this.inactiveSessionThreshold, this.libraryMonitorDelay, this.libraryUpdateDuration, + this.cacheSize, this.imageSavingConvention, this.metadataOptions, this.skipDeserializationForBasicTypes, @@ -43364,7 +44466,8 @@ class ServerConfiguration { this.contentTypes, this.remoteClientBitrateLimit, this.enableFolderView, - this.enableGroupingIntoCollections, + this.enableGroupingMoviesIntoCollections, + this.enableGroupingShowsIntoCollections, this.displaySpecialsWithinSeasons, this.codecsUsed, this.pluginRepositories, @@ -43377,13 +44480,13 @@ class ServerConfiguration { this.activityLogRetentionDays, this.libraryScanFanoutConcurrency, this.libraryMetadataRefreshConcurrency, - this.removeOldPlugins, this.allowClientLogUpload, this.dummyChapterDuration, this.chapterImageResolution, this.parallelImageEncodingLimit, this.castReceiverApplications, this.trickplayOptions, + this.enableLegacyAuthorization, }); factory ServerConfiguration.fromJson(Map json) => @@ -43454,6 +44557,8 @@ class ServerConfiguration { final int? libraryMonitorDelay; @JsonKey(name: 'LibraryUpdateDuration', includeIfNull: false) final int? libraryUpdateDuration; + @JsonKey(name: 'CacheSize', includeIfNull: false) + final int? cacheSize; @JsonKey( name: 'ImageSavingConvention', includeIfNull: false, @@ -43485,8 +44590,10 @@ class ServerConfiguration { final int? remoteClientBitrateLimit; @JsonKey(name: 'EnableFolderView', includeIfNull: false) final bool? enableFolderView; - @JsonKey(name: 'EnableGroupingIntoCollections', includeIfNull: false) - final bool? enableGroupingIntoCollections; + @JsonKey(name: 'EnableGroupingMoviesIntoCollections', includeIfNull: false) + final bool? enableGroupingMoviesIntoCollections; + @JsonKey(name: 'EnableGroupingShowsIntoCollections', includeIfNull: false) + final bool? enableGroupingShowsIntoCollections; @JsonKey(name: 'DisplaySpecialsWithinSeasons', includeIfNull: false) final bool? displaySpecialsWithinSeasons; @JsonKey(name: 'CodecsUsed', includeIfNull: false, defaultValue: []) @@ -43519,8 +44626,6 @@ class ServerConfiguration { final int? libraryScanFanoutConcurrency; @JsonKey(name: 'LibraryMetadataRefreshConcurrency', includeIfNull: false) final int? libraryMetadataRefreshConcurrency; - @JsonKey(name: 'RemoveOldPlugins', includeIfNull: false) - final bool? removeOldPlugins; @JsonKey(name: 'AllowClientLogUpload', includeIfNull: false) final bool? allowClientLogUpload; @JsonKey(name: 'DummyChapterDuration', includeIfNull: false) @@ -43542,6 +44647,8 @@ class ServerConfiguration { final List? castReceiverApplications; @JsonKey(name: 'TrickplayOptions', includeIfNull: false) final TrickplayOptions? trickplayOptions; + @JsonKey(name: 'EnableLegacyAuthorization', includeIfNull: false) + final bool? enableLegacyAuthorization; static const fromJsonFactory = _$ServerConfigurationFromJson; @override @@ -43694,6 +44801,11 @@ class ServerConfiguration { other.libraryUpdateDuration, libraryUpdateDuration, )) && + (identical(other.cacheSize, cacheSize) || + const DeepCollectionEquality().equals( + other.cacheSize, + cacheSize, + )) && (identical(other.imageSavingConvention, imageSavingConvention) || const DeepCollectionEquality().equals( other.imageSavingConvention, @@ -43746,12 +44858,20 @@ class ServerConfiguration { enableFolderView, )) && (identical( - other.enableGroupingIntoCollections, - enableGroupingIntoCollections, + other.enableGroupingMoviesIntoCollections, + enableGroupingMoviesIntoCollections, ) || const DeepCollectionEquality().equals( - other.enableGroupingIntoCollections, - enableGroupingIntoCollections, + other.enableGroupingMoviesIntoCollections, + enableGroupingMoviesIntoCollections, + )) && + (identical( + other.enableGroupingShowsIntoCollections, + enableGroupingShowsIntoCollections, + ) || + const DeepCollectionEquality().equals( + other.enableGroupingShowsIntoCollections, + enableGroupingShowsIntoCollections, )) && (identical( other.displaySpecialsWithinSeasons, @@ -43837,11 +44957,6 @@ class ServerConfiguration { other.libraryMetadataRefreshConcurrency, libraryMetadataRefreshConcurrency, )) && - (identical(other.removeOldPlugins, removeOldPlugins) || - const DeepCollectionEquality().equals( - other.removeOldPlugins, - removeOldPlugins, - )) && (identical(other.allowClientLogUpload, allowClientLogUpload) || const DeepCollectionEquality().equals( other.allowClientLogUpload, @@ -43877,6 +44992,14 @@ class ServerConfiguration { const DeepCollectionEquality().equals( other.trickplayOptions, trickplayOptions, + )) && + (identical( + other.enableLegacyAuthorization, + enableLegacyAuthorization, + ) || + const DeepCollectionEquality().equals( + other.enableLegacyAuthorization, + enableLegacyAuthorization, ))); } @@ -43910,6 +45033,7 @@ class ServerConfiguration { const DeepCollectionEquality().hash(inactiveSessionThreshold) ^ const DeepCollectionEquality().hash(libraryMonitorDelay) ^ const DeepCollectionEquality().hash(libraryUpdateDuration) ^ + const DeepCollectionEquality().hash(cacheSize) ^ const DeepCollectionEquality().hash(imageSavingConvention) ^ const DeepCollectionEquality().hash(metadataOptions) ^ const DeepCollectionEquality().hash(skipDeserializationForBasicTypes) ^ @@ -43919,7 +45043,8 @@ class ServerConfiguration { const DeepCollectionEquality().hash(contentTypes) ^ const DeepCollectionEquality().hash(remoteClientBitrateLimit) ^ const DeepCollectionEquality().hash(enableFolderView) ^ - const DeepCollectionEquality().hash(enableGroupingIntoCollections) ^ + const DeepCollectionEquality().hash(enableGroupingMoviesIntoCollections) ^ + const DeepCollectionEquality().hash(enableGroupingShowsIntoCollections) ^ const DeepCollectionEquality().hash(displaySpecialsWithinSeasons) ^ const DeepCollectionEquality().hash(codecsUsed) ^ const DeepCollectionEquality().hash(pluginRepositories) ^ @@ -43932,13 +45057,13 @@ class ServerConfiguration { const DeepCollectionEquality().hash(activityLogRetentionDays) ^ const DeepCollectionEquality().hash(libraryScanFanoutConcurrency) ^ const DeepCollectionEquality().hash(libraryMetadataRefreshConcurrency) ^ - const DeepCollectionEquality().hash(removeOldPlugins) ^ const DeepCollectionEquality().hash(allowClientLogUpload) ^ const DeepCollectionEquality().hash(dummyChapterDuration) ^ const DeepCollectionEquality().hash(chapterImageResolution) ^ const DeepCollectionEquality().hash(parallelImageEncodingLimit) ^ const DeepCollectionEquality().hash(castReceiverApplications) ^ const DeepCollectionEquality().hash(trickplayOptions) ^ + const DeepCollectionEquality().hash(enableLegacyAuthorization) ^ runtimeType.hashCode; } @@ -43969,6 +45094,7 @@ extension $ServerConfigurationExtension on ServerConfiguration { int? inactiveSessionThreshold, int? libraryMonitorDelay, int? libraryUpdateDuration, + int? cacheSize, enums.ImageSavingConvention? imageSavingConvention, List? metadataOptions, bool? skipDeserializationForBasicTypes, @@ -43978,7 +45104,8 @@ extension $ServerConfigurationExtension on ServerConfiguration { List? contentTypes, int? remoteClientBitrateLimit, bool? enableFolderView, - bool? enableGroupingIntoCollections, + bool? enableGroupingMoviesIntoCollections, + bool? enableGroupingShowsIntoCollections, bool? displaySpecialsWithinSeasons, List? codecsUsed, List? pluginRepositories, @@ -43991,13 +45118,13 @@ extension $ServerConfigurationExtension on ServerConfiguration { int? activityLogRetentionDays, int? libraryScanFanoutConcurrency, int? libraryMetadataRefreshConcurrency, - bool? removeOldPlugins, bool? allowClientLogUpload, int? dummyChapterDuration, enums.ImageResolution? chapterImageResolution, int? parallelImageEncodingLimit, List? castReceiverApplications, TrickplayOptions? trickplayOptions, + bool? enableLegacyAuthorization, }) { return ServerConfiguration( logFileRetentionDays: logFileRetentionDays ?? this.logFileRetentionDays, @@ -44036,6 +45163,7 @@ extension $ServerConfigurationExtension on ServerConfiguration { libraryMonitorDelay: libraryMonitorDelay ?? this.libraryMonitorDelay, libraryUpdateDuration: libraryUpdateDuration ?? this.libraryUpdateDuration, + cacheSize: cacheSize ?? this.cacheSize, imageSavingConvention: imageSavingConvention ?? this.imageSavingConvention, metadataOptions: metadataOptions ?? this.metadataOptions, @@ -44049,8 +45177,12 @@ extension $ServerConfigurationExtension on ServerConfiguration { remoteClientBitrateLimit: remoteClientBitrateLimit ?? this.remoteClientBitrateLimit, enableFolderView: enableFolderView ?? this.enableFolderView, - enableGroupingIntoCollections: - enableGroupingIntoCollections ?? this.enableGroupingIntoCollections, + enableGroupingMoviesIntoCollections: + enableGroupingMoviesIntoCollections ?? + this.enableGroupingMoviesIntoCollections, + enableGroupingShowsIntoCollections: + enableGroupingShowsIntoCollections ?? + this.enableGroupingShowsIntoCollections, displaySpecialsWithinSeasons: displaySpecialsWithinSeasons ?? this.displaySpecialsWithinSeasons, codecsUsed: codecsUsed ?? this.codecsUsed, @@ -44073,7 +45205,6 @@ extension $ServerConfigurationExtension on ServerConfiguration { libraryMetadataRefreshConcurrency: libraryMetadataRefreshConcurrency ?? this.libraryMetadataRefreshConcurrency, - removeOldPlugins: removeOldPlugins ?? this.removeOldPlugins, allowClientLogUpload: allowClientLogUpload ?? this.allowClientLogUpload, dummyChapterDuration: dummyChapterDuration ?? this.dummyChapterDuration, chapterImageResolution: @@ -44083,6 +45214,8 @@ extension $ServerConfigurationExtension on ServerConfiguration { castReceiverApplications: castReceiverApplications ?? this.castReceiverApplications, trickplayOptions: trickplayOptions ?? this.trickplayOptions, + enableLegacyAuthorization: + enableLegacyAuthorization ?? this.enableLegacyAuthorization, ); } @@ -44112,6 +45245,7 @@ extension $ServerConfigurationExtension on ServerConfiguration { Wrapped? inactiveSessionThreshold, Wrapped? libraryMonitorDelay, Wrapped? libraryUpdateDuration, + Wrapped? cacheSize, Wrapped? imageSavingConvention, Wrapped?>? metadataOptions, Wrapped? skipDeserializationForBasicTypes, @@ -44121,7 +45255,8 @@ extension $ServerConfigurationExtension on ServerConfiguration { Wrapped?>? contentTypes, Wrapped? remoteClientBitrateLimit, Wrapped? enableFolderView, - Wrapped? enableGroupingIntoCollections, + Wrapped? enableGroupingMoviesIntoCollections, + Wrapped? enableGroupingShowsIntoCollections, Wrapped? displaySpecialsWithinSeasons, Wrapped?>? codecsUsed, Wrapped?>? pluginRepositories, @@ -44134,13 +45269,13 @@ extension $ServerConfigurationExtension on ServerConfiguration { Wrapped? activityLogRetentionDays, Wrapped? libraryScanFanoutConcurrency, Wrapped? libraryMetadataRefreshConcurrency, - Wrapped? removeOldPlugins, Wrapped? allowClientLogUpload, Wrapped? dummyChapterDuration, Wrapped? chapterImageResolution, Wrapped? parallelImageEncodingLimit, Wrapped?>? castReceiverApplications, Wrapped? trickplayOptions, + Wrapped? enableLegacyAuthorization, }) { return ServerConfiguration( logFileRetentionDays: (logFileRetentionDays != null @@ -44217,6 +45352,7 @@ extension $ServerConfigurationExtension on ServerConfiguration { libraryUpdateDuration: (libraryUpdateDuration != null ? libraryUpdateDuration.value : this.libraryUpdateDuration), + cacheSize: (cacheSize != null ? cacheSize.value : this.cacheSize), imageSavingConvention: (imageSavingConvention != null ? imageSavingConvention.value : this.imageSavingConvention), @@ -44241,9 +45377,14 @@ extension $ServerConfigurationExtension on ServerConfiguration { enableFolderView: (enableFolderView != null ? enableFolderView.value : this.enableFolderView), - enableGroupingIntoCollections: (enableGroupingIntoCollections != null - ? enableGroupingIntoCollections.value - : this.enableGroupingIntoCollections), + enableGroupingMoviesIntoCollections: + (enableGroupingMoviesIntoCollections != null + ? enableGroupingMoviesIntoCollections.value + : this.enableGroupingMoviesIntoCollections), + enableGroupingShowsIntoCollections: + (enableGroupingShowsIntoCollections != null + ? enableGroupingShowsIntoCollections.value + : this.enableGroupingShowsIntoCollections), displaySpecialsWithinSeasons: (displaySpecialsWithinSeasons != null ? displaySpecialsWithinSeasons.value : this.displaySpecialsWithinSeasons), @@ -44278,9 +45419,6 @@ extension $ServerConfigurationExtension on ServerConfiguration { (libraryMetadataRefreshConcurrency != null ? libraryMetadataRefreshConcurrency.value : this.libraryMetadataRefreshConcurrency), - removeOldPlugins: (removeOldPlugins != null - ? removeOldPlugins.value - : this.removeOldPlugins), allowClientLogUpload: (allowClientLogUpload != null ? allowClientLogUpload.value : this.allowClientLogUpload), @@ -44299,6 +45437,9 @@ extension $ServerConfigurationExtension on ServerConfiguration { trickplayOptions: (trickplayOptions != null ? trickplayOptions.value : this.trickplayOptions), + enableLegacyAuthorization: (enableLegacyAuthorization != null + ? enableLegacyAuthorization.value + : this.enableLegacyAuthorization), ); } } @@ -45805,6 +46946,7 @@ extension $SpecialViewOptionDtoExtension on SpecialViewOptionDto { @JsonSerializable(explicitToJson: true) class StartupConfigurationDto { const StartupConfigurationDto({ + this.serverName, this.uICulture, this.metadataCountryCode, this.preferredMetadataLanguage, @@ -45816,6 +46958,8 @@ class StartupConfigurationDto { static const toJsonFactory = _$StartupConfigurationDtoToJson; Map toJson() => _$StartupConfigurationDtoToJson(this); + @JsonKey(name: 'ServerName', includeIfNull: false) + final String? serverName; @JsonKey(name: 'UICulture', includeIfNull: false) final String? uICulture; @JsonKey(name: 'MetadataCountryCode', includeIfNull: false) @@ -45828,6 +46972,11 @@ class StartupConfigurationDto { bool operator ==(Object other) { return identical(this, other) || (other is StartupConfigurationDto && + (identical(other.serverName, serverName) || + const DeepCollectionEquality().equals( + other.serverName, + serverName, + )) && (identical(other.uICulture, uICulture) || const DeepCollectionEquality().equals( other.uICulture, @@ -45853,6 +47002,7 @@ class StartupConfigurationDto { @override int get hashCode => + const DeepCollectionEquality().hash(serverName) ^ const DeepCollectionEquality().hash(uICulture) ^ const DeepCollectionEquality().hash(metadataCountryCode) ^ const DeepCollectionEquality().hash(preferredMetadataLanguage) ^ @@ -45861,11 +47011,13 @@ class StartupConfigurationDto { extension $StartupConfigurationDtoExtension on StartupConfigurationDto { StartupConfigurationDto copyWith({ + String? serverName, String? uICulture, String? metadataCountryCode, String? preferredMetadataLanguage, }) { return StartupConfigurationDto( + serverName: serverName ?? this.serverName, uICulture: uICulture ?? this.uICulture, metadataCountryCode: metadataCountryCode ?? this.metadataCountryCode, preferredMetadataLanguage: @@ -45874,11 +47026,13 @@ extension $StartupConfigurationDtoExtension on StartupConfigurationDto { } StartupConfigurationDto copyWithWrapped({ + Wrapped? serverName, Wrapped? uICulture, Wrapped? metadataCountryCode, Wrapped? preferredMetadataLanguage, }) { return StartupConfigurationDto( + serverName: (serverName != null ? serverName.value : this.serverName), uICulture: (uICulture != null ? uICulture.value : this.uICulture), metadataCountryCode: (metadataCountryCode != null ? metadataCountryCode.value @@ -45906,6 +47060,7 @@ class StartupRemoteAccessDto { @JsonKey(name: 'EnableRemoteAccess', includeIfNull: false) final bool enableRemoteAccess; @JsonKey(name: 'EnableAutomaticPortMapping', includeIfNull: false) + @deprecated final bool enableAutomaticPortMapping; static const fromJsonFactory = _$StartupRemoteAccessDtoFromJson; @@ -46023,81 +47178,6 @@ extension $StartupUserDtoExtension on StartupUserDto { } } -@JsonSerializable(explicitToJson: true) -class StringGroupUpdate { - const StringGroupUpdate({this.groupId, this.type, this.data}); - - factory StringGroupUpdate.fromJson(Map json) => - _$StringGroupUpdateFromJson(json); - - static const toJsonFactory = _$StringGroupUpdateToJson; - Map toJson() => _$StringGroupUpdateToJson(this); - - @JsonKey(name: 'GroupId', includeIfNull: false) - final String? groupId; - @JsonKey( - name: 'Type', - includeIfNull: false, - toJson: groupUpdateTypeNullableToJson, - fromJson: groupUpdateTypeNullableFromJson, - ) - final enums.GroupUpdateType? type; - @JsonKey(name: 'Data', includeIfNull: false) - final String? data; - static const fromJsonFactory = _$StringGroupUpdateFromJson; - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is StringGroupUpdate && - (identical(other.groupId, groupId) || - const DeepCollectionEquality().equals( - other.groupId, - groupId, - )) && - (identical(other.type, type) || - const DeepCollectionEquality().equals(other.type, type)) && - (identical(other.data, data) || - const DeepCollectionEquality().equals(other.data, data))); - } - - @override - String toString() => jsonEncode(this); - - @override - int get hashCode => - const DeepCollectionEquality().hash(groupId) ^ - const DeepCollectionEquality().hash(type) ^ - const DeepCollectionEquality().hash(data) ^ - runtimeType.hashCode; -} - -extension $StringGroupUpdateExtension on StringGroupUpdate { - StringGroupUpdate copyWith({ - String? groupId, - enums.GroupUpdateType? type, - String? data, - }) { - return StringGroupUpdate( - groupId: groupId ?? this.groupId, - type: type ?? this.type, - data: data ?? this.data, - ); - } - - StringGroupUpdate copyWithWrapped({ - Wrapped? groupId, - Wrapped? type, - Wrapped? data, - }) { - return StringGroupUpdate( - groupId: (groupId != null ? groupId.value : this.groupId), - type: (type != null ? type.value : this.type), - data: (data != null ? data.value : this.data), - ); - } -} - @JsonSerializable(explicitToJson: true) class SubtitleOptions { const SubtitleOptions({ @@ -46491,20 +47571,261 @@ extension $SyncPlayCommandMessageExtension on SyncPlayCommandMessage { } @JsonSerializable(explicitToJson: true) -class SyncPlayGroupUpdateCommandMessage { - const SyncPlayGroupUpdateCommandMessage({ +class SyncPlayGroupDoesNotExistUpdate { + const SyncPlayGroupDoesNotExistUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayGroupDoesNotExistUpdate.fromJson(Map json) => + _$SyncPlayGroupDoesNotExistUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayGroupDoesNotExistUpdateToJson; + Map toJson() => + _$SyncPlayGroupDoesNotExistUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson( + value, + enums.GroupUpdateType.groupdoesnotexist, + ); + + static const fromJsonFactory = _$SyncPlayGroupDoesNotExistUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayGroupDoesNotExistUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayGroupDoesNotExistUpdateExtension + on SyncPlayGroupDoesNotExistUpdate { + SyncPlayGroupDoesNotExistUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayGroupDoesNotExistUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayGroupDoesNotExistUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayGroupDoesNotExistUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayGroupJoinedUpdate { + const SyncPlayGroupJoinedUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayGroupJoinedUpdate.fromJson(Map json) => + _$SyncPlayGroupJoinedUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayGroupJoinedUpdateToJson; + Map toJson() => _$SyncPlayGroupJoinedUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final GroupInfoDto? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => + groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.groupjoined); + + static const fromJsonFactory = _$SyncPlayGroupJoinedUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayGroupJoinedUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayGroupJoinedUpdateExtension on SyncPlayGroupJoinedUpdate { + SyncPlayGroupJoinedUpdate copyWith({ + String? groupId, + GroupInfoDto? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayGroupJoinedUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayGroupJoinedUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayGroupJoinedUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayGroupLeftUpdate { + const SyncPlayGroupLeftUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayGroupLeftUpdate.fromJson(Map json) => + _$SyncPlayGroupLeftUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayGroupLeftUpdateToJson; + Map toJson() => _$SyncPlayGroupLeftUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.groupleft); + + static const fromJsonFactory = _$SyncPlayGroupLeftUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayGroupLeftUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayGroupLeftUpdateExtension on SyncPlayGroupLeftUpdate { + SyncPlayGroupLeftUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayGroupLeftUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayGroupLeftUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayGroupLeftUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayGroupUpdateMessage { + const SyncPlayGroupUpdateMessage({ this.data, this.messageId, this.messageType, }); - factory SyncPlayGroupUpdateCommandMessage.fromJson( - Map json, - ) => _$SyncPlayGroupUpdateCommandMessageFromJson(json); + factory SyncPlayGroupUpdateMessage.fromJson(Map json) => + _$SyncPlayGroupUpdateMessageFromJson(json); - static const toJsonFactory = _$SyncPlayGroupUpdateCommandMessageToJson; - Map toJson() => - _$SyncPlayGroupUpdateCommandMessageToJson(this); + static const toJsonFactory = _$SyncPlayGroupUpdateMessageToJson; + Map toJson() => _$SyncPlayGroupUpdateMessageToJson(this); @JsonKey(name: 'Data', includeIfNull: false) final GroupUpdate? data; @@ -46524,12 +47845,12 @@ class SyncPlayGroupUpdateCommandMessage { enums.SessionMessageType.syncplaygroupupdate, ); - static const fromJsonFactory = _$SyncPlayGroupUpdateCommandMessageFromJson; + static const fromJsonFactory = _$SyncPlayGroupUpdateMessageFromJson; @override bool operator ==(Object other) { return identical(this, other) || - (other is SyncPlayGroupUpdateCommandMessage && + (other is SyncPlayGroupUpdateMessage && (identical(other.data, data) || const DeepCollectionEquality().equals(other.data, data)) && (identical(other.messageId, messageId) || @@ -46555,26 +47876,25 @@ class SyncPlayGroupUpdateCommandMessage { runtimeType.hashCode; } -extension $SyncPlayGroupUpdateCommandMessageExtension - on SyncPlayGroupUpdateCommandMessage { - SyncPlayGroupUpdateCommandMessage copyWith({ +extension $SyncPlayGroupUpdateMessageExtension on SyncPlayGroupUpdateMessage { + SyncPlayGroupUpdateMessage copyWith({ GroupUpdate? data, String? messageId, enums.SessionMessageType? messageType, }) { - return SyncPlayGroupUpdateCommandMessage( + return SyncPlayGroupUpdateMessage( data: data ?? this.data, messageId: messageId ?? this.messageId, messageType: messageType ?? this.messageType, ); } - SyncPlayGroupUpdateCommandMessage copyWithWrapped({ + SyncPlayGroupUpdateMessage copyWithWrapped({ Wrapped? data, Wrapped? messageId, Wrapped? messageType, }) { - return SyncPlayGroupUpdateCommandMessage( + return SyncPlayGroupUpdateMessage( data: (data != null ? data.value : this.data), messageId: (messageId != null ? messageId.value : this.messageId), messageType: (messageType != null ? messageType.value : this.messageType), @@ -46582,6 +47902,249 @@ extension $SyncPlayGroupUpdateCommandMessageExtension } } +@JsonSerializable(explicitToJson: true) +class SyncPlayLibraryAccessDeniedUpdate { + const SyncPlayLibraryAccessDeniedUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayLibraryAccessDeniedUpdate.fromJson( + Map json, + ) => _$SyncPlayLibraryAccessDeniedUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayLibraryAccessDeniedUpdateToJson; + Map toJson() => + _$SyncPlayLibraryAccessDeniedUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson( + value, + enums.GroupUpdateType.libraryaccessdenied, + ); + + static const fromJsonFactory = _$SyncPlayLibraryAccessDeniedUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayLibraryAccessDeniedUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayLibraryAccessDeniedUpdateExtension + on SyncPlayLibraryAccessDeniedUpdate { + SyncPlayLibraryAccessDeniedUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayLibraryAccessDeniedUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayLibraryAccessDeniedUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayLibraryAccessDeniedUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayNotInGroupUpdate { + const SyncPlayNotInGroupUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayNotInGroupUpdate.fromJson(Map json) => + _$SyncPlayNotInGroupUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayNotInGroupUpdateToJson; + Map toJson() => _$SyncPlayNotInGroupUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.notingroup); + + static const fromJsonFactory = _$SyncPlayNotInGroupUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayNotInGroupUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayNotInGroupUpdateExtension on SyncPlayNotInGroupUpdate { + SyncPlayNotInGroupUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayNotInGroupUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayNotInGroupUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayNotInGroupUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayPlayQueueUpdate { + const SyncPlayPlayQueueUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayPlayQueueUpdate.fromJson(Map json) => + _$SyncPlayPlayQueueUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayPlayQueueUpdateToJson; + Map toJson() => _$SyncPlayPlayQueueUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final PlayQueueUpdate? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.playqueue); + + static const fromJsonFactory = _$SyncPlayPlayQueueUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayPlayQueueUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayPlayQueueUpdateExtension on SyncPlayPlayQueueUpdate { + SyncPlayPlayQueueUpdate copyWith({ + String? groupId, + PlayQueueUpdate? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayPlayQueueUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayPlayQueueUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayPlayQueueUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + @JsonSerializable(explicitToJson: true) class SyncPlayQueueItem { const SyncPlayQueueItem({this.itemId, this.playlistItemId}); @@ -46642,6 +48205,244 @@ extension $SyncPlayQueueItemExtension on SyncPlayQueueItem { } } +@JsonSerializable(explicitToJson: true) +class SyncPlayStateUpdate { + const SyncPlayStateUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayStateUpdate.fromJson(Map json) => + _$SyncPlayStateUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayStateUpdateToJson; + Map toJson() => _$SyncPlayStateUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final GroupStateUpdate? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => + groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.stateupdate); + + static const fromJsonFactory = _$SyncPlayStateUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayStateUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayStateUpdateExtension on SyncPlayStateUpdate { + SyncPlayStateUpdate copyWith({ + String? groupId, + GroupStateUpdate? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayStateUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayStateUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayStateUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayUserJoinedUpdate { + const SyncPlayUserJoinedUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayUserJoinedUpdate.fromJson(Map json) => + _$SyncPlayUserJoinedUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayUserJoinedUpdateToJson; + Map toJson() => _$SyncPlayUserJoinedUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.userjoined); + + static const fromJsonFactory = _$SyncPlayUserJoinedUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayUserJoinedUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayUserJoinedUpdateExtension on SyncPlayUserJoinedUpdate { + SyncPlayUserJoinedUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayUserJoinedUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayUserJoinedUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayUserJoinedUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + +@JsonSerializable(explicitToJson: true) +class SyncPlayUserLeftUpdate { + const SyncPlayUserLeftUpdate({this.groupId, this.data, this.type}); + + factory SyncPlayUserLeftUpdate.fromJson(Map json) => + _$SyncPlayUserLeftUpdateFromJson(json); + + static const toJsonFactory = _$SyncPlayUserLeftUpdateToJson; + Map toJson() => _$SyncPlayUserLeftUpdateToJson(this); + + @JsonKey(name: 'GroupId', includeIfNull: false) + final String? groupId; + @JsonKey(name: 'Data', includeIfNull: false) + final String? data; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: groupUpdateTypeNullableToJson, + fromJson: groupUpdateTypeTypeNullableFromJson, + ) + final enums.GroupUpdateType? type; + static enums.GroupUpdateType? groupUpdateTypeTypeNullableFromJson( + Object? value, + ) => groupUpdateTypeNullableFromJson(value, enums.GroupUpdateType.userleft); + + static const fromJsonFactory = _$SyncPlayUserLeftUpdateFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SyncPlayUserLeftUpdate && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals( + other.groupId, + groupId, + )) && + (identical(other.data, data) || + const DeepCollectionEquality().equals(other.data, data)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(data) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $SyncPlayUserLeftUpdateExtension on SyncPlayUserLeftUpdate { + SyncPlayUserLeftUpdate copyWith({ + String? groupId, + String? data, + enums.GroupUpdateType? type, + }) { + return SyncPlayUserLeftUpdate( + groupId: groupId ?? this.groupId, + data: data ?? this.data, + type: type ?? this.type, + ); + } + + SyncPlayUserLeftUpdate copyWithWrapped({ + Wrapped? groupId, + Wrapped? data, + Wrapped? type, + }) { + return SyncPlayUserLeftUpdate( + groupId: (groupId != null ? groupId.value : this.groupId), + data: (data != null ? data.value : this.data), + type: (type != null ? type.value : this.type), + ); + } +} + @JsonSerializable(explicitToJson: true) class SystemInfo { const SystemInfo({ @@ -46725,18 +48526,25 @@ class SystemInfo { @deprecated final bool? canLaunchWebBrowser; @JsonKey(name: 'ProgramDataPath', includeIfNull: false) + @deprecated final String? programDataPath; @JsonKey(name: 'WebPath', includeIfNull: false) + @deprecated final String? webPath; @JsonKey(name: 'ItemsByNamePath', includeIfNull: false) + @deprecated final String? itemsByNamePath; @JsonKey(name: 'CachePath', includeIfNull: false) + @deprecated final String? cachePath; @JsonKey(name: 'LogPath', includeIfNull: false) + @deprecated final String? logPath; @JsonKey(name: 'InternalMetadataPath', includeIfNull: false) + @deprecated final String? internalMetadataPath; @JsonKey(name: 'TranscodingTempPath', includeIfNull: false) + @deprecated final String? transcodingTempPath; @JsonKey( name: 'CastReceiverApplications', @@ -47103,6 +48911,165 @@ extension $SystemInfoExtension on SystemInfo { } } +@JsonSerializable(explicitToJson: true) +class SystemStorageDto { + const SystemStorageDto({ + this.programDataFolder, + this.webFolder, + this.imageCacheFolder, + this.cacheFolder, + this.logFolder, + this.internalMetadataFolder, + this.transcodingTempFolder, + this.libraries, + }); + + factory SystemStorageDto.fromJson(Map json) => + _$SystemStorageDtoFromJson(json); + + static const toJsonFactory = _$SystemStorageDtoToJson; + Map toJson() => _$SystemStorageDtoToJson(this); + + @JsonKey(name: 'ProgramDataFolder', includeIfNull: false) + final FolderStorageDto? programDataFolder; + @JsonKey(name: 'WebFolder', includeIfNull: false) + final FolderStorageDto? webFolder; + @JsonKey(name: 'ImageCacheFolder', includeIfNull: false) + final FolderStorageDto? imageCacheFolder; + @JsonKey(name: 'CacheFolder', includeIfNull: false) + final FolderStorageDto? cacheFolder; + @JsonKey(name: 'LogFolder', includeIfNull: false) + final FolderStorageDto? logFolder; + @JsonKey(name: 'InternalMetadataFolder', includeIfNull: false) + final FolderStorageDto? internalMetadataFolder; + @JsonKey(name: 'TranscodingTempFolder', includeIfNull: false) + final FolderStorageDto? transcodingTempFolder; + @JsonKey( + name: 'Libraries', + includeIfNull: false, + defaultValue: [], + ) + final List? libraries; + static const fromJsonFactory = _$SystemStorageDtoFromJson; + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other is SystemStorageDto && + (identical(other.programDataFolder, programDataFolder) || + const DeepCollectionEquality().equals( + other.programDataFolder, + programDataFolder, + )) && + (identical(other.webFolder, webFolder) || + const DeepCollectionEquality().equals( + other.webFolder, + webFolder, + )) && + (identical(other.imageCacheFolder, imageCacheFolder) || + const DeepCollectionEquality().equals( + other.imageCacheFolder, + imageCacheFolder, + )) && + (identical(other.cacheFolder, cacheFolder) || + const DeepCollectionEquality().equals( + other.cacheFolder, + cacheFolder, + )) && + (identical(other.logFolder, logFolder) || + const DeepCollectionEquality().equals( + other.logFolder, + logFolder, + )) && + (identical(other.internalMetadataFolder, internalMetadataFolder) || + const DeepCollectionEquality().equals( + other.internalMetadataFolder, + internalMetadataFolder, + )) && + (identical(other.transcodingTempFolder, transcodingTempFolder) || + const DeepCollectionEquality().equals( + other.transcodingTempFolder, + transcodingTempFolder, + )) && + (identical(other.libraries, libraries) || + const DeepCollectionEquality().equals( + other.libraries, + libraries, + ))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(programDataFolder) ^ + const DeepCollectionEquality().hash(webFolder) ^ + const DeepCollectionEquality().hash(imageCacheFolder) ^ + const DeepCollectionEquality().hash(cacheFolder) ^ + const DeepCollectionEquality().hash(logFolder) ^ + const DeepCollectionEquality().hash(internalMetadataFolder) ^ + const DeepCollectionEquality().hash(transcodingTempFolder) ^ + const DeepCollectionEquality().hash(libraries) ^ + runtimeType.hashCode; +} + +extension $SystemStorageDtoExtension on SystemStorageDto { + SystemStorageDto copyWith({ + FolderStorageDto? programDataFolder, + FolderStorageDto? webFolder, + FolderStorageDto? imageCacheFolder, + FolderStorageDto? cacheFolder, + FolderStorageDto? logFolder, + FolderStorageDto? internalMetadataFolder, + FolderStorageDto? transcodingTempFolder, + List? libraries, + }) { + return SystemStorageDto( + programDataFolder: programDataFolder ?? this.programDataFolder, + webFolder: webFolder ?? this.webFolder, + imageCacheFolder: imageCacheFolder ?? this.imageCacheFolder, + cacheFolder: cacheFolder ?? this.cacheFolder, + logFolder: logFolder ?? this.logFolder, + internalMetadataFolder: + internalMetadataFolder ?? this.internalMetadataFolder, + transcodingTempFolder: + transcodingTempFolder ?? this.transcodingTempFolder, + libraries: libraries ?? this.libraries, + ); + } + + SystemStorageDto copyWithWrapped({ + Wrapped? programDataFolder, + Wrapped? webFolder, + Wrapped? imageCacheFolder, + Wrapped? cacheFolder, + Wrapped? logFolder, + Wrapped? internalMetadataFolder, + Wrapped? transcodingTempFolder, + Wrapped?>? libraries, + }) { + return SystemStorageDto( + programDataFolder: (programDataFolder != null + ? programDataFolder.value + : this.programDataFolder), + webFolder: (webFolder != null ? webFolder.value : this.webFolder), + imageCacheFolder: (imageCacheFolder != null + ? imageCacheFolder.value + : this.imageCacheFolder), + cacheFolder: (cacheFolder != null ? cacheFolder.value : this.cacheFolder), + logFolder: (logFolder != null ? logFolder.value : this.logFolder), + internalMetadataFolder: (internalMetadataFolder != null + ? internalMetadataFolder.value + : this.internalMetadataFolder), + transcodingTempFolder: (transcodingTempFolder != null + ? transcodingTempFolder.value + : this.transcodingTempFolder), + libraries: (libraries != null ? libraries.value : this.libraries), + ); + } +} + @JsonSerializable(explicitToJson: true) class TaskInfo { const TaskInfo({ @@ -47439,8 +49406,13 @@ class TaskTriggerInfo { static const toJsonFactory = _$TaskTriggerInfoToJson; Map toJson() => _$TaskTriggerInfoToJson(this); - @JsonKey(name: 'Type', includeIfNull: false) - final String? type; + @JsonKey( + name: 'Type', + includeIfNull: false, + toJson: taskTriggerInfoTypeNullableToJson, + fromJson: taskTriggerInfoTypeNullableFromJson, + ) + final enums.TaskTriggerInfoType? type; @JsonKey(name: 'TimeOfDayTicks', includeIfNull: false) final int? timeOfDayTicks; @JsonKey(name: 'IntervalTicks', includeIfNull: false) @@ -47499,7 +49471,7 @@ class TaskTriggerInfo { extension $TaskTriggerInfoExtension on TaskTriggerInfo { TaskTriggerInfo copyWith({ - String? type, + enums.TaskTriggerInfoType? type, int? timeOfDayTicks, int? intervalTicks, enums.DayOfWeek? dayOfWeek, @@ -47515,7 +49487,7 @@ extension $TaskTriggerInfoExtension on TaskTriggerInfo { } TaskTriggerInfo copyWithWrapped({ - Wrapped? type, + Wrapped? type, Wrapped? timeOfDayTicks, Wrapped? intervalTicks, Wrapped? dayOfWeek, @@ -49221,8 +51193,8 @@ extension $TranscodingProfileExtension on TranscodingProfile { } @JsonSerializable(explicitToJson: true) -class TrickplayInfo { - const TrickplayInfo({ +class TrickplayInfoDto { + const TrickplayInfoDto({ this.width, this.height, this.tileWidth, @@ -49232,11 +51204,11 @@ class TrickplayInfo { this.bandwidth, }); - factory TrickplayInfo.fromJson(Map json) => - _$TrickplayInfoFromJson(json); + factory TrickplayInfoDto.fromJson(Map json) => + _$TrickplayInfoDtoFromJson(json); - static const toJsonFactory = _$TrickplayInfoToJson; - Map toJson() => _$TrickplayInfoToJson(this); + static const toJsonFactory = _$TrickplayInfoDtoToJson; + Map toJson() => _$TrickplayInfoDtoToJson(this); @JsonKey(name: 'Width', includeIfNull: false) final int? width; @@ -49252,12 +51224,12 @@ class TrickplayInfo { final int? interval; @JsonKey(name: 'Bandwidth', includeIfNull: false) final int? bandwidth; - static const fromJsonFactory = _$TrickplayInfoFromJson; + static const fromJsonFactory = _$TrickplayInfoDtoFromJson; @override bool operator ==(Object other) { return identical(this, other) || - (other is TrickplayInfo && + (other is TrickplayInfoDto && (identical(other.width, width) || const DeepCollectionEquality().equals(other.width, width)) && (identical(other.height, height) || @@ -49304,8 +51276,8 @@ class TrickplayInfo { runtimeType.hashCode; } -extension $TrickplayInfoExtension on TrickplayInfo { - TrickplayInfo copyWith({ +extension $TrickplayInfoDtoExtension on TrickplayInfoDto { + TrickplayInfoDto copyWith({ int? width, int? height, int? tileWidth, @@ -49314,7 +51286,7 @@ extension $TrickplayInfoExtension on TrickplayInfo { int? interval, int? bandwidth, }) { - return TrickplayInfo( + return TrickplayInfoDto( width: width ?? this.width, height: height ?? this.height, tileWidth: tileWidth ?? this.tileWidth, @@ -49325,7 +51297,7 @@ extension $TrickplayInfoExtension on TrickplayInfo { ); } - TrickplayInfo copyWithWrapped({ + TrickplayInfoDto copyWithWrapped({ Wrapped? width, Wrapped? height, Wrapped? tileWidth, @@ -49334,7 +51306,7 @@ extension $TrickplayInfoExtension on TrickplayInfo { Wrapped? interval, Wrapped? bandwidth, }) { - return TrickplayInfo( + return TrickplayInfoDto( width: (width != null ? width.value : this.width), height: (height != null ? height.value : this.height), tileWidth: (tileWidth != null ? tileWidth.value : this.tileWidth), @@ -49683,6 +51655,7 @@ class TunerHostInfo { this.tunerCount, this.userAgent, this.ignoreDts, + this.readAtNativeFramerate, }); factory TunerHostInfo.fromJson(Map json) => @@ -49721,6 +51694,8 @@ class TunerHostInfo { final String? userAgent; @JsonKey(name: 'IgnoreDts', includeIfNull: false) final bool? ignoreDts; + @JsonKey(name: 'ReadAtNativeFramerate', includeIfNull: false) + final bool? readAtNativeFramerate; static const fromJsonFactory = _$TunerHostInfoFromJson; @override @@ -49795,6 +51770,11 @@ class TunerHostInfo { const DeepCollectionEquality().equals( other.ignoreDts, ignoreDts, + )) && + (identical(other.readAtNativeFramerate, readAtNativeFramerate) || + const DeepCollectionEquality().equals( + other.readAtNativeFramerate, + readAtNativeFramerate, ))); } @@ -49818,6 +51798,7 @@ class TunerHostInfo { const DeepCollectionEquality().hash(tunerCount) ^ const DeepCollectionEquality().hash(userAgent) ^ const DeepCollectionEquality().hash(ignoreDts) ^ + const DeepCollectionEquality().hash(readAtNativeFramerate) ^ runtimeType.hashCode; } @@ -49838,6 +51819,7 @@ extension $TunerHostInfoExtension on TunerHostInfo { int? tunerCount, String? userAgent, bool? ignoreDts, + bool? readAtNativeFramerate, }) { return TunerHostInfo( id: id ?? this.id, @@ -49857,6 +51839,8 @@ extension $TunerHostInfoExtension on TunerHostInfo { tunerCount: tunerCount ?? this.tunerCount, userAgent: userAgent ?? this.userAgent, ignoreDts: ignoreDts ?? this.ignoreDts, + readAtNativeFramerate: + readAtNativeFramerate ?? this.readAtNativeFramerate, ); } @@ -49876,6 +51860,7 @@ extension $TunerHostInfoExtension on TunerHostInfo { Wrapped? tunerCount, Wrapped? userAgent, Wrapped? ignoreDts, + Wrapped? readAtNativeFramerate, }) { return TunerHostInfo( id: (id != null ? id.value : this.id), @@ -49907,6 +51892,9 @@ extension $TunerHostInfoExtension on TunerHostInfo { tunerCount: (tunerCount != null ? tunerCount.value : this.tunerCount), userAgent: (userAgent != null ? userAgent.value : this.userAgent), ignoreDts: (ignoreDts != null ? ignoreDts.value : this.ignoreDts), + readAtNativeFramerate: (readAtNativeFramerate != null + ? readAtNativeFramerate.value + : this.readAtNativeFramerate), ); } } @@ -51663,6 +53651,7 @@ class UserPolicy { this.enableLyricManagement, this.isDisabled, this.maxParentalRating, + this.maxParentalSubRating, this.blockedTags, this.allowedTags, this.enableUserPreferenceAccess, @@ -51733,6 +53722,8 @@ class UserPolicy { final bool? isDisabled; @JsonKey(name: 'MaxParentalRating', includeIfNull: false) final int? maxParentalRating; + @JsonKey(name: 'MaxParentalSubRating', includeIfNull: false) + final int? maxParentalSubRating; @JsonKey(name: 'BlockedTags', includeIfNull: false, defaultValue: []) final List? blockedTags; @JsonKey(name: 'AllowedTags', includeIfNull: false, defaultValue: []) @@ -51890,6 +53881,11 @@ class UserPolicy { other.maxParentalRating, maxParentalRating, )) && + (identical(other.maxParentalSubRating, maxParentalSubRating) || + const DeepCollectionEquality().equals( + other.maxParentalSubRating, + maxParentalSubRating, + )) && (identical(other.blockedTags, blockedTags) || const DeepCollectionEquality().equals( other.blockedTags, @@ -52123,6 +54119,7 @@ class UserPolicy { const DeepCollectionEquality().hash(enableLyricManagement) ^ const DeepCollectionEquality().hash(isDisabled) ^ const DeepCollectionEquality().hash(maxParentalRating) ^ + const DeepCollectionEquality().hash(maxParentalSubRating) ^ const DeepCollectionEquality().hash(blockedTags) ^ const DeepCollectionEquality().hash(allowedTags) ^ const DeepCollectionEquality().hash(enableUserPreferenceAccess) ^ @@ -52171,6 +54168,7 @@ extension $UserPolicyExtension on UserPolicy { bool? enableLyricManagement, bool? isDisabled, int? maxParentalRating, + int? maxParentalSubRating, List? blockedTags, List? allowedTags, bool? enableUserPreferenceAccess, @@ -52219,6 +54217,7 @@ extension $UserPolicyExtension on UserPolicy { enableLyricManagement ?? this.enableLyricManagement, isDisabled: isDisabled ?? this.isDisabled, maxParentalRating: maxParentalRating ?? this.maxParentalRating, + maxParentalSubRating: maxParentalSubRating ?? this.maxParentalSubRating, blockedTags: blockedTags ?? this.blockedTags, allowedTags: allowedTags ?? this.allowedTags, enableUserPreferenceAccess: @@ -52286,6 +54285,7 @@ extension $UserPolicyExtension on UserPolicy { Wrapped? enableLyricManagement, Wrapped? isDisabled, Wrapped? maxParentalRating, + Wrapped? maxParentalSubRating, Wrapped?>? blockedTags, Wrapped?>? allowedTags, Wrapped? enableUserPreferenceAccess, @@ -52341,6 +54341,9 @@ extension $UserPolicyExtension on UserPolicy { maxParentalRating: (maxParentalRating != null ? maxParentalRating.value : this.maxParentalRating), + maxParentalSubRating: (maxParentalSubRating != null + ? maxParentalSubRating.value + : this.maxParentalSubRating), blockedTags: (blockedTags != null ? blockedTags.value : this.blockedTags), allowedTags: (allowedTags != null ? allowedTags.value : this.allowedTags), enableUserPreferenceAccess: (enableUserPreferenceAccess != null @@ -53000,64 +55003,6 @@ extension $VirtualFolderInfoExtension on VirtualFolderInfo { } } -@JsonSerializable(explicitToJson: true) -class WakeOnLanInfo { - const WakeOnLanInfo({this.macAddress, this.port}); - - factory WakeOnLanInfo.fromJson(Map json) => - _$WakeOnLanInfoFromJson(json); - - static const toJsonFactory = _$WakeOnLanInfoToJson; - Map toJson() => _$WakeOnLanInfoToJson(this); - - @JsonKey(name: 'MacAddress', includeIfNull: false) - final String? macAddress; - @JsonKey(name: 'Port', includeIfNull: false) - final int? port; - static const fromJsonFactory = _$WakeOnLanInfoFromJson; - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other is WakeOnLanInfo && - (identical(other.macAddress, macAddress) || - const DeepCollectionEquality().equals( - other.macAddress, - macAddress, - )) && - (identical(other.port, port) || - const DeepCollectionEquality().equals(other.port, port))); - } - - @override - String toString() => jsonEncode(this); - - @override - int get hashCode => - const DeepCollectionEquality().hash(macAddress) ^ - const DeepCollectionEquality().hash(port) ^ - runtimeType.hashCode; -} - -extension $WakeOnLanInfoExtension on WakeOnLanInfo { - WakeOnLanInfo copyWith({String? macAddress, int? port}) { - return WakeOnLanInfo( - macAddress: macAddress ?? this.macAddress, - port: port ?? this.port, - ); - } - - WakeOnLanInfo copyWithWrapped({ - Wrapped? macAddress, - Wrapped? port, - }) { - return WakeOnLanInfo( - macAddress: (macAddress != null ? macAddress.value : this.macAddress), - port: (port != null ? port.value : this.port), - ); - } -} - @JsonSerializable(explicitToJson: true) class WebSocketMessage { const WebSocketMessage(); @@ -54221,6 +56166,87 @@ List? collectionTypeOptionsNullableListFromJson( .toList(); } +String? databaseLockingBehaviorTypesNullableToJson( + enums.DatabaseLockingBehaviorTypes? databaseLockingBehaviorTypes, +) { + return databaseLockingBehaviorTypes?.value; +} + +String? databaseLockingBehaviorTypesToJson( + enums.DatabaseLockingBehaviorTypes databaseLockingBehaviorTypes, +) { + return databaseLockingBehaviorTypes.value; +} + +enums.DatabaseLockingBehaviorTypes databaseLockingBehaviorTypesFromJson( + Object? databaseLockingBehaviorTypes, [ + enums.DatabaseLockingBehaviorTypes? defaultValue, +]) { + return enums.DatabaseLockingBehaviorTypes.values.firstWhereOrNull( + (e) => e.value == databaseLockingBehaviorTypes, + ) ?? + defaultValue ?? + enums.DatabaseLockingBehaviorTypes.swaggerGeneratedUnknown; +} + +enums.DatabaseLockingBehaviorTypes? +databaseLockingBehaviorTypesNullableFromJson( + Object? databaseLockingBehaviorTypes, [ + enums.DatabaseLockingBehaviorTypes? defaultValue, +]) { + if (databaseLockingBehaviorTypes == null) { + return null; + } + return enums.DatabaseLockingBehaviorTypes.values.firstWhereOrNull( + (e) => e.value == databaseLockingBehaviorTypes, + ) ?? + defaultValue; +} + +String databaseLockingBehaviorTypesExplodedListToJson( + List? databaseLockingBehaviorTypes, +) { + return databaseLockingBehaviorTypes?.map((e) => e.value!).join(',') ?? ''; +} + +List databaseLockingBehaviorTypesListToJson( + List? databaseLockingBehaviorTypes, +) { + if (databaseLockingBehaviorTypes == null) { + return []; + } + + return databaseLockingBehaviorTypes.map((e) => e.value!).toList(); +} + +List +databaseLockingBehaviorTypesListFromJson( + List? databaseLockingBehaviorTypes, [ + List? defaultValue, +]) { + if (databaseLockingBehaviorTypes == null) { + return defaultValue ?? []; + } + + return databaseLockingBehaviorTypes + .map((e) => databaseLockingBehaviorTypesFromJson(e.toString())) + .toList(); +} + +List? +databaseLockingBehaviorTypesNullableListFromJson( + List? databaseLockingBehaviorTypes, [ + List? defaultValue, +]) { + if (databaseLockingBehaviorTypes == null) { + return defaultValue; + } + + return databaseLockingBehaviorTypes + .map((e) => databaseLockingBehaviorTypesFromJson(e.toString())) + .toList(); +} + String? dayOfWeekNullableToJson(enums.DayOfWeek? dayOfWeek) { return dayOfWeek?.value; } @@ -59171,6 +61197,84 @@ List? taskStateNullableListFromJson( return taskState.map((e) => taskStateFromJson(e.toString())).toList(); } +String? taskTriggerInfoTypeNullableToJson( + enums.TaskTriggerInfoType? taskTriggerInfoType, +) { + return taskTriggerInfoType?.value; +} + +String? taskTriggerInfoTypeToJson( + enums.TaskTriggerInfoType taskTriggerInfoType, +) { + return taskTriggerInfoType.value; +} + +enums.TaskTriggerInfoType taskTriggerInfoTypeFromJson( + Object? taskTriggerInfoType, [ + enums.TaskTriggerInfoType? defaultValue, +]) { + return enums.TaskTriggerInfoType.values.firstWhereOrNull( + (e) => e.value == taskTriggerInfoType, + ) ?? + defaultValue ?? + enums.TaskTriggerInfoType.swaggerGeneratedUnknown; +} + +enums.TaskTriggerInfoType? taskTriggerInfoTypeNullableFromJson( + Object? taskTriggerInfoType, [ + enums.TaskTriggerInfoType? defaultValue, +]) { + if (taskTriggerInfoType == null) { + return null; + } + return enums.TaskTriggerInfoType.values.firstWhereOrNull( + (e) => e.value == taskTriggerInfoType, + ) ?? + defaultValue; +} + +String taskTriggerInfoTypeExplodedListToJson( + List? taskTriggerInfoType, +) { + return taskTriggerInfoType?.map((e) => e.value!).join(',') ?? ''; +} + +List taskTriggerInfoTypeListToJson( + List? taskTriggerInfoType, +) { + if (taskTriggerInfoType == null) { + return []; + } + + return taskTriggerInfoType.map((e) => e.value!).toList(); +} + +List taskTriggerInfoTypeListFromJson( + List? taskTriggerInfoType, [ + List? defaultValue, +]) { + if (taskTriggerInfoType == null) { + return defaultValue ?? []; + } + + return taskTriggerInfoType + .map((e) => taskTriggerInfoTypeFromJson(e.toString())) + .toList(); +} + +List? taskTriggerInfoTypeNullableListFromJson( + List? taskTriggerInfoType, [ + List? defaultValue, +]) { + if (taskTriggerInfoType == null) { + return defaultValue; + } + + return taskTriggerInfoType + .map((e) => taskTriggerInfoTypeFromJson(e.toString())) + .toList(); +} + String? tonemappingAlgorithmNullableToJson( enums.TonemappingAlgorithm? tonemappingAlgorithm, ) { diff --git a/lib/jellyfin/jellyfin_open_api.swagger.g.dart b/lib/jellyfin/jellyfin_open_api.swagger.g.dart index 5c02ac6..eb1fd2b 100644 --- a/lib/jellyfin/jellyfin_open_api.swagger.g.dart +++ b/lib/jellyfin/jellyfin_open_api.swagger.g.dart @@ -409,6 +409,58 @@ Map _$AuthenticationResultToJson( if (instance.serverId case final value?) 'ServerId': value, }; +BackupManifestDto _$BackupManifestDtoFromJson(Map json) => + BackupManifestDto( + serverVersion: json['ServerVersion'] as String?, + backupEngineVersion: json['BackupEngineVersion'] as String?, + dateCreated: json['DateCreated'] == null + ? null + : DateTime.parse(json['DateCreated'] as String), + path: json['Path'] as String?, + options: json['Options'] == null + ? null + : BackupOptionsDto.fromJson(json['Options'] as Map), + ); + +Map _$BackupManifestDtoToJson(BackupManifestDto instance) => + { + if (instance.serverVersion case final value?) 'ServerVersion': value, + if (instance.backupEngineVersion case final value?) + 'BackupEngineVersion': value, + if (instance.dateCreated?.toIso8601String() case final value?) + 'DateCreated': value, + if (instance.path case final value?) 'Path': value, + if (instance.options?.toJson() case final value?) 'Options': value, + }; + +BackupOptionsDto _$BackupOptionsDtoFromJson(Map json) => + BackupOptionsDto( + metadata: json['Metadata'] as bool?, + trickplay: json['Trickplay'] as bool?, + subtitles: json['Subtitles'] as bool?, + database: json['Database'] as bool?, + ); + +Map _$BackupOptionsDtoToJson(BackupOptionsDto instance) => + { + if (instance.metadata case final value?) 'Metadata': value, + if (instance.trickplay case final value?) 'Trickplay': value, + if (instance.subtitles case final value?) 'Subtitles': value, + if (instance.database case final value?) 'Database': value, + }; + +BackupRestoreRequestDto _$BackupRestoreRequestDtoFromJson( + Map json) => + BackupRestoreRequestDto( + archiveFileName: json['ArchiveFileName'] as String?, + ); + +Map _$BackupRestoreRequestDtoToJson( + BackupRestoreRequestDto instance) => + { + if (instance.archiveFileName case final value?) 'ArchiveFileName': value, + }; + BaseItemDto _$BaseItemDtoFromJson(Map json) => BaseItemDto( name: json['Name'] as String?, originalTitle: json['OriginalTitle'] as String?, @@ -585,7 +637,8 @@ BaseItemDto _$BaseItemDtoFromJson(Map json) => BaseItemDto( trickplay: json['Trickplay'] as Map?, locationType: locationTypeNullableFromJson(json['LocationType']), isoType: isoTypeNullableFromJson(json['IsoType']), - mediaType: mediaTypeNullableFromJson(json['MediaType']), + mediaType: + BaseItemDto.mediaTypeMediaTypeNullableFromJson(json['MediaType']), endDate: json['EndDate'] == null ? null : DateTime.parse(json['EndDate'] as String), @@ -894,7 +947,7 @@ BaseItemPerson _$BaseItemPersonFromJson(Map json) => name: json['Name'] as String?, id: json['Id'] as String?, role: json['Role'] as String?, - type: personKindNullableFromJson(json['Type']), + type: BaseItemPerson.personKindTypeNullableFromJson(json['Type']), primaryImageTag: json['PrimaryImageTag'] as String?, imageBlurHashes: json['ImageBlurHashes'] == null ? null @@ -1037,14 +1090,14 @@ Map _$BoxSetInfoRemoteSearchQueryToJson( 'IncludeDisabledProviders': value, }; -BrandingOptions _$BrandingOptionsFromJson(Map json) => - BrandingOptions( +BrandingOptionsDto _$BrandingOptionsDtoFromJson(Map json) => + BrandingOptionsDto( loginDisclaimer: json['LoginDisclaimer'] as String?, customCss: json['CustomCss'] as String?, splashscreenEnabled: json['SplashscreenEnabled'] as bool?, ); -Map _$BrandingOptionsToJson(BrandingOptions instance) => +Map _$BrandingOptionsDtoToJson(BrandingOptionsDto instance) => { if (instance.loginDisclaimer case final value?) 'LoginDisclaimer': value, if (instance.customCss case final value?) 'CustomCss': value, @@ -1426,6 +1479,80 @@ Map _$CultureDtoToJson(CultureDto instance) => 'ThreeLetterISOLanguageNames': value, }; +CustomDatabaseOption _$CustomDatabaseOptionFromJson( + Map json) => + CustomDatabaseOption( + key: json['Key'] as String?, + $Value: json['Value'] as String?, + ); + +Map _$CustomDatabaseOptionToJson( + CustomDatabaseOption instance) => + { + if (instance.key case final value?) 'Key': value, + if (instance.$Value case final value?) 'Value': value, + }; + +CustomDatabaseOptions _$CustomDatabaseOptionsFromJson( + Map json) => + CustomDatabaseOptions( + pluginName: json['PluginName'] as String?, + pluginAssembly: json['PluginAssembly'] as String?, + connectionString: json['ConnectionString'] as String?, + options: (json['Options'] as List?) + ?.map((e) => + CustomDatabaseOption.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$CustomDatabaseOptionsToJson( + CustomDatabaseOptions instance) => + { + if (instance.pluginName case final value?) 'PluginName': value, + if (instance.pluginAssembly case final value?) 'PluginAssembly': value, + if (instance.connectionString case final value?) + 'ConnectionString': value, + if (instance.options?.map((e) => e.toJson()).toList() case final value?) + 'Options': value, + }; + +CustomQueryData _$CustomQueryDataFromJson(Map json) => + CustomQueryData( + customQueryString: json['CustomQueryString'] as String?, + replaceUserId: json['ReplaceUserId'] as bool?, + ); + +Map _$CustomQueryDataToJson(CustomQueryData instance) => + { + if (instance.customQueryString case final value?) + 'CustomQueryString': value, + if (instance.replaceUserId case final value?) 'ReplaceUserId': value, + }; + +DatabaseConfigurationOptions _$DatabaseConfigurationOptionsFromJson( + Map json) => + DatabaseConfigurationOptions( + databaseType: json['DatabaseType'] as String?, + customProviderOptions: json['CustomProviderOptions'] == null + ? null + : CustomDatabaseOptions.fromJson( + json['CustomProviderOptions'] as Map), + lockingBehavior: + databaseLockingBehaviorTypesNullableFromJson(json['LockingBehavior']), + ); + +Map _$DatabaseConfigurationOptionsToJson( + DatabaseConfigurationOptions instance) => + { + if (instance.databaseType case final value?) 'DatabaseType': value, + if (instance.customProviderOptions?.toJson() case final value?) + 'CustomProviderOptions': value, + if (databaseLockingBehaviorTypesNullableToJson(instance.lockingBehavior) + case final value?) + 'LockingBehavior': value, + }; + DefaultDirectoryBrowserInfoDto _$DefaultDirectoryBrowserInfoDtoFromJson( Map json) => DefaultDirectoryBrowserInfoDto( @@ -1821,7 +1948,6 @@ ExternalIdInfo _$ExternalIdInfoFromJson(Map json) => name: json['Name'] as String?, key: json['Key'] as String?, type: externalIdMediaTypeNullableFromJson(json['Type']), - urlFormatString: json['UrlFormatString'] as String?, ); Map _$ExternalIdInfoToJson(ExternalIdInfo instance) => @@ -1830,7 +1956,6 @@ Map _$ExternalIdInfoToJson(ExternalIdInfo instance) => if (instance.key case final value?) 'Key': value, if (externalIdMediaTypeNullableToJson(instance.type) case final value?) 'Type': value, - if (instance.urlFormatString case final value?) 'UrlFormatString': value, }; ExternalUrl _$ExternalUrlFromJson(Map json) => ExternalUrl( @@ -1860,6 +1985,24 @@ Map _$FileSystemEntryInfoToJson( 'Type': value, }; +FolderStorageDto _$FolderStorageDtoFromJson(Map json) => + FolderStorageDto( + path: json['Path'] as String?, + freeSpace: (json['FreeSpace'] as num?)?.toInt(), + usedSpace: (json['UsedSpace'] as num?)?.toInt(), + storageType: json['StorageType'] as String?, + deviceId: json['DeviceId'] as String?, + ); + +Map _$FolderStorageDtoToJson(FolderStorageDto instance) => + { + if (instance.path case final value?) 'Path': value, + if (instance.freeSpace case final value?) 'FreeSpace': value, + if (instance.usedSpace case final value?) 'UsedSpace': value, + if (instance.storageType case final value?) 'StorageType': value, + if (instance.deviceId case final value?) 'DeviceId': value, + }; + FontFile _$FontFileFromJson(Map json) => FontFile( name: json['Name'] as String?, size: (json['Size'] as num?)?.toInt(), @@ -2089,25 +2232,6 @@ Map _$GroupInfoDtoToJson(GroupInfoDto instance) => 'LastUpdatedAt': value, }; -GroupInfoDtoGroupUpdate _$GroupInfoDtoGroupUpdateFromJson( - Map json) => - GroupInfoDtoGroupUpdate( - groupId: json['GroupId'] as String?, - type: groupUpdateTypeNullableFromJson(json['Type']), - data: json['Data'] == null - ? null - : GroupInfoDto.fromJson(json['Data'] as Map), - ); - -Map _$GroupInfoDtoGroupUpdateToJson( - GroupInfoDtoGroupUpdate instance) => - { - if (instance.groupId case final value?) 'GroupId': value, - if (groupUpdateTypeNullableToJson(instance.type) case final value?) - 'Type': value, - if (instance.data?.toJson() case final value?) 'Data': value, - }; - GroupStateUpdate _$GroupStateUpdateFromJson(Map json) => GroupStateUpdate( state: groupStateTypeNullableFromJson(json['State']), @@ -2122,36 +2246,10 @@ Map _$GroupStateUpdateToJson(GroupStateUpdate instance) => 'Reason': value, }; -GroupStateUpdateGroupUpdate _$GroupStateUpdateGroupUpdateFromJson( - Map json) => - GroupStateUpdateGroupUpdate( - groupId: json['GroupId'] as String?, - type: groupUpdateTypeNullableFromJson(json['Type']), - data: json['Data'] == null - ? null - : GroupStateUpdate.fromJson(json['Data'] as Map), - ); - -Map _$GroupStateUpdateGroupUpdateToJson( - GroupStateUpdateGroupUpdate instance) => - { - if (instance.groupId case final value?) 'GroupId': value, - if (groupUpdateTypeNullableToJson(instance.type) case final value?) - 'Type': value, - if (instance.data?.toJson() case final value?) 'Data': value, - }; - -GroupUpdate _$GroupUpdateFromJson(Map json) => GroupUpdate( - groupId: json['GroupId'] as String?, - type: groupUpdateTypeNullableFromJson(json['Type']), - ); +GroupUpdate _$GroupUpdateFromJson(Map json) => GroupUpdate(); Map _$GroupUpdateToJson(GroupUpdate instance) => - { - if (instance.groupId case final value?) 'GroupId': value, - if (groupUpdateTypeNullableToJson(instance.type) case final value?) - 'Type': value, - }; + {}; GuideInfo _$GuideInfoFromJson(Map json) => GuideInfo( startDate: json['StartDate'] == null @@ -2436,8 +2534,8 @@ LibraryOptions _$LibraryOptionsFromJson(Map json) => ?.map((e) => e as String) .toList() ?? [], - mediaSegmentProvideOrder: - (json['MediaSegmentProvideOrder'] as List?) + mediaSegmentProviderOrder: + (json['MediaSegmentProviderOrder'] as List?) ?.map((e) => e as String) .toList() ?? [], @@ -2531,8 +2629,8 @@ Map _$LibraryOptionsToJson(LibraryOptions instance) => 'SubtitleFetcherOrder': value, if (instance.disabledMediaSegmentProviders case final value?) 'DisabledMediaSegmentProviders': value, - if (instance.mediaSegmentProvideOrder case final value?) - 'MediaSegmentProvideOrder': value, + if (instance.mediaSegmentProviderOrder case final value?) + 'MediaSegmentProviderOrder': value, if (instance.skipSubtitlesIfEmbeddedSubtitlesPresent case final value?) 'SkipSubtitlesIfEmbeddedSubtitlesPresent': value, if (instance.skipSubtitlesIfAudioTrackMatches case final value?) @@ -2592,6 +2690,11 @@ LibraryOptionsResultDto _$LibraryOptionsResultDtoFromJson( LibraryOptionInfoDto.fromJson(e as Map)) .toList() ?? [], + mediaSegmentProviders: (json['MediaSegmentProviders'] as List?) + ?.map((e) => + LibraryOptionInfoDto.fromJson(e as Map)) + .toList() ?? + [], typeOptions: (json['TypeOptions'] as List?) ?.map((e) => LibraryTypeOptionsDto.fromJson(e as Map)) @@ -2614,11 +2717,32 @@ Map _$LibraryOptionsResultDtoToJson( if (instance.lyricFetchers?.map((e) => e.toJson()).toList() case final value?) 'LyricFetchers': value, + if (instance.mediaSegmentProviders?.map((e) => e.toJson()).toList() + case final value?) + 'MediaSegmentProviders': value, if (instance.typeOptions?.map((e) => e.toJson()).toList() case final value?) 'TypeOptions': value, }; +LibraryStorageDto _$LibraryStorageDtoFromJson(Map json) => + LibraryStorageDto( + id: json['Id'] as String?, + name: json['Name'] as String?, + folders: (json['Folders'] as List?) + ?.map((e) => FolderStorageDto.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$LibraryStorageDtoToJson(LibraryStorageDto instance) => + { + if (instance.id case final value?) 'Id': value, + if (instance.name case final value?) 'Name': value, + if (instance.folders?.map((e) => e.toJson()).toList() case final value?) + 'Folders': value, + }; + LibraryTypeOptionsDto _$LibraryTypeOptionsDtoFromJson( Map json) => LibraryTypeOptionsDto( @@ -2928,6 +3052,18 @@ Map _$LogFileToJson(LogFile instance) => { if (instance.name case final value?) 'Name': value, }; +LoginInfoInput _$LoginInfoInputFromJson(Map json) => + LoginInfoInput( + username: json['Username'] as String, + password: json['Password'] as String, + ); + +Map _$LoginInfoInputToJson(LoginInfoInput instance) => + { + 'Username': instance.username, + 'Password': instance.password, + }; + LyricDto _$LyricDtoFromJson(Map json) => LyricDto( metadata: json['Metadata'] == null ? null @@ -2947,11 +3083,32 @@ Map _$LyricDtoToJson(LyricDto instance) => { LyricLine _$LyricLineFromJson(Map json) => LyricLine( text: json['Text'] as String?, start: (json['Start'] as num?)?.toInt(), + cues: (json['Cues'] as List?) + ?.map((e) => LyricLineCue.fromJson(e as Map)) + .toList() ?? + [], ); Map _$LyricLineToJson(LyricLine instance) => { if (instance.text case final value?) 'Text': value, if (instance.start case final value?) 'Start': value, + if (instance.cues?.map((e) => e.toJson()).toList() case final value?) + 'Cues': value, + }; + +LyricLineCue _$LyricLineCueFromJson(Map json) => LyricLineCue( + position: (json['Position'] as num?)?.toInt(), + endPosition: (json['EndPosition'] as num?)?.toInt(), + start: (json['Start'] as num?)?.toInt(), + end: (json['End'] as num?)?.toInt(), + ); + +Map _$LyricLineCueToJson(LyricLineCue instance) => + { + if (instance.position case final value?) 'Position': value, + if (instance.endPosition case final value?) 'EndPosition': value, + if (instance.start case final value?) 'Start': value, + if (instance.end case final value?) 'End': value, }; LyricMetadata _$LyricMetadataFromJson(Map json) => @@ -3033,7 +3190,7 @@ MediaSegmentDto _$MediaSegmentDtoFromJson(Map json) => MediaSegmentDto( id: json['Id'] as String?, itemId: json['ItemId'] as String?, - type: mediaSegmentTypeNullableFromJson(json['Type']), + type: MediaSegmentDto.mediaSegmentTypeTypeNullableFromJson(json['Type']), startTicks: (json['StartTicks'] as num?)?.toInt(), endTicks: (json['EndTicks'] as num?)?.toInt(), ); @@ -3230,8 +3387,11 @@ MediaStream _$MediaStreamFromJson(Map json) => MediaStream( timeBase: json['TimeBase'] as String?, codecTimeBase: json['CodecTimeBase'] as String?, title: json['Title'] as String?, - videoRange: videoRangeNullableFromJson(json['VideoRange']), - videoRangeType: videoRangeTypeNullableFromJson(json['VideoRangeType']), + hdr10PlusPresentFlag: json['Hdr10PlusPresentFlag'] as bool?, + videoRange: + MediaStream.videoRangeVideoRangeNullableFromJson(json['VideoRange']), + videoRangeType: MediaStream.videoRangeTypeVideoRangeTypeNullableFromJson( + json['VideoRangeType']), videoDoViTitle: json['VideoDoViTitle'] as String?, audioSpatialFormat: MediaStream.audioSpatialFormatAudioSpatialFormatNullableFromJson( @@ -3301,6 +3461,8 @@ Map _$MediaStreamToJson(MediaStream instance) => if (instance.timeBase case final value?) 'TimeBase': value, if (instance.codecTimeBase case final value?) 'CodecTimeBase': value, if (instance.title case final value?) 'Title': value, + if (instance.hdr10PlusPresentFlag case final value?) + 'Hdr10PlusPresentFlag': value, if (videoRangeNullableToJson(instance.videoRange) case final value?) 'VideoRange': value, if (videoRangeTypeNullableToJson(instance.videoRangeType) @@ -3902,12 +4064,31 @@ ParentalRating _$ParentalRatingFromJson(Map json) => ParentalRating( name: json['Name'] as String?, $Value: (json['Value'] as num?)?.toInt(), + ratingScore: json['RatingScore'] == null + ? null + : ParentalRatingScore.fromJson( + json['RatingScore'] as Map), ); Map _$ParentalRatingToJson(ParentalRating instance) => { if (instance.name case final value?) 'Name': value, if (instance.$Value case final value?) 'Value': value, + if (instance.ratingScore?.toJson() case final value?) + 'RatingScore': value, + }; + +ParentalRatingScore _$ParentalRatingScoreFromJson(Map json) => + ParentalRatingScore( + score: (json['score'] as num?)?.toInt(), + subScore: (json['subScore'] as num?)?.toInt(), + ); + +Map _$ParentalRatingScoreToJson( + ParentalRatingScore instance) => + { + if (instance.score case final value?) 'score': value, + if (instance.subScore case final value?) 'subScore': value, }; PathSubstitution _$PathSubstitutionFromJson(Map json) => @@ -4390,25 +4571,6 @@ Map _$PlayQueueUpdateToJson(PlayQueueUpdate instance) => 'RepeatMode': value, }; -PlayQueueUpdateGroupUpdate _$PlayQueueUpdateGroupUpdateFromJson( - Map json) => - PlayQueueUpdateGroupUpdate( - groupId: json['GroupId'] as String?, - type: groupUpdateTypeNullableFromJson(json['Type']), - data: json['Data'] == null - ? null - : PlayQueueUpdate.fromJson(json['Data'] as Map), - ); - -Map _$PlayQueueUpdateGroupUpdateToJson( - PlayQueueUpdateGroupUpdate instance) => - { - if (instance.groupId case final value?) 'GroupId': value, - if (groupUpdateTypeNullableToJson(instance.type) case final value?) - 'Type': value, - if (instance.data?.toJson() case final value?) 'Data': value, - }; - PlayRequest _$PlayRequestFromJson(Map json) => PlayRequest( itemIds: (json['ItemIds'] as List?) ?.map((e) => e as String) @@ -5047,6 +5209,22 @@ Map _$RemoveFromPlaylistRequestDtoToJson( 'ClearPlayingItem': value, }; +ReportPlaybackOptions _$ReportPlaybackOptionsFromJson( + Map json) => + ReportPlaybackOptions( + maxDataAge: (json['MaxDataAge'] as num?)?.toInt(), + backupPath: json['BackupPath'] as String?, + maxBackupFiles: (json['MaxBackupFiles'] as num?)?.toInt(), + ); + +Map _$ReportPlaybackOptionsToJson( + ReportPlaybackOptions instance) => + { + if (instance.maxDataAge case final value?) 'MaxDataAge': value, + if (instance.backupPath case final value?) 'BackupPath': value, + if (instance.maxBackupFiles case final value?) 'MaxBackupFiles': value, + }; + RepositoryInfo _$RepositoryInfoFromJson(Map json) => RepositoryInfo( name: json['Name'] as String?, @@ -5171,7 +5349,8 @@ SearchHint _$SearchHintFromJson(Map json) => SearchHint( type: baseItemKindNullableFromJson(json['Type']), isFolder: json['IsFolder'] as bool?, runTimeTicks: (json['RunTimeTicks'] as num?)?.toInt(), - mediaType: mediaTypeNullableFromJson(json['MediaType']), + mediaType: + SearchHint.mediaTypeMediaTypeNullableFromJson(json['MediaType']), startDate: json['StartDate'] == null ? null : DateTime.parse(json['StartDate'] as String), @@ -5555,6 +5734,7 @@ ServerConfiguration _$ServerConfigurationFromJson(Map json) => (json['InactiveSessionThreshold'] as num?)?.toInt(), libraryMonitorDelay: (json['LibraryMonitorDelay'] as num?)?.toInt(), libraryUpdateDuration: (json['LibraryUpdateDuration'] as num?)?.toInt(), + cacheSize: (json['CacheSize'] as num?)?.toInt(), imageSavingConvention: imageSavingConventionNullableFromJson(json['ImageSavingConvention']), metadataOptions: (json['MetadataOptions'] as List?) @@ -5573,8 +5753,10 @@ ServerConfiguration _$ServerConfigurationFromJson(Map json) => remoteClientBitrateLimit: (json['RemoteClientBitrateLimit'] as num?)?.toInt(), enableFolderView: json['EnableFolderView'] as bool?, - enableGroupingIntoCollections: - json['EnableGroupingIntoCollections'] as bool?, + enableGroupingMoviesIntoCollections: + json['EnableGroupingMoviesIntoCollections'] as bool?, + enableGroupingShowsIntoCollections: + json['EnableGroupingShowsIntoCollections'] as bool?, displaySpecialsWithinSeasons: json['DisplaySpecialsWithinSeasons'] as bool?, codecsUsed: (json['CodecsUsed'] as List?) @@ -5606,7 +5788,6 @@ ServerConfiguration _$ServerConfigurationFromJson(Map json) => (json['LibraryScanFanoutConcurrency'] as num?)?.toInt(), libraryMetadataRefreshConcurrency: (json['LibraryMetadataRefreshConcurrency'] as num?)?.toInt(), - removeOldPlugins: json['RemoveOldPlugins'] as bool?, allowClientLogUpload: json['AllowClientLogUpload'] as bool?, dummyChapterDuration: (json['DummyChapterDuration'] as num?)?.toInt(), chapterImageResolution: @@ -5623,6 +5804,7 @@ ServerConfiguration _$ServerConfigurationFromJson(Map json) => ? null : TrickplayOptions.fromJson( json['TrickplayOptions'] as Map), + enableLegacyAuthorization: json['EnableLegacyAuthorization'] as bool?, ); Map _$ServerConfigurationToJson( @@ -5671,6 +5853,7 @@ Map _$ServerConfigurationToJson( 'LibraryMonitorDelay': value, if (instance.libraryUpdateDuration case final value?) 'LibraryUpdateDuration': value, + if (instance.cacheSize case final value?) 'CacheSize': value, if (imageSavingConventionNullableToJson(instance.imageSavingConvention) case final value?) 'ImageSavingConvention': value, @@ -5690,8 +5873,10 @@ Map _$ServerConfigurationToJson( 'RemoteClientBitrateLimit': value, if (instance.enableFolderView case final value?) 'EnableFolderView': value, - if (instance.enableGroupingIntoCollections case final value?) - 'EnableGroupingIntoCollections': value, + if (instance.enableGroupingMoviesIntoCollections case final value?) + 'EnableGroupingMoviesIntoCollections': value, + if (instance.enableGroupingShowsIntoCollections case final value?) + 'EnableGroupingShowsIntoCollections': value, if (instance.displaySpecialsWithinSeasons case final value?) 'DisplaySpecialsWithinSeasons': value, if (instance.codecsUsed case final value?) 'CodecsUsed': value, @@ -5716,8 +5901,6 @@ Map _$ServerConfigurationToJson( 'LibraryScanFanoutConcurrency': value, if (instance.libraryMetadataRefreshConcurrency case final value?) 'LibraryMetadataRefreshConcurrency': value, - if (instance.removeOldPlugins case final value?) - 'RemoveOldPlugins': value, if (instance.allowClientLogUpload case final value?) 'AllowClientLogUpload': value, if (instance.dummyChapterDuration case final value?) @@ -5732,6 +5915,8 @@ Map _$ServerConfigurationToJson( 'CastReceiverApplications': value, if (instance.trickplayOptions?.toJson() case final value?) 'TrickplayOptions': value, + if (instance.enableLegacyAuthorization case final value?) + 'EnableLegacyAuthorization': value, }; ServerDiscoveryInfo _$ServerDiscoveryInfoFromJson(Map json) => @@ -6087,6 +6272,7 @@ Map _$SpecialViewOptionDtoToJson( StartupConfigurationDto _$StartupConfigurationDtoFromJson( Map json) => StartupConfigurationDto( + serverName: json['ServerName'] as String?, uICulture: json['UICulture'] as String?, metadataCountryCode: json['MetadataCountryCode'] as String?, preferredMetadataLanguage: json['PreferredMetadataLanguage'] as String?, @@ -6095,6 +6281,7 @@ StartupConfigurationDto _$StartupConfigurationDtoFromJson( Map _$StartupConfigurationDtoToJson( StartupConfigurationDto instance) => { + if (instance.serverName case final value?) 'ServerName': value, if (instance.uICulture case final value?) 'UICulture': value, if (instance.metadataCountryCode case final value?) 'MetadataCountryCode': value, @@ -6128,21 +6315,6 @@ Map _$StartupUserDtoToJson(StartupUserDto instance) => if (instance.password case final value?) 'Password': value, }; -StringGroupUpdate _$StringGroupUpdateFromJson(Map json) => - StringGroupUpdate( - groupId: json['GroupId'] as String?, - type: groupUpdateTypeNullableFromJson(json['Type']), - data: json['Data'] as String?, - ); - -Map _$StringGroupUpdateToJson(StringGroupUpdate instance) => - { - if (instance.groupId case final value?) 'GroupId': value, - if (groupUpdateTypeNullableToJson(instance.type) case final value?) - 'Type': value, - if (instance.data case final value?) 'Data': value, - }; - SubtitleOptions _$SubtitleOptionsFromJson(Map json) => SubtitleOptions( skipIfEmbeddedSubtitlesPresent: @@ -6224,19 +6396,75 @@ Map _$SyncPlayCommandMessageToJson( 'MessageType': value, }; -SyncPlayGroupUpdateCommandMessage _$SyncPlayGroupUpdateCommandMessageFromJson( +SyncPlayGroupDoesNotExistUpdate _$SyncPlayGroupDoesNotExistUpdateFromJson( Map json) => - SyncPlayGroupUpdateCommandMessage( + SyncPlayGroupDoesNotExistUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: SyncPlayGroupDoesNotExistUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayGroupDoesNotExistUpdateToJson( + SyncPlayGroupDoesNotExistUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayGroupJoinedUpdate _$SyncPlayGroupJoinedUpdateFromJson( + Map json) => + SyncPlayGroupJoinedUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] == null + ? null + : GroupInfoDto.fromJson(json['Data'] as Map), + type: SyncPlayGroupJoinedUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayGroupJoinedUpdateToJson( + SyncPlayGroupJoinedUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data?.toJson() case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayGroupLeftUpdate _$SyncPlayGroupLeftUpdateFromJson( + Map json) => + SyncPlayGroupLeftUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: SyncPlayGroupLeftUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayGroupLeftUpdateToJson( + SyncPlayGroupLeftUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayGroupUpdateMessage _$SyncPlayGroupUpdateMessageFromJson( + Map json) => + SyncPlayGroupUpdateMessage( data: json['Data'] == null ? null : GroupUpdate.fromJson(json['Data'] as Map), messageId: json['MessageId'] as String?, - messageType: SyncPlayGroupUpdateCommandMessage + messageType: SyncPlayGroupUpdateMessage .sessionMessageTypeMessageTypeNullableFromJson(json['MessageType']), ); -Map _$SyncPlayGroupUpdateCommandMessageToJson( - SyncPlayGroupUpdateCommandMessage instance) => +Map _$SyncPlayGroupUpdateMessageToJson( + SyncPlayGroupUpdateMessage instance) => { if (instance.data?.toJson() case final value?) 'Data': value, if (instance.messageId case final value?) 'MessageId': value, @@ -6245,6 +6473,63 @@ Map _$SyncPlayGroupUpdateCommandMessageToJson( 'MessageType': value, }; +SyncPlayLibraryAccessDeniedUpdate _$SyncPlayLibraryAccessDeniedUpdateFromJson( + Map json) => + SyncPlayLibraryAccessDeniedUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: + SyncPlayLibraryAccessDeniedUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayLibraryAccessDeniedUpdateToJson( + SyncPlayLibraryAccessDeniedUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayNotInGroupUpdate _$SyncPlayNotInGroupUpdateFromJson( + Map json) => + SyncPlayNotInGroupUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: SyncPlayNotInGroupUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayNotInGroupUpdateToJson( + SyncPlayNotInGroupUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayPlayQueueUpdate _$SyncPlayPlayQueueUpdateFromJson( + Map json) => + SyncPlayPlayQueueUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] == null + ? null + : PlayQueueUpdate.fromJson(json['Data'] as Map), + type: SyncPlayPlayQueueUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayPlayQueueUpdateToJson( + SyncPlayPlayQueueUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data?.toJson() case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + SyncPlayQueueItem _$SyncPlayQueueItemFromJson(Map json) => SyncPlayQueueItem( itemId: json['ItemId'] as String?, @@ -6257,6 +6542,61 @@ Map _$SyncPlayQueueItemToJson(SyncPlayQueueItem instance) => if (instance.playlistItemId case final value?) 'PlaylistItemId': value, }; +SyncPlayStateUpdate _$SyncPlayStateUpdateFromJson(Map json) => + SyncPlayStateUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] == null + ? null + : GroupStateUpdate.fromJson(json['Data'] as Map), + type: + SyncPlayStateUpdate.groupUpdateTypeTypeNullableFromJson(json['Type']), + ); + +Map _$SyncPlayStateUpdateToJson( + SyncPlayStateUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data?.toJson() case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayUserJoinedUpdate _$SyncPlayUserJoinedUpdateFromJson( + Map json) => + SyncPlayUserJoinedUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: SyncPlayUserJoinedUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayUserJoinedUpdateToJson( + SyncPlayUserJoinedUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + +SyncPlayUserLeftUpdate _$SyncPlayUserLeftUpdateFromJson( + Map json) => + SyncPlayUserLeftUpdate( + groupId: json['GroupId'] as String?, + data: json['Data'] as String?, + type: SyncPlayUserLeftUpdate.groupUpdateTypeTypeNullableFromJson( + json['Type']), + ); + +Map _$SyncPlayUserLeftUpdateToJson( + SyncPlayUserLeftUpdate instance) => + { + if (instance.groupId case final value?) 'GroupId': value, + if (instance.data case final value?) 'Data': value, + if (groupUpdateTypeNullableToJson(instance.type) case final value?) + 'Type': value, + }; + SystemInfo _$SystemInfoFromJson(Map json) => SystemInfo( localAddress: json['LocalAddress'] as String?, serverName: json['ServerName'] as String?, @@ -6340,6 +6680,61 @@ Map _$SystemInfoToJson(SystemInfo instance) => 'SystemArchitecture': value, }; +SystemStorageDto _$SystemStorageDtoFromJson(Map json) => + SystemStorageDto( + programDataFolder: json['ProgramDataFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['ProgramDataFolder'] as Map), + webFolder: json['WebFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['WebFolder'] as Map), + imageCacheFolder: json['ImageCacheFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['ImageCacheFolder'] as Map), + cacheFolder: json['CacheFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['CacheFolder'] as Map), + logFolder: json['LogFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['LogFolder'] as Map), + internalMetadataFolder: json['InternalMetadataFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['InternalMetadataFolder'] as Map), + transcodingTempFolder: json['TranscodingTempFolder'] == null + ? null + : FolderStorageDto.fromJson( + json['TranscodingTempFolder'] as Map), + libraries: (json['Libraries'] as List?) + ?.map( + (e) => LibraryStorageDto.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$SystemStorageDtoToJson(SystemStorageDto instance) => + { + if (instance.programDataFolder?.toJson() case final value?) + 'ProgramDataFolder': value, + if (instance.webFolder?.toJson() case final value?) 'WebFolder': value, + if (instance.imageCacheFolder?.toJson() case final value?) + 'ImageCacheFolder': value, + if (instance.cacheFolder?.toJson() case final value?) + 'CacheFolder': value, + if (instance.logFolder?.toJson() case final value?) 'LogFolder': value, + if (instance.internalMetadataFolder?.toJson() case final value?) + 'InternalMetadataFolder': value, + if (instance.transcodingTempFolder?.toJson() case final value?) + 'TranscodingTempFolder': value, + if (instance.libraries?.map((e) => e.toJson()).toList() case final value?) + 'Libraries': value, + }; + TaskInfo _$TaskInfoFromJson(Map json) => TaskInfo( name: json['Name'] as String?, state: taskStateNullableFromJson(json['State']), @@ -6410,7 +6805,7 @@ Map _$TaskResultToJson(TaskResult instance) => TaskTriggerInfo _$TaskTriggerInfoFromJson(Map json) => TaskTriggerInfo( - type: json['Type'] as String?, + type: taskTriggerInfoTypeNullableFromJson(json['Type']), timeOfDayTicks: (json['TimeOfDayTicks'] as num?)?.toInt(), intervalTicks: (json['IntervalTicks'] as num?)?.toInt(), dayOfWeek: dayOfWeekNullableFromJson(json['DayOfWeek']), @@ -6419,7 +6814,8 @@ TaskTriggerInfo _$TaskTriggerInfoFromJson(Map json) => Map _$TaskTriggerInfoToJson(TaskTriggerInfo instance) => { - if (instance.type case final value?) 'Type': value, + if (taskTriggerInfoTypeNullableToJson(instance.type) case final value?) + 'Type': value, if (instance.timeOfDayTicks case final value?) 'TimeOfDayTicks': value, if (instance.intervalTicks case final value?) 'IntervalTicks': value, if (dayOfWeekNullableToJson(instance.dayOfWeek) case final value?) @@ -6772,8 +7168,8 @@ Map _$TranscodingProfileToJson(TranscodingProfile instance) => 'EnableAudioVbrEncoding': value, }; -TrickplayInfo _$TrickplayInfoFromJson(Map json) => - TrickplayInfo( +TrickplayInfoDto _$TrickplayInfoDtoFromJson(Map json) => + TrickplayInfoDto( width: (json['Width'] as num?)?.toInt(), height: (json['Height'] as num?)?.toInt(), tileWidth: (json['TileWidth'] as num?)?.toInt(), @@ -6783,7 +7179,7 @@ TrickplayInfo _$TrickplayInfoFromJson(Map json) => bandwidth: (json['Bandwidth'] as num?)?.toInt(), ); -Map _$TrickplayInfoToJson(TrickplayInfo instance) => +Map _$TrickplayInfoDtoToJson(TrickplayInfoDto instance) => { if (instance.width case final value?) 'Width': value, if (instance.height case final value?) 'Height': value, @@ -6877,6 +7273,7 @@ TunerHostInfo _$TunerHostInfoFromJson(Map json) => tunerCount: (json['TunerCount'] as num?)?.toInt(), userAgent: json['UserAgent'] as String?, ignoreDts: json['IgnoreDts'] as bool?, + readAtNativeFramerate: json['ReadAtNativeFramerate'] as bool?, ); Map _$TunerHostInfoToJson(TunerHostInfo instance) => @@ -6902,6 +7299,8 @@ Map _$TunerHostInfoToJson(TunerHostInfo instance) => if (instance.tunerCount case final value?) 'TunerCount': value, if (instance.userAgent case final value?) 'UserAgent': value, if (instance.ignoreDts case final value?) 'IgnoreDts': value, + if (instance.readAtNativeFramerate case final value?) + 'ReadAtNativeFramerate': value, }; TypeOptions _$TypeOptionsFromJson(Map json) => TypeOptions( @@ -7300,6 +7699,7 @@ UserPolicy _$UserPolicyFromJson(Map json) => UserPolicy( enableLyricManagement: json['EnableLyricManagement'] as bool? ?? false, isDisabled: json['IsDisabled'] as bool?, maxParentalRating: (json['MaxParentalRating'] as num?)?.toInt(), + maxParentalSubRating: (json['MaxParentalSubRating'] as num?)?.toInt(), blockedTags: (json['BlockedTags'] as List?) ?.map((e) => e as String) .toList() ?? @@ -7388,6 +7788,8 @@ Map _$UserPolicyToJson(UserPolicy instance) => if (instance.isDisabled case final value?) 'IsDisabled': value, if (instance.maxParentalRating case final value?) 'MaxParentalRating': value, + if (instance.maxParentalSubRating case final value?) + 'MaxParentalSubRating': value, if (instance.blockedTags case final value?) 'BlockedTags': value, if (instance.allowedTags case final value?) 'AllowedTags': value, if (instance.enableUserPreferenceAccess case final value?) @@ -7569,18 +7971,6 @@ Map _$VirtualFolderInfoToJson(VirtualFolderInfo instance) => if (instance.refreshStatus case final value?) 'RefreshStatus': value, }; -WakeOnLanInfo _$WakeOnLanInfoFromJson(Map json) => - WakeOnLanInfo( - macAddress: json['MacAddress'] as String?, - port: (json['Port'] as num?)?.toInt(), - ); - -Map _$WakeOnLanInfoToJson(WakeOnLanInfo instance) => - { - if (instance.macAddress case final value?) 'MacAddress': value, - if (instance.port case final value?) 'Port': value, - }; - WebSocketMessage _$WebSocketMessageFromJson(Map json) => WebSocketMessage(); diff --git a/lib/providers/library_screen_provider.g.dart b/lib/providers/library_screen_provider.g.dart index a07b81a..cd083d2 100644 --- a/lib/providers/library_screen_provider.g.dart +++ b/lib/providers/library_screen_provider.g.dart @@ -6,7 +6,7 @@ part of 'library_screen_provider.dart'; // RiverpodGenerator // ************************************************************************** -String _$libraryScreenHash() => r'792c4e47e5cd03635f42a4da4e24698c7584bbdb'; +String _$libraryScreenHash() => r'bc8b65f92715d1fa64884676b8455e1ba0e2aafa'; /// See also [LibraryScreen]. @ProviderFor(LibraryScreen) diff --git a/lib/providers/service_provider.dart b/lib/providers/service_provider.dart index f2f73b0..0735117 100644 --- a/lib/providers/service_provider.dart +++ b/lib/providers/service_provider.dart @@ -1126,7 +1126,7 @@ class JellyService { Future> quickConnectEnabled() async => api.quickConnectEnabledGet(); - Future> getBranding() async => api.brandingConfigurationGet(); + Future> getBranding() async => api.brandingConfigurationGet(); Future> deleteItem(String itemId) => api.itemsItemIdDelete(itemId: itemId); diff --git a/lib/screens/metadata/identifty_screen.dart b/lib/screens/metadata/identifty_screen.dart index 1672150..f157e35 100644 --- a/lib/screens/metadata/identifty_screen.dart +++ b/lib/screens/metadata/identifty_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:collection/collection.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:iconsax_plus/iconsax_plus.dart'; @@ -10,7 +9,6 @@ import 'package:fladder/providers/items/identify_provider.dart'; import 'package:fladder/screens/shared/adaptive_dialog.dart'; import 'package:fladder/screens/shared/fladder_snackbar.dart'; import 'package:fladder/screens/shared/focused_outlined_text_field.dart'; -import 'package:fladder/screens/shared/media/external_urls.dart'; import 'package:fladder/util/localization_helper.dart'; import 'package:fladder/util/string_extensions.dart'; import 'package:fladder/widgets/shared/alert_content.dart'; @@ -150,26 +148,7 @@ class _IdentifyScreenState extends ConsumerState with TickerProv ), ), Tooltip( - message: context.localized.openWebLink, - child: IconButton( - onPressed: () { - final providerKeyEntry = result.providerIds?.entries.first; - final providerKey = providerKeyEntry?.key; - final providerValue = providerKeyEntry?.value; - - final externalId = state.externalIds - .firstWhereOrNull((element) => element.key == providerKey) - // ignore: deprecated_member_use_from_same_package - ?.urlFormatString; - - final url = externalId?.replaceAll("{0}", providerValue?.toString() ?? ""); - - launchUrl(context, url ?? ""); - }, - icon: const Icon(Icons.launch_rounded)), - ), - Tooltip( - message: "Select result", + message: context.localized.set, child: IconButton( onPressed: !processing ? () async { @@ -185,7 +164,7 @@ class _IdentifyScreenState extends ConsumerState with TickerProv Navigator.of(context).pop(); } : null, - icon: const Icon(Icons.save_alt_rounded), + icon: const Icon(IconsaxPlusBold.tag_2), ), ) ], diff --git a/swagger/jellyfin-open-api.json b/swagger/jellyfin-open-api.json index 39261ad..d508b31 100644 --- a/swagger/jellyfin-open-api.json +++ b/swagger/jellyfin-open-api.json @@ -2,8 +2,8 @@ "openapi": "3.0.1", "info": { "title": "Jellyfin API", - "version": "10.10.1", - "x-jellyfin-version": "10.10.1" + "version": "10.11.2", + "x-jellyfin-version": "10.11.2" }, "paths": { "/System/ActivityLog/Entries": { @@ -71,6 +71,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -115,6 +139,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -151,6 +199,30 @@ "204": { "description": "Api key created." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -189,6 +261,30 @@ "204": { "description": "Api key deleted." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -554,6 +650,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -618,6 +738,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -983,6 +1127,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -1209,6 +1377,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -1471,6 +1640,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -1683,6 +1876,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -1945,6 +2139,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -1973,6 +2191,7 @@ "description": "The audio container.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -2159,6 +2378,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -2289,7 +2509,7 @@ { "name": "requireNonAnamorphic", "in": "query", - "description": "Optional. Whether to require a non anamporphic stream.", + "description": "Optional. Whether to require a non anamorphic stream.", "schema": { "type": "boolean" } @@ -2421,6 +2641,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -2447,6 +2691,7 @@ "description": "The audio container.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -2633,6 +2878,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -2763,7 +3009,7 @@ { "name": "requireNonAnamorphic", "in": "query", - "description": "Optional. Whether to require a non anamporphic stream.", + "description": "Optional. Whether to require a non anamorphic stream.", "schema": { "type": "boolean" } @@ -2895,10 +3141,491 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } }, + "/Backup": { + "get": { + "tags": [ + "Backup" + ], + "summary": "Gets a list of all currently present backups in the backup directory.", + "operationId": "ListBackups", + "responses": { + "200": { + "description": "Backups available.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupManifestDto" + } + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupManifestDto" + } + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupManifestDto" + } + } + } + } + }, + "403": { + "description": "User does not have permission to retrieve information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/Backup/Create": { + "post": { + "tags": [ + "Backup" + ], + "summary": "Creates a new Backup.", + "operationId": "CreateBackup", + "requestBody": { + "description": "The backup options.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupOptionsDto" + } + ], + "description": "Defines the optional contents of the backup archive." + } + }, + "text/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupOptionsDto" + } + ], + "description": "Defines the optional contents of the backup archive." + } + }, + "application/*+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupOptionsDto" + } + ], + "description": "Defines the optional contents of the backup archive." + } + } + } + }, + "responses": { + "200": { + "description": "Backup created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + } + } + }, + "403": { + "description": "User does not have permission to retrieve information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/Backup/Manifest": { + "get": { + "tags": [ + "Backup" + ], + "summary": "Gets the descriptor from an existing archive is present.", + "operationId": "GetBackup", + "parameters": [ + { + "name": "path", + "in": "query", + "description": "The data to start a restore process.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Backup archive manifest.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/BackupManifestDto" + } + } + } + }, + "204": { + "description": "Not a valid jellyfin Archive." + }, + "404": { + "description": "Not a valid path.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "User does not have permission to retrieve information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/Backup/Restore": { + "post": { + "tags": [ + "Backup" + ], + "summary": "Restores to a backup by restarting the server and applying the backup.", + "operationId": "StartRestoreBackup", + "requestBody": { + "description": "The data to start a restore process.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupRestoreRequestDto" + } + ], + "description": "Defines properties used to start a restore process." + } + }, + "text/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupRestoreRequestDto" + } + ], + "description": "Defines properties used to start a restore process." + } + }, + "application/*+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupRestoreRequestDto" + } + ], + "description": "Defines properties used to start a restore process." + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Backup restore started." + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "User does not have permission to retrieve information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, "/Branding/Configuration": { "get": { "tags": [ @@ -2912,20 +3639,44 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BrandingOptions" + "$ref": "#/components/schemas/BrandingOptionsDto" } }, "application/json; profile=\"CamelCase\"": { "schema": { - "$ref": "#/components/schemas/BrandingOptions" + "$ref": "#/components/schemas/BrandingOptionsDto" } }, "application/json; profile=\"PascalCase\"": { "schema": { - "$ref": "#/components/schemas/BrandingOptions" + "$ref": "#/components/schemas/BrandingOptionsDto" } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -2965,6 +3716,30 @@ }, "204": { "description": "No branding css configured." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -3004,6 +3779,30 @@ }, "204": { "description": "No branding css configured." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -3089,6 +3888,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3145,6 +3968,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3281,6 +4128,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3334,6 +4205,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3441,6 +4336,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3535,6 +4454,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -3615,6 +4558,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3668,6 +4635,30 @@ "204": { "description": "Items added to collection." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3719,6 +4710,30 @@ "204": { "description": "Items removed from collection." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3764,6 +4779,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3825,6 +4864,30 @@ "204": { "description": "Configuration updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3872,6 +4935,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3923,6 +5010,118 @@ "204": { "description": "Named configuration updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation", + "DefaultAuthorization" + ] + } + ] + } + }, + "/System/Configuration/Branding": { + "post": { + "tags": [ + "Configuration" + ], + "summary": "Updates branding configuration.", + "operationId": "UpdateBrandingConfiguration", + "requestBody": { + "description": "Branding configuration.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BrandingOptionsDto" + } + ], + "description": "The branding options DTO for API use.\r\nThis DTO excludes SplashscreenLocation to prevent it from being updated via API." + } + }, + "text/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BrandingOptionsDto" + } + ], + "description": "The branding options DTO for API use.\r\nThis DTO excludes SplashscreenLocation to prevent it from being updated via API." + } + }, + "application/*+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/BrandingOptionsDto" + } + ], + "description": "The branding options DTO for API use.\r\nThis DTO excludes SplashscreenLocation to prevent it from being updated via API." + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "Branding configuration updated." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -3968,6 +5167,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4039,6 +5262,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -4110,6 +5357,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4165,6 +5436,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4221,6 +5516,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4296,6 +5615,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4371,6 +5714,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4443,6 +5810,30 @@ "204": { "description": "Device options updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4516,6 +5907,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4606,6 +6021,30 @@ "204": { "description": "Display preferences updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -4665,6 +6104,7 @@ "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -4880,6 +6320,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -5143,6 +6584,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -5369,6 +6834,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -5632,6 +7098,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -5859,6 +7349,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -6106,7 +7597,7 @@ "description": "Enable adaptive bitrate streaming.", "schema": { "type": "boolean", - "default": true + "default": false } }, { @@ -6131,6 +7622,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -6356,6 +7871,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -6603,7 +8119,7 @@ "description": "Enable adaptive bitrate streaming.", "schema": { "type": "boolean", - "default": true + "default": false } }, { @@ -6628,6 +8144,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -6687,6 +8227,7 @@ "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -6893,6 +8434,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -7183,6 +8725,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -7409,6 +8975,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -7707,6 +9274,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -7924,6 +9515,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -8214,6 +9806,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -8432,6 +10048,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -8697,7 +10314,7 @@ "description": "Enable adaptive bitrate streaming.", "schema": { "type": "boolean", - "default": true + "default": false } }, { @@ -8740,6 +10357,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -8956,6 +10597,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -9221,7 +10863,7 @@ "description": "Enable adaptive bitrate streaming.", "schema": { "type": "boolean", - "default": true + "default": false } }, { @@ -9264,6 +10906,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9308,6 +10974,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9391,6 +11081,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9445,6 +11159,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9499,6 +11237,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9556,6 +11318,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9640,6 +11426,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9727,6 +11537,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -9858,6 +11692,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -10073,6 +11931,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -10137,6 +12019,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -10191,6 +12097,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -10233,6 +12163,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -10313,6 +12267,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -10356,6 +12334,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -10403,6 +12405,30 @@ "204": { "description": "Encoding stopped successfully." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -10641,6 +12667,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -10865,6 +12915,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -10904,97 +12978,6 @@ } ] } - }, - { - "name": "maxWidth", - "in": "query", - "description": "The maximum image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "maxHeight", - "in": "query", - "description": "The maximum image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "width", - "in": "query", - "description": "The fixed image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "height", - "in": "query", - "description": "The fixed image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillWidth", - "in": "query", - "description": "Width of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillHeight", - "in": "query", - "description": "Height of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "blur", - "in": "query", - "description": "Blur image.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "backgroundColor", - "in": "query", - "description": "Apply a background color for transparent images.", - "schema": { - "type": "string" - } - }, - { - "name": "foregroundLayer", - "in": "query", - "description": "Apply a foreground layer on top of the image.", - "schema": { - "type": "string" - } - }, - { - "name": "quality", - "in": "query", - "description": "Quality setting, from 0-100.", - "schema": { - "maximum": 100, - "minimum": 0, - "type": "integer", - "format": "int32", - "default": 90 - } } ], "responses": { @@ -11008,6 +12991,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -11071,6 +13078,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -11096,6 +13127,30 @@ "403": { "description": "User does not have permission to delete splashscreen.." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -11330,6 +13385,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -11553,6 +13632,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -11779,6 +13882,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -12003,6 +14130,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -12076,6 +14227,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -12173,6 +14348,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -12289,6 +14488,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -12525,6 +14748,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -12749,6 +14996,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -12835,6 +15106,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -12961,6 +15256,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -13198,6 +15517,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -13423,6 +15766,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -13657,6 +16024,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -13889,6 +16280,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -13985,6 +16400,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -14222,6 +16661,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -14445,6 +16908,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -14671,6 +17158,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -14895,6 +17406,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -15120,6 +17655,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -15343,6 +17902,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -15569,6 +18152,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -15793,6 +18400,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -16018,6 +18649,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -16241,6 +18896,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -16467,6 +19146,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -16691,6 +19394,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -16787,6 +19514,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -16840,6 +19591,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -16895,121 +19670,6 @@ } ] } - }, - { - "name": "maxWidth", - "in": "query", - "description": "The maximum image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "maxHeight", - "in": "query", - "description": "The maximum image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "percentPlayed", - "in": "query", - "description": "Optional. Percent to render for the percent played overlay.", - "schema": { - "type": "number", - "format": "double" - } - }, - { - "name": "unplayedCount", - "in": "query", - "description": "Optional. Unplayed count overlay to render.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "width", - "in": "query", - "description": "The fixed image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "height", - "in": "query", - "description": "The fixed image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "quality", - "in": "query", - "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillWidth", - "in": "query", - "description": "Width of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillHeight", - "in": "query", - "description": "Height of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "blur", - "in": "query", - "description": "Optional. Blur image.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "backgroundColor", - "in": "query", - "description": "Optional. Apply a background color for transparent images.", - "schema": { - "type": "string" - } - }, - { - "name": "foregroundLayer", - "in": "query", - "description": "Optional. Apply a foreground layer on top of the image.", - "schema": { - "type": "string" - } - }, - { - "name": "imageIndex", - "in": "query", - "description": "Image index.", - "schema": { - "type": "integer", - "format": "int32" - } } ], "responses": { @@ -17063,6 +19723,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -17109,121 +19793,6 @@ } ] } - }, - { - "name": "maxWidth", - "in": "query", - "description": "The maximum image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "maxHeight", - "in": "query", - "description": "The maximum image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "percentPlayed", - "in": "query", - "description": "Optional. Percent to render for the percent played overlay.", - "schema": { - "type": "number", - "format": "double" - } - }, - { - "name": "unplayedCount", - "in": "query", - "description": "Optional. Unplayed count overlay to render.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "width", - "in": "query", - "description": "The fixed image width to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "height", - "in": "query", - "description": "The fixed image height to return.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "quality", - "in": "query", - "description": "Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillWidth", - "in": "query", - "description": "Width of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "fillHeight", - "in": "query", - "description": "Height of box to fill.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "blur", - "in": "query", - "description": "Optional. Blur image.", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "backgroundColor", - "in": "query", - "description": "Optional. Apply a background color for transparent images.", - "schema": { - "type": "string" - } - }, - { - "name": "foregroundLayer", - "in": "query", - "description": "Optional. Apply a foreground layer on top of the image.", - "schema": { - "type": "string" - } - }, - { - "name": "imageIndex", - "in": "query", - "description": "Image index.", - "schema": { - "type": "integer", - "format": "int32" - } } ], "responses": { @@ -17277,6 +19846,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -17406,6 +19999,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -17547,6 +20164,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -17688,6 +20329,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -17830,6 +20495,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -17950,6 +20639,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18091,6 +20804,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18232,6 +20969,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18373,6 +21134,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18458,6 +21243,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18560,6 +21369,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18647,6 +21480,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18733,6 +21590,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18819,6 +21700,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18905,6 +21810,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -18991,6 +21920,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -19077,6 +22030,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -19163,6 +22140,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -19250,6 +22251,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -19336,6 +22361,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -19425,6 +22474,15 @@ "type": "boolean", "default": false } + }, + { + "name": "regenerateTrickplay", + "in": "query", + "description": "(Optional) Determines if trickplay images should be replaced. Only applicable if mode is FullRefresh.", + "schema": { + "type": "boolean", + "default": false + } } ], "responses": { @@ -19451,6 +22509,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20309,6 +23391,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20388,6 +23494,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "403": { "description": "Forbidden" } @@ -20470,6 +23600,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20589,6 +23743,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20778,6 +23956,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20873,6 +24075,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -20950,6 +24176,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "403": { "description": "Forbidden" } @@ -21010,6 +24260,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21077,6 +24351,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21153,6 +24451,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21250,6 +24572,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21347,6 +24693,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21441,6 +24811,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21495,6 +24889,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21569,6 +24987,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21643,6 +25085,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21740,6 +25206,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21839,6 +25329,30 @@ "404": { "description": "Item not found." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -21955,6 +25469,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22071,6 +25609,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22134,6 +25696,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22216,6 +25802,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22280,6 +25890,30 @@ "204": { "description": "Report success." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22334,6 +25968,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22379,6 +26037,30 @@ "204": { "description": "Report success." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22424,6 +26106,30 @@ "204": { "description": "Report success." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22477,6 +26183,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22504,6 +26234,30 @@ "204": { "description": "Library scan started." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22541,6 +26295,30 @@ "204": { "description": "Report success." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22578,6 +26356,30 @@ "204": { "description": "Report success." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22675,6 +26477,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22772,6 +26598,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22869,6 +26719,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -22922,6 +26796,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23035,6 +26933,30 @@ "204": { "description": "Folder added." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23080,6 +27002,33 @@ "204": { "description": "Folder removed." }, + "404": { + "description": "Folder not found." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23163,6 +27112,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23258,6 +27231,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23333,6 +27330,30 @@ "204": { "description": "Media path added." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23386,6 +27407,30 @@ "204": { "description": "Media path removed." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23450,6 +27495,30 @@ "204": { "description": "Media path updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23505,6 +27574,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23586,6 +27679,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23832,6 +27949,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23918,6 +28059,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -23940,11 +28105,11 @@ "tags": [ "LiveTv" ], - "summary": "Get guid info.", + "summary": "Get guide info.", "operationId": "GetGuideInfo", "responses": { "200": { - "description": "Guid info returned.", + "description": "Guide info returned.", "content": { "application/json": { "schema": { @@ -23963,6 +28128,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24008,6 +28197,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24113,6 +28326,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24149,6 +28386,30 @@ "204": { "description": "Listing provider deleted." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24194,6 +28455,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24282,6 +28567,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24318,6 +28627,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24384,6 +28717,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -24411,6 +28768,7 @@ "description": "Container type.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } } @@ -24446,6 +28804,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -24729,6 +29111,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24807,6 +29213,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24872,6 +29302,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -24906,6 +29360,15 @@ "format": "uuid" } }, + { + "name": "startIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "schema": { + "type": "integer", + "format": "int32" + } + }, { "name": "limit", "in": "query", @@ -25061,6 +29524,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25284,6 +29771,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25370,6 +29881,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25428,6 +29963,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25484,6 +30043,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25540,6 +30123,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25598,6 +30205,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25782,6 +30413,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25854,6 +30509,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25915,6 +30594,30 @@ "204": { "description": "Series timer info created." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -25991,6 +30694,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26028,6 +30755,30 @@ "204": { "description": "Timer cancelled." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26100,6 +30851,30 @@ "204": { "description": "Series timer updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26179,6 +30954,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26237,6 +31036,30 @@ "204": { "description": "Timer created." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26293,6 +31116,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26330,6 +31177,30 @@ "204": { "description": "Timer deleted." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26399,6 +31270,30 @@ "204": { "description": "Timer updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26454,6 +31349,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26531,6 +31450,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26567,6 +31510,30 @@ "204": { "description": "Tuner host deleted." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26621,6 +31588,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26660,6 +31651,30 @@ "204": { "description": "Tuner reset." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26725,6 +31740,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26790,6 +31829,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26844,6 +31907,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26898,6 +31985,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -26952,6 +32063,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27006,6 +32141,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27083,6 +32242,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27196,6 +32379,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27254,6 +32461,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27340,6 +32571,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27426,6 +32681,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27502,6 +32781,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27588,6 +32891,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27764,7 +33091,7 @@ "$ref": "#/components/schemas/PlaybackInfoDto" } ], - "description": "Plabyback info dto." + "description": "Playback info dto." } }, "text/json": { @@ -27774,7 +33101,7 @@ "$ref": "#/components/schemas/PlaybackInfoDto" } ], - "description": "Plabyback info dto." + "description": "Playback info dto." } }, "application/*+json": { @@ -27784,7 +33111,7 @@ "$ref": "#/components/schemas/PlaybackInfoDto" } ], - "description": "Plabyback info dto." + "description": "Playback info dto." } } } @@ -27830,6 +33157,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -27868,6 +33219,30 @@ "204": { "description": "Livestream closed." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28052,6 +33427,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28101,6 +33500,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28188,6 +33611,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28292,6 +33739,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28507,6 +33978,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28572,6 +34067,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28588,6 +34107,105 @@ ] } }, + "/Jellyfin.Plugin.OpenSubtitles/ValidateLoginInfo": { + "post": { + "tags": [ + "OpenSubtitles" + ], + "operationId": "ValidateLoginInfo", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoginInfoInput" + } + ] + } + }, + "text/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoginInfoInput" + } + ] + } + }, + "application/*+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/LoginInfoInput" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "SubtitleManagement", + "DefaultAuthorization" + ] + } + ] + } + }, "/Packages": { "get": { "tags": [ @@ -28625,6 +34243,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28689,6 +34331,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28772,6 +34438,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28811,6 +34501,30 @@ "204": { "description": "Installation cancelled." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28864,6 +34578,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -28919,6 +34657,30 @@ "204": { "description": "Package repositories saved." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -29089,6 +34851,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -29173,6 +34959,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -29189,6 +34999,1156 @@ ] } }, + "/user_usage_stats/{breakdownType}/BreakdownReport": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetBreakdownReport", + "parameters": [ + { + "name": "breakdownType", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/{userId}/{date}/GetItems": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetUserReportData", + "parameters": [ + { + "name": "userId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "date", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/DurationHistogramReport": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetDurationHistogramReport", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "filter", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/GetTvShowsReport": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetTvShowsReport", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/HourlyReport": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetHourlyReport", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "filter", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/load_backup": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "LoadBackup", + "parameters": [ + { + "name": "backupFilePath", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/MoviesReport": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetMovieReport", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/PlayActivity": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetUsageStats", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "filter", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "dataType", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/save_backup": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "SaveBackup", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/submit_custom_query": { + "post": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "CustomQuery", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomQueryData" + } + ] + } + }, + "text/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomQueryData" + } + ] + } + }, + "application/*+json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomQueryData" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": {} + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/type_filter_list": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetTypeFilterList", + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/user_activity": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetUserReport", + "parameters": [ + { + "name": "days", + "in": "query", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "endDate", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "timezoneOffset", + "in": "query", + "schema": { + "type": "number", + "format": "float" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/user_list": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "GetJellyfinUsers", + "responses": { + "200": { + "description": "Success" + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/user_manage/add": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "IgnoreListAdd", + "parameters": [ + { + "name": "id", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/user_manage/prune": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "PruneUnknownUsers", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, + "/user_usage_stats/user_manage/remove": { + "get": { + "tags": [ + "PlaybackReportingActivity" + ], + "operationId": "IgnoreListRemove", + "parameters": [ + { + "name": "id", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, "/Playlists": { "post": { "tags": [ @@ -29307,6 +36267,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -29422,6 +36406,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -29493,6 +36501,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -29593,6 +36625,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -29677,6 +36733,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -29842,6 +36922,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -29936,6 +37040,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -30038,6 +37166,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -30141,6 +37293,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -30261,6 +37437,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -30347,6 +37547,30 @@ }, "401": { "description": "Unauthorized access." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } }, "security": [ @@ -30449,6 +37673,30 @@ "204": { "description": "Play start recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30456,6 +37704,7 @@ "description": "Forbidden" } }, + "deprecated": true, "security": [ { "CustomAuthentication": [ @@ -30527,6 +37776,30 @@ "204": { "description": "Playback stop recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30534,6 +37807,7 @@ "description": "Forbidden" } }, + "deprecated": true, "security": [ { "CustomAuthentication": [ @@ -30678,6 +37952,30 @@ "204": { "description": "Play progress recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30685,6 +37983,7 @@ "description": "Forbidden" } }, + "deprecated": true, "security": [ { "CustomAuthentication": [ @@ -30740,6 +38039,30 @@ "204": { "description": "Playback start recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30778,6 +38101,30 @@ "204": { "description": "Playback session pinged." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30840,6 +38187,30 @@ "204": { "description": "Playback progress recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30902,6 +38273,30 @@ "204": { "description": "Playback stop recorded." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -30996,6 +38391,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31079,6 +38498,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31132,6 +38575,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31191,6 +38658,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31260,6 +38751,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31328,6 +38843,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31396,6 +38935,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31472,6 +39035,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31548,6 +39135,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31606,6 +39217,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31665,6 +39300,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -31749,6 +39408,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -31820,6 +39503,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -31851,6 +39558,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -31885,6 +39616,30 @@ }, "401": { "description": "Quick connect is not active on this server." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -32011,6 +39766,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32107,6 +39886,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32192,6 +39995,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32263,6 +40090,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32338,6 +40189,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32426,6 +40301,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32484,6 +40383,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32540,6 +40463,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32749,6 +40696,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32802,6 +40773,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32855,6 +40850,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -32936,6 +40955,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33007,6 +41050,30 @@ "204": { "description": "Full general command sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33104,6 +41171,30 @@ "204": { "description": "General command sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33175,6 +41266,30 @@ "204": { "description": "Message sent." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33291,6 +41406,30 @@ "204": { "description": "Instruction sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33371,6 +41510,30 @@ "204": { "description": "Playstate command sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33468,6 +41631,30 @@ "204": { "description": "System command sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33516,6 +41703,30 @@ "204": { "description": "User added to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33562,6 +41773,30 @@ "204": { "description": "User removed from session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33671,6 +41906,30 @@ "204": { "description": "Instruction sent to session." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33748,6 +42007,30 @@ "204": { "description": "Capabilities posted." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33821,6 +42104,30 @@ "204": { "description": "Capabilities updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33848,6 +42155,30 @@ "204": { "description": "Session end reported to server." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33894,6 +42225,30 @@ "204": { "description": "Session reported to server." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33921,6 +42276,30 @@ "204": { "description": "Startup wizard completed." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -33966,6 +42345,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34028,6 +42431,30 @@ "204": { "description": "Configuration saved." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34073,6 +42500,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34137,6 +42588,30 @@ "204": { "description": "Configuration saved." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34182,6 +42657,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34243,6 +42742,30 @@ "204": { "description": "Updated user name and password." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34445,6 +42968,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34509,6 +43056,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34562,6 +43133,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34608,6 +43203,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34710,6 +43329,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34779,6 +43422,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34826,6 +43493,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -34923,6 +43614,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35018,6 +43733,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35088,6 +43827,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35247,6 +44010,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -35384,6 +44171,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -35476,6 +44287,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35492,6 +44327,108 @@ ] } }, + "/SyncPlay/{id}": { + "get": { + "tags": [ + "SyncPlay" + ], + "summary": "Gets a SyncPlay group by id.", + "operationId": "SyncPlayGetGroup", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The id of the group.", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "Group returned.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + } + }, + "security": [ + { + "CustomAuthentication": [ + "SyncPlayJoinGroup", + "SyncPlayHasAccess", + "DefaultAuthorization" + ] + } + ] + } + }, "/SyncPlay/Buffering": { "post": { "tags": [ @@ -35539,6 +44476,30 @@ "204": { "description": "Group state update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35604,6 +44565,30 @@ "204": { "description": "Group join successful." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35633,6 +44618,30 @@ "204": { "description": "Group leave successful." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35688,6 +44697,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35753,6 +44786,30 @@ "204": { "description": "Queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35815,9 +44872,53 @@ "required": true }, "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/GroupInfoDto" + } + } + } + }, "204": { "description": "New group created." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35883,6 +44984,30 @@ "204": { "description": "Next item update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35912,6 +45037,30 @@ "204": { "description": "Pause update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -35977,6 +45126,30 @@ "204": { "description": "Ping updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36041,6 +45214,30 @@ "204": { "description": "Previous item update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36106,6 +45303,30 @@ "204": { "description": "Queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36171,6 +45392,30 @@ "204": { "description": "Group state update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36236,6 +45481,30 @@ "204": { "description": "Queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36301,6 +45570,30 @@ "204": { "description": "Seek update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36366,6 +45659,30 @@ "204": { "description": "Member state updated." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36431,6 +45748,30 @@ "204": { "description": "Queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36496,6 +45837,30 @@ "204": { "description": "Queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36561,6 +45926,30 @@ "204": { "description": "Play queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36626,6 +46015,30 @@ "204": { "description": "Play queue update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36655,6 +46068,30 @@ "204": { "description": "Stop update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36684,6 +46121,30 @@ "204": { "description": "Unpause update sent to all group members." }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -36750,6 +46211,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -36811,6 +46296,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -36852,10 +46361,119 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } }, + "/System/Info/Storage": { + "get": { + "tags": [ + "System" + ], + "summary": "Gets information about the server.", + "operationId": "GetSystemStorage", + "responses": { + "200": { + "description": "Information retrieved.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemStorageDto" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/SystemStorageDto" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/SystemStorageDto" + } + } + } + }, + "403": { + "description": "User does not have permission to retrieve information.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"CamelCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "application/json; profile=\"PascalCase\"": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, + "401": { + "description": "Unauthorized" + } + }, + "security": [ + { + "CustomAuthentication": [ + "RequiresElevation" + ] + } + ] + } + }, "/System/Logs": { "get": { "tags": [ @@ -36913,6 +46531,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -36996,6 +46638,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -37036,6 +46702,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -37065,6 +46755,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -37100,6 +46814,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -37144,6 +46882,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -37157,60 +46919,6 @@ ] } }, - "/System/WakeOnLanInfo": { - "get": { - "tags": [ - "System" - ], - "summary": "Gets wake on lan information.", - "operationId": "GetWakeOnLanInfo", - "responses": { - "200": { - "description": "Information retrieved.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WakeOnLanInfo" - } - } - }, - "application/json; profile=\"CamelCase\"": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WakeOnLanInfo" - } - } - }, - "application/json; profile=\"PascalCase\"": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WakeOnLanInfo" - } - } - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": true, - "security": [ - { - "CustomAuthentication": [ - "DefaultAuthorization" - ] - } - ] - } - }, "/GetUtcTime": { "get": { "tags": [ @@ -37238,6 +46946,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -37260,6 +46992,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38098,6 +47854,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38194,6 +47974,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38280,6 +48084,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38467,9 +48295,7 @@ "DateLastContentAdded", "SeriesDatePlayed", "ParentIndexNumber", - "IndexNumber", - "SimilarityScore", - "SearchScore" + "IndexNumber" ], "allOf": [ { @@ -38520,6 +48346,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38677,6 +48527,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38815,6 +48689,7 @@ "name": "disableFirstEpisode", "in": "query", "description": "Whether to disable sending the first episode in a series as next up.", + "deprecated": true, "schema": { "type": "boolean", "default": false @@ -38860,6 +48735,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -38989,6 +48888,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39227,6 +49150,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39463,6 +49410,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39534,6 +49505,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39646,6 +49641,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -39719,6 +49738,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39777,6 +49820,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -39889,6 +49956,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -39965,6 +50056,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -40035,6 +50150,30 @@ }, "400": { "description": "Missing token." + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -40117,6 +50256,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -40193,6 +50356,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -40260,6 +50447,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -40312,6 +50523,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40392,6 +50627,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40506,6 +50765,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" } @@ -40555,6 +50838,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -40608,6 +50915,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40682,6 +51013,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40756,6 +51111,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40914,6 +51293,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -40969,6 +51372,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41034,6 +51461,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41097,6 +51548,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41162,6 +51637,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41233,6 +51732,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41316,6 +51839,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41400,6 +51947,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41485,6 +52056,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -41538,6 +52133,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41597,6 +52216,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -41823,6 +52466,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -42103,6 +52747,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -42315,6 +52983,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -42595,6 +53264,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -42623,6 +53316,7 @@ "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -42808,6 +53502,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -43088,6 +53783,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } }, @@ -43114,6 +53833,7 @@ "description": "The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv.", "required": true, "schema": { + "pattern": "^[a-zA-Z0-9\\-\\._,|]{0,40}$", "type": "string" } }, @@ -43299,6 +54019,7 @@ "in": "query", "description": "Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1.", "schema": { + "pattern": "-?[0-9]+(?:\\.[0-9]+)?", "type": "string" } }, @@ -43579,6 +54300,30 @@ } } } + }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } } } } @@ -43629,6 +54374,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -43823,6 +54592,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -43908,6 +54701,30 @@ } } }, + "503": { + "description": "The server is currently starting or is temporarily not available.", + "headers": { + "Retry-After": { + "description": "A hint for when to retry the operation in full seconds.", + "allowEmptyValue": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + "Message": { + "description": "A short plain-text reason why the server is not available.", + "allowEmptyValue": true, + "schema": { + "type": "string", + "format": "text" + } + } + }, + "content": { + "text/html": {} + } + }, "401": { "description": "Unauthorized" }, @@ -44625,7 +55442,7 @@ "$ref": "#/components/schemas/UserDto" } ], - "description": "Class UserDto.", + "description": "Gets or sets the user.", "nullable": true }, "SessionInfo": { @@ -44634,7 +55451,7 @@ "$ref": "#/components/schemas/SessionInfoDto" } ], - "description": "Session info DTO.", + "description": "Gets or sets the session info.", "nullable": true }, "AccessToken": { @@ -44651,6 +55468,72 @@ "additionalProperties": false, "description": "A class representing an authentication result." }, + "BackupManifestDto": { + "type": "object", + "properties": { + "ServerVersion": { + "type": "string", + "description": "Gets or sets the jellyfin version this backup was created with." + }, + "BackupEngineVersion": { + "type": "string", + "description": "Gets or sets the backup engine version this backup was created with." + }, + "DateCreated": { + "type": "string", + "description": "Gets or sets the date this backup was created with.", + "format": "date-time" + }, + "Path": { + "type": "string", + "description": "Gets or sets the path to the backup on the system." + }, + "Options": { + "allOf": [ + { + "$ref": "#/components/schemas/BackupOptionsDto" + } + ], + "description": "Gets or sets the contents of the backup archive." + } + }, + "additionalProperties": false, + "description": "Manifest type for backups internal structure." + }, + "BackupOptionsDto": { + "type": "object", + "properties": { + "Metadata": { + "type": "boolean", + "description": "Gets or sets a value indicating whether the archive contains the Metadata contents." + }, + "Trickplay": { + "type": "boolean", + "description": "Gets or sets a value indicating whether the archive contains the Trickplay contents." + }, + "Subtitles": { + "type": "boolean", + "description": "Gets or sets a value indicating whether the archive contains the Subtitle contents." + }, + "Database": { + "type": "boolean", + "description": "Gets or sets a value indicating whether the archive contains the Database contents." + } + }, + "additionalProperties": false, + "description": "Defines the optional contents of the backup archive." + }, + "BackupRestoreRequestDto": { + "type": "object", + "properties": { + "ArchiveFileName": { + "type": "string", + "description": "Gets or Sets the name of the backup archive to restore from. Must be present in MediaBrowser.Common.Configuration.IApplicationPaths.BackupPath." + } + }, + "additionalProperties": false, + "description": "Defines properties used to start a restore process." + }, "BaseItemDto": { "type": "object", "properties": { @@ -45026,7 +55909,7 @@ "$ref": "#/components/schemas/BaseItemKind" } ], - "description": "Gets or sets the type." + "description": "The base item kind." }, "People": { "type": "array", @@ -45425,6 +56308,7 @@ "ParentPrimaryImageItemId": { "type": "string", "description": "Gets or sets the parent primary image item identifier.", + "format": "uuid", "nullable": true }, "ParentPrimaryImageTag": { @@ -45445,7 +56329,7 @@ "additionalProperties": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/TrickplayInfo" + "$ref": "#/components/schemas/TrickplayInfoDto" } }, "description": "Gets or sets the trickplay manifest.", @@ -45492,7 +56376,8 @@ "$ref": "#/components/schemas/MediaType" } ], - "description": "Gets or sets the type of the media." + "description": "Media types.", + "default": "Unknown" }, "EndDate": { "type": "string", @@ -45889,7 +56774,8 @@ "$ref": "#/components/schemas/PersonKind" } ], - "description": "Gets or sets the type." + "description": "The person kind.", + "default": "Unknown" }, "PrimaryImageTag": { "type": "string", @@ -46176,7 +57062,7 @@ }, "additionalProperties": false }, - "BrandingOptions": { + "BrandingOptionsDto": { "type": "object", "properties": { "LoginDisclaimer": { @@ -46195,7 +57081,7 @@ } }, "additionalProperties": false, - "description": "The branding options." + "description": "The branding options DTO for API use.\r\nThis DTO excludes SplashscreenLocation to prevent it from being updated via API." }, "BufferRequestDto": { "type": "object", @@ -46822,6 +57708,101 @@ "additionalProperties": false, "description": "Class CultureDto." }, + "CustomDatabaseOption": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "Gets or sets the key of the value." + }, + "Value": { + "type": "string", + "description": "Gets or sets the value." + } + }, + "additionalProperties": false, + "description": "The custom value option for custom database providers." + }, + "CustomDatabaseOptions": { + "type": "object", + "properties": { + "PluginName": { + "type": "string", + "description": "Gets or sets the Plugin name to search for database providers." + }, + "PluginAssembly": { + "type": "string", + "description": "Gets or sets the plugin assembly to search for providers." + }, + "ConnectionString": { + "type": "string", + "description": "Gets or sets the connection string for the custom database provider." + }, + "Options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomDatabaseOption" + }, + "description": "Gets or sets the list of extra options for the custom provider." + } + }, + "additionalProperties": false, + "description": "Defines the options for a custom database connector." + }, + "CustomQueryData": { + "type": "object", + "properties": { + "CustomQueryString": { + "type": "string" + }, + "ReplaceUserId": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "DatabaseConfigurationOptions": { + "type": "object", + "properties": { + "DatabaseType": { + "type": "string", + "description": "Gets or Sets the type of database jellyfin should use." + }, + "CustomProviderOptions": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomDatabaseOptions" + } + ], + "description": "Gets or sets the options required to use a custom database provider.", + "nullable": true + }, + "LockingBehavior": { + "enum": [ + "NoLock", + "Pessimistic", + "Optimistic" + ], + "allOf": [ + { + "$ref": "#/components/schemas/DatabaseLockingBehaviorTypes" + } + ], + "description": "Gets or Sets the kind of locking behavior jellyfin should perform. Possible options are \"NoLock\", \"Pessimistic\", \"Optimistic\".\r\nDefaults to \"NoLock\"." + } + }, + "additionalProperties": false, + "description": "Options to configure jellyfins managed database." + }, + "DatabaseLockingBehaviorTypes": { + "enum": [ + "NoLock", + "Pessimistic", + "Optimistic" + ], + "type": "string", + "description": "Defines all possible methods for locking database access for concurrent queries." + }, "DayOfWeek": { "enum": [ "Sunday", @@ -47143,7 +58124,7 @@ "$ref": "#/components/schemas/ScrollDirection" } ], - "description": "Gets or sets the scroll direction." + "description": "An enum representing the axis that should be scrolled." }, "ShowBackdrop": { "type": "boolean", @@ -47163,7 +58144,7 @@ "$ref": "#/components/schemas/SortOrder" } ], - "description": "Gets or sets the sort order." + "description": "An enum representing the sorting order." }, "ShowSidebar": { "type": "boolean", @@ -47592,7 +58573,8 @@ "Season", "Series", "Track", - "Book" + "Book", + "Recording" ], "allOf": [ { @@ -47601,12 +58583,6 @@ ], "description": "Gets or sets the specific media type for this id. This is used to distinguish between the different\r\nexternal id types for providers with multiple ids.\r\nA null value indicates there is no specific media type associated with the external id, or this is the\r\ndefault id for the external provider so there is no need to specify a type.", "nullable": true - }, - "UrlFormatString": { - "type": "string", - "description": "Gets or sets the URL format string.", - "nullable": true, - "deprecated": true } }, "additionalProperties": false, @@ -47626,7 +58602,8 @@ "Season", "Series", "Track", - "Book" + "Book", + "Recording" ], "type": "string", "description": "The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo." @@ -47703,6 +58680,37 @@ "type": "string", "description": "Enum FileSystemEntryType." }, + "FolderStorageDto": { + "type": "object", + "properties": { + "Path": { + "type": "string", + "description": "Gets the path of the folder in question." + }, + "FreeSpace": { + "type": "integer", + "description": "Gets the free space of the underlying storage device of the Jellyfin.Api.Models.SystemInfoDtos.FolderStorageDto.Path.", + "format": "int64" + }, + "UsedSpace": { + "type": "integer", + "description": "Gets the used space of the underlying storage device of the Jellyfin.Api.Models.SystemInfoDtos.FolderStorageDto.Path.", + "format": "int64" + }, + "StorageType": { + "type": "string", + "description": "Gets the kind of storage device of the Jellyfin.Api.Models.SystemInfoDtos.FolderStorageDto.Path.", + "nullable": true + }, + "DeviceId": { + "type": "string", + "description": "Gets the Device Identifier.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Contains information about a specific folder." + }, "FontFile": { "type": "object", "properties": { @@ -48261,48 +59269,6 @@ "additionalProperties": false, "description": "Class GroupInfoDto." }, - "GroupInfoDtoGroupUpdate": { - "type": "object", - "properties": { - "GroupId": { - "type": "string", - "description": "Gets the group identifier.", - "format": "uuid", - "readOnly": true - }, - "Type": { - "enum": [ - "UserJoined", - "UserLeft", - "GroupJoined", - "GroupLeft", - "StateUpdate", - "PlayQueue", - "NotInGroup", - "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", - "LibraryAccessDenied" - ], - "allOf": [ - { - "$ref": "#/components/schemas/GroupUpdateType" - } - ], - "description": "Gets the update type." - }, - "Data": { - "allOf": [ - { - "$ref": "#/components/schemas/GroupInfoDto" - } - ], - "description": "Gets the update data." - } - }, - "additionalProperties": false, - "description": "Class GroupUpdate." - }, "GroupQueueMode": { "enum": [ "Queue", @@ -48386,107 +59352,50 @@ "additionalProperties": false, "description": "Class GroupStateUpdate." }, - "GroupStateUpdateGroupUpdate": { - "type": "object", - "properties": { - "GroupId": { - "type": "string", - "description": "Gets the group identifier.", - "format": "uuid", - "readOnly": true - }, - "Type": { - "enum": [ - "UserJoined", - "UserLeft", - "GroupJoined", - "GroupLeft", - "StateUpdate", - "PlayQueue", - "NotInGroup", - "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", - "LibraryAccessDenied" - ], - "allOf": [ - { - "$ref": "#/components/schemas/GroupUpdateType" - } - ], - "description": "Gets the update type." - }, - "Data": { - "allOf": [ - { - "$ref": "#/components/schemas/GroupStateUpdate" - } - ], - "description": "Gets the update data." - } - }, - "additionalProperties": false, - "description": "Class GroupUpdate." - }, "GroupUpdate": { "type": "object", "oneOf": [ { - "$ref": "#/components/schemas/GroupInfoDtoGroupUpdate" + "$ref": "#/components/schemas/SyncPlayGroupDoesNotExistUpdate" }, { - "$ref": "#/components/schemas/GroupStateUpdateGroupUpdate" + "$ref": "#/components/schemas/SyncPlayGroupJoinedUpdate" }, { - "$ref": "#/components/schemas/StringGroupUpdate" + "$ref": "#/components/schemas/SyncPlayGroupLeftUpdate" }, { - "$ref": "#/components/schemas/PlayQueueUpdateGroupUpdate" + "$ref": "#/components/schemas/SyncPlayLibraryAccessDeniedUpdate" + }, + { + "$ref": "#/components/schemas/SyncPlayNotInGroupUpdate" + }, + { + "$ref": "#/components/schemas/SyncPlayPlayQueueUpdate" + }, + { + "$ref": "#/components/schemas/SyncPlayStateUpdate" + }, + { + "$ref": "#/components/schemas/SyncPlayUserJoinedUpdate" + }, + { + "$ref": "#/components/schemas/SyncPlayUserLeftUpdate" } ], - "properties": { - "GroupId": { - "type": "string", - "description": "Gets the group identifier.", - "format": "uuid", - "readOnly": true - }, - "Type": { - "enum": [ - "UserJoined", - "UserLeft", - "GroupJoined", - "GroupLeft", - "StateUpdate", - "PlayQueue", - "NotInGroup", - "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", - "LibraryAccessDenied" - ], - "allOf": [ - { - "$ref": "#/components/schemas/GroupUpdateType" - } - ], - "description": "Gets the update type." - } - }, - "additionalProperties": false, - "description": "Group update without data.", + "description": "Represents the list of possible group update types", "discriminator": { "propertyName": "Type", "mapping": { - "UserJoined": "#/components/schemas/StringGroupUpdate", - "UserLeft": "#/components/schemas/StringGroupUpdate", - "GroupJoined": "#/components/schemas/GroupInfoDtoGroupUpdate", - "GroupLeft": "#/components/schemas/StringGroupUpdate", - "StateUpdate": "#/components/schemas/GroupStateUpdateGroupUpdate", - "PlayQueue": "#/components/schemas/PlayQueueUpdateGroupUpdate", - "NotInGroup": "#/components/schemas/StringGroupUpdate", - "GroupDoesNotExist": "#/components/schemas/StringGroupUpdate", - "LibraryAccessDenied": "#/components/schemas/StringGroupUpdate" + "GroupDoesNotExist": "#/components/schemas/SyncPlayGroupDoesNotExistUpdate", + "GroupJoined": "#/components/schemas/SyncPlayGroupJoinedUpdate", + "GroupLeft": "#/components/schemas/SyncPlayGroupLeftUpdate", + "LibraryAccessDenied": "#/components/schemas/SyncPlayLibraryAccessDeniedUpdate", + "NotInGroup": "#/components/schemas/SyncPlayNotInGroupUpdate", + "PlayQueue": "#/components/schemas/SyncPlayPlayQueueUpdate", + "StateUpdate": "#/components/schemas/SyncPlayStateUpdate", + "UserJoined": "#/components/schemas/SyncPlayUserJoinedUpdate", + "UserLeft": "#/components/schemas/SyncPlayUserLeftUpdate" } } }, @@ -48500,8 +59409,6 @@ "PlayQueue", "NotInGroup", "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", "LibraryAccessDenied" ], "type": "string", @@ -49017,7 +59924,6 @@ "Etag", "ExternalUrls", "Genres", - "HomePageUrl", "ItemCounts", "MediaSourceCount", "MediaSources", @@ -49032,8 +59938,6 @@ "PrimaryImageAspectRatio", "RecursiveItemCount", "Settings", - "ScreenshotImageTags", - "SeriesPrimaryImage", "SeriesStudio", "SortName", "SpecialEpisodeNumbers", @@ -49043,14 +59947,6 @@ "RemoteTrailers", "MediaStreams", "SeasonUserData", - "ServiceName", - "ThemeSongIds", - "ThemeVideoIds", - "ExternalEtag", - "PresentationUniqueKey", - "InheritedParentalRatingValue", - "ExternalSeriesId", - "SeriesPresentationUniqueKey", "DateLastRefreshed", "DateLastSaved", "RefreshState", @@ -49112,9 +60008,7 @@ "DateLastContentAdded", "SeriesDatePlayed", "ParentIndexNumber", - "IndexNumber", - "SimilarityScore", - "SearchScore" + "IndexNumber" ], "type": "string", "description": "These represent sort orders." @@ -49149,7 +60043,7 @@ "$ref": "#/components/schemas/LibraryUpdateInfo" } ], - "description": "Class LibraryUpdateInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -49330,7 +60224,7 @@ "type": "string" } }, - "MediaSegmentProvideOrder": { + "MediaSegmentProviderOrder": { "type": "array", "items": { "type": "string" @@ -49452,6 +60346,13 @@ }, "description": "Gets or sets the list of lyric fetchers." }, + "MediaSegmentProviders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LibraryOptionInfoDto" + }, + "description": "Gets or sets the list of MediaSegment Providers." + }, "TypeOptions": { "type": "array", "items": { @@ -49463,6 +60364,29 @@ "additionalProperties": false, "description": "Library options result dto." }, + "LibraryStorageDto": { + "type": "object", + "properties": { + "Id": { + "type": "string", + "description": "Gets or sets the Library Id.", + "format": "uuid" + }, + "Name": { + "type": "string", + "description": "Gets or sets the name of the library." + }, + "Folders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FolderStorageDto" + }, + "description": "Gets or sets the storage informations about the folders used in a library." + } + }, + "additionalProperties": false, + "description": "Contains informations about a libraries storage informations." + }, "LibraryTypeOptionsDto": { "type": "object", "properties": { @@ -49869,6 +60793,22 @@ }, "additionalProperties": false }, + "LoginInfoInput": { + "required": [ + "Password", + "Username" + ], + "type": "object", + "properties": { + "Username": { + "type": "string" + }, + "Password": { + "type": "string" + } + }, + "additionalProperties": false + }, "LogLevel": { "enum": [ "Trace", @@ -49915,11 +60855,47 @@ "description": "Gets the start time in ticks.", "format": "int64", "nullable": true + }, + "Cues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LyricLineCue" + }, + "description": "Gets the time-aligned cues for the song's lyrics.", + "nullable": true } }, "additionalProperties": false, "description": "Lyric model." }, + "LyricLineCue": { + "type": "object", + "properties": { + "Position": { + "type": "integer", + "description": "Gets the start character index of the cue.", + "format": "int32" + }, + "EndPosition": { + "type": "integer", + "description": "Gets the end character index of the cue.", + "format": "int32" + }, + "Start": { + "type": "integer", + "description": "Gets the timestamp the lyric is synced to in ticks.", + "format": "int64" + }, + "End": { + "type": "integer", + "description": "Gets the end timestamp the lyric is synced to in ticks.", + "format": "int64", + "nullable": true + } + }, + "additionalProperties": false, + "description": "LyricLineCue model, holds information about the timing of words within a LyricLine." + }, "LyricMetadata": { "type": "object", "properties": { @@ -50097,7 +61073,8 @@ "$ref": "#/components/schemas/MediaSegmentType" } ], - "description": "Gets or sets the type of content this segment defines." + "description": "Defines the types of content an individual Jellyfin.Database.Implementations.Entities.MediaSegment represents.", + "default": "Unknown" }, "StartTicks": { "type": "integer", @@ -50147,7 +61124,7 @@ "Intro" ], "type": "string", - "description": "Defines the types of content an individual Jellyfin.Data.Entities.MediaSegment represents." + "description": "Defines the types of content an individual Jellyfin.Database.Implementations.Entities.MediaSegment represents." }, "MediaSourceInfo": { "type": "object", @@ -50542,6 +61519,10 @@ "description": "Gets or sets the title.", "nullable": true }, + "Hdr10PlusPresentFlag": { + "type": "boolean", + "nullable": true + }, "VideoRange": { "enum": [ "Unknown", @@ -50553,7 +61534,8 @@ "$ref": "#/components/schemas/VideoRange" } ], - "description": "Gets the video range.", + "description": "An enum representing video ranges.", + "default": "Unknown", "readOnly": true }, "VideoRangeType": { @@ -50566,6 +61548,10 @@ "DOVIWithHDR10", "DOVIWithHLG", "DOVIWithSDR", + "DOVIWithEL", + "DOVIWithHDR10Plus", + "DOVIWithELHDR10Plus", + "DOVIInvalid", "HDR10Plus" ], "allOf": [ @@ -50573,7 +61559,8 @@ "$ref": "#/components/schemas/VideoRangeType" } ], - "description": "Gets the video range type.", + "description": "An enum representing types of video ranges.", + "default": "Unknown", "readOnly": true }, "VideoDoViTitle": { @@ -50593,7 +61580,7 @@ "$ref": "#/components/schemas/AudioSpatialFormat" } ], - "description": "Gets the audio spatial format.", + "description": "An enum representing formats of spatial audio.", "default": "None", "readOnly": true }, @@ -50931,25 +61918,29 @@ "type": "array", "items": { "$ref": "#/components/schemas/ParentalRating" - } + }, + "description": "Gets or sets the parental rating options." }, "Countries": { "type": "array", "items": { "$ref": "#/components/schemas/CountryInfo" - } + }, + "description": "Gets or sets the countries." }, "Cultures": { "type": "array", "items": { "$ref": "#/components/schemas/CultureDto" - } + }, + "description": "Gets or sets the cultures." }, "ExternalIdInfos": { "type": "array", "items": { "$ref": "#/components/schemas/ExternalIdInfo" - } + }, + "description": "Gets or sets the external id infos." }, "ContentType": { "enum": [ @@ -50972,16 +61963,19 @@ "$ref": "#/components/schemas/CollectionType" } ], + "description": "Gets or sets the content type.", "nullable": true }, "ContentTypeOptions": { "type": "array", "items": { "$ref": "#/components/schemas/NameValuePair" - } + }, + "description": "Gets or sets the content type options." } }, - "additionalProperties": false + "additionalProperties": false, + "description": "A class representing metadata editor information." }, "MetadataField": { "enum": [ @@ -51361,7 +62355,8 @@ }, "EnableUPnP": { "type": "boolean", - "description": "Gets or sets a value indicating whether to enable automatic port forwarding." + "description": "Gets or sets a value indicating whether to enable automatic port forwarding.", + "deprecated": true }, "EnableIPv4": { "type": "boolean", @@ -51518,7 +62513,7 @@ }, "EnableDirectStream": { "type": "boolean", - "description": "Gets or sets a value indicating whether to enale direct stream.", + "description": "Gets or sets a value indicating whether to enable direct stream.", "nullable": true }, "AlwaysBurnInSubtitleWhenTranscoding": { @@ -51532,7 +62527,7 @@ "$ref": "#/components/schemas/DeviceProfile" } ], - "description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n
\r\nSpecifically, it defines the supported containers and\r\ncodecs (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which containers/codecs to transcode to in case it isn't.", + "description": "Gets or sets the device profile.", "nullable": true }, "DirectPlayProtocols": { @@ -51673,9 +62668,6 @@ { "$ref": "#/components/schemas/SyncPlayCommandMessage" }, - { - "$ref": "#/components/schemas/SyncPlayGroupUpdateCommandMessage" - }, { "$ref": "#/components/schemas/TimerCancelledMessage" }, @@ -51690,6 +62682,9 @@ }, { "$ref": "#/components/schemas/UserUpdatedMessage" + }, + { + "$ref": "#/components/schemas/SyncPlayGroupUpdateMessage" } ], "description": "Represents the list of possible outbound websocket types", @@ -51718,12 +62713,12 @@ "ServerShuttingDown": "#/components/schemas/ServerShuttingDownMessage", "Sessions": "#/components/schemas/SessionsMessage", "SyncPlayCommand": "#/components/schemas/SyncPlayCommandMessage", - "SyncPlayGroupUpdate": "#/components/schemas/SyncPlayGroupUpdateCommandMessage", "TimerCancelled": "#/components/schemas/TimerCancelledMessage", "TimerCreated": "#/components/schemas/TimerCreatedMessage", "UserDataChanged": "#/components/schemas/UserDataChangedMessage", "UserDeleted": "#/components/schemas/UserDeletedMessage", - "UserUpdated": "#/components/schemas/UserUpdatedMessage" + "UserUpdated": "#/components/schemas/UserUpdatedMessage", + "SyncPlayGroupUpdate": "#/components/schemas/SyncPlayGroupUpdateMessage" } } }, @@ -51776,19 +62771,45 @@ "properties": { "Name": { "type": "string", - "description": "Gets or sets the name.", - "nullable": true + "description": "Gets or sets the name." }, "Value": { "type": "integer", "description": "Gets or sets the value.", "format": "int32", "nullable": true + }, + "RatingScore": { + "allOf": [ + { + "$ref": "#/components/schemas/ParentalRatingScore" + } + ], + "description": "Gets or sets the rating score.", + "nullable": true } }, "additionalProperties": false, "description": "Class ParentalRating." }, + "ParentalRatingScore": { + "type": "object", + "properties": { + "score": { + "type": "integer", + "description": "Gets or sets the score.", + "format": "int32" + }, + "subScore": { + "type": "integer", + "description": "Gets or sets the sub score.", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false, + "description": "A class representing an parental rating score." + }, "PathSubstitution": { "type": "object", "properties": { @@ -52025,7 +63046,7 @@ "$ref": "#/components/schemas/DeviceProfile" } ], - "description": "A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.\r\n
\r\nSpecifically, it defines the supported containers and\r\ncodecs (video and/or audio, including codec profiles and levels)\r\nthe device is able to direct play (without transcoding or remuxing),\r\nas well as which containers/codecs to transcode to in case it isn't.", + "description": "Gets or sets the device profile.", "nullable": true }, "EnableDirectPlay": { @@ -52065,7 +63086,7 @@ } }, "additionalProperties": false, - "description": "Plabyback info dto." + "description": "Playback info dto." }, "PlaybackInfoResponse": { "type": "object", @@ -52639,7 +63660,7 @@ "$ref": "#/components/schemas/PlayRequest" } ], - "description": "Class PlayRequest.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -52783,48 +63804,6 @@ "additionalProperties": false, "description": "Class PlayQueueUpdate." }, - "PlayQueueUpdateGroupUpdate": { - "type": "object", - "properties": { - "GroupId": { - "type": "string", - "description": "Gets the group identifier.", - "format": "uuid", - "readOnly": true - }, - "Type": { - "enum": [ - "UserJoined", - "UserLeft", - "GroupJoined", - "GroupLeft", - "StateUpdate", - "PlayQueue", - "NotInGroup", - "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", - "LibraryAccessDenied" - ], - "allOf": [ - { - "$ref": "#/components/schemas/GroupUpdateType" - } - ], - "description": "Gets the update type." - }, - "Data": { - "allOf": [ - { - "$ref": "#/components/schemas/PlayQueueUpdate" - } - ], - "description": "Gets the update data." - } - }, - "additionalProperties": false, - "description": "Class GroupUpdate." - }, "PlayQueueUpdateReason": { "enum": [ "NewPlaylist", @@ -53082,6 +64061,7 @@ "Active", "Restart", "Deleted", + "Superseded", "Superceded", "Malfunctioned", "NotSupported", @@ -53107,7 +64087,7 @@ "$ref": "#/components/schemas/InstallationInfo" } ], - "description": "Class InstallationInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -53174,7 +64154,7 @@ "$ref": "#/components/schemas/InstallationInfo" } ], - "description": "Class InstallationInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -53241,7 +64221,7 @@ "$ref": "#/components/schemas/InstallationInfo" } ], - "description": "Class InstallationInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -53308,7 +64288,7 @@ "$ref": "#/components/schemas/InstallationInfo" } ], - "description": "Class InstallationInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -53371,6 +64351,7 @@ "Active", "Restart", "Deleted", + "Superseded", "Superceded", "Malfunctioned", "NotSupported", @@ -53388,7 +64369,7 @@ "$ref": "#/components/schemas/PluginInfo" } ], - "description": "This is a serializable stub class that is used by the api to provide information about installed plugins.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -53538,7 +64519,8 @@ "IsInterlaced", "AudioSampleRate", "AudioBitDepth", - "VideoRangeType" + "VideoRangeType", + "NumStreams" ], "allOf": [ { @@ -53591,7 +64573,8 @@ "IsInterlaced", "AudioSampleRate", "AudioBitDepth", - "VideoRangeType" + "VideoRangeType", + "NumStreams" ], "type": "string" }, @@ -53738,7 +64721,7 @@ "$ref": "#/components/schemas/GroupQueueMode" } ], - "description": "Enum GroupQueueMode." + "description": "Gets or sets the mode in which to add the new items." } }, "additionalProperties": false, @@ -54272,6 +65255,23 @@ ], "type": "string" }, + "ReportPlaybackOptions": { + "type": "object", + "properties": { + "MaxDataAge": { + "type": "integer", + "format": "int32" + }, + "BackupPath": { + "type": "string" + }, + "MaxBackupFiles": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "RepositoryInfo": { "type": "object", "properties": { @@ -54360,7 +65360,7 @@ "$ref": "#/components/schemas/TaskResult" } ], - "description": "Class TaskExecutionInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -54714,7 +65714,7 @@ "$ref": "#/components/schemas/BaseItemKind" } ], - "description": "Gets or sets the type." + "description": "The base item kind." }, "IsFolder": { "type": "boolean", @@ -54740,7 +65740,8 @@ "$ref": "#/components/schemas/MediaType" } ], - "description": "Gets or sets the type of the media." + "description": "Media types.", + "default": "Unknown" }, "StartDate": { "type": "string", @@ -55329,6 +66330,7 @@ "ParentPrimaryImageItemId": { "type": "string", "description": "Gets or sets the parent primary image item identifier.", + "format": "uuid", "nullable": true }, "ParentPrimaryImageTag": { @@ -55408,7 +66410,7 @@ }, "EnableCaseSensitiveItemIds": { "type": "boolean", - "description": "Gets or sets a value indicating whether [enable case sensitive item ids]." + "description": "Gets or sets a value indicating whether [enable case-sensitive item ids]." }, "DisableLiveTvChannelUserDataName": { "type": "boolean" @@ -55486,6 +66488,11 @@ "description": "Gets or sets the duration in seconds that we will wait after a library updated event before executing the library changed notification.", "format": "int32" }, + "CacheSize": { + "type": "integer", + "description": "Gets or sets the maximum amount of items to cache.", + "format": "int32" + }, "ImageSavingConvention": { "enum": [ "Legacy", @@ -55529,7 +66536,10 @@ "EnableFolderView": { "type": "boolean" }, - "EnableGroupingIntoCollections": { + "EnableGroupingMoviesIntoCollections": { + "type": "boolean" + }, + "EnableGroupingShowsIntoCollections": { "type": "boolean" }, "DisplaySpecialsWithinSeasons": { @@ -55592,17 +66602,13 @@ "description": "Gets or sets the how many metadata refreshes can run concurrently.", "format": "int32" }, - "RemoveOldPlugins": { - "type": "boolean", - "description": "Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder." - }, "AllowClientLogUpload": { "type": "boolean", "description": "Gets or sets a value indicating whether clients should be allowed to upload logs." }, "DummyChapterDuration": { "type": "integer", - "description": "Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation alltogether.", + "description": "Gets or sets the dummy chapter duration in seconds, use 0 (zero) or less to disable generation altogether.", "format": "int32" }, "ChapterImageResolution": { @@ -55643,6 +66649,10 @@ } ], "description": "Gets or sets the trickplay options." + }, + "EnableLegacyAuthorization": { + "type": "boolean", + "description": "Gets or sets a value indicating whether old authorization methods are allowed." } }, "additionalProperties": false, @@ -56254,7 +67264,7 @@ "$ref": "#/components/schemas/GroupRepeatMode" } ], - "description": "Enum GroupRepeatMode." + "description": "Gets or sets the repeat mode." } }, "additionalProperties": false, @@ -56273,7 +67283,7 @@ "$ref": "#/components/schemas/GroupShuffleMode" } ], - "description": "Enum GroupShuffleMode." + "description": "Gets or sets the shuffle mode." } }, "additionalProperties": false, @@ -56389,6 +67399,11 @@ "StartupConfigurationDto": { "type": "object", "properties": { + "ServerName": { + "type": "string", + "description": "Gets or sets the server name.", + "nullable": true + }, "UICulture": { "type": "string", "description": "Gets or sets UI language culture.", @@ -56421,7 +67436,8 @@ }, "EnableAutomaticPortMapping": { "type": "boolean", - "description": "Gets or sets a value indicating whether enable automatic port mapping." + "description": "Gets or sets a value indicating whether enable automatic port mapping.", + "deprecated": true } }, "additionalProperties": false, @@ -56444,44 +67460,6 @@ "additionalProperties": false, "description": "The startup user DTO." }, - "StringGroupUpdate": { - "type": "object", - "properties": { - "GroupId": { - "type": "string", - "description": "Gets the group identifier.", - "format": "uuid", - "readOnly": true - }, - "Type": { - "enum": [ - "UserJoined", - "UserLeft", - "GroupJoined", - "GroupLeft", - "StateUpdate", - "PlayQueue", - "NotInGroup", - "GroupDoesNotExist", - "CreateGroupDenied", - "JoinGroupDenied", - "LibraryAccessDenied" - ], - "allOf": [ - { - "$ref": "#/components/schemas/GroupUpdateType" - } - ], - "description": "Gets the update type." - }, - "Data": { - "type": "string", - "description": "Gets the update data." - } - }, - "additionalProperties": false, - "description": "Class GroupUpdate." - }, "SubtitleDeliveryMethod": { "enum": [ "Encode", @@ -56594,7 +67572,7 @@ "$ref": "#/components/schemas/SendCommand" } ], - "description": "Class SendCommand.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -56652,7 +67630,125 @@ "additionalProperties": false, "description": "Sync play command." }, - "SyncPlayGroupUpdateCommandMessage": { + "SyncPlayGroupDoesNotExistUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "GroupDoesNotExist", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayGroupJoinedUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupInfoDto" + } + ], + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "GroupJoined", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayGroupLeftUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "GroupLeft", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayGroupUpdateMessage": { "type": "object", "properties": { "Data": { @@ -56661,8 +67757,7 @@ "$ref": "#/components/schemas/GroupUpdate" } ], - "description": "Group update without data.", - "nullable": true + "description": "Group update data" }, "MessageId": { "type": "string", @@ -56719,6 +67814,124 @@ "additionalProperties": false, "description": "Untyped sync play command." }, + "SyncPlayLibraryAccessDeniedUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "LibraryAccessDenied", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayNotInGroupUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "NotInGroup", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayPlayQueueUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "allOf": [ + { + "$ref": "#/components/schemas/PlayQueueUpdate" + } + ], + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "PlayQueue", + "readOnly": true + } + }, + "additionalProperties": false + }, "SyncPlayQueueItem": { "type": "object", "properties": { @@ -56737,6 +67950,48 @@ "additionalProperties": false, "description": "Class QueueItem." }, + "SyncPlayStateUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "allOf": [ + { + "$ref": "#/components/schemas/GroupStateUpdate" + } + ], + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "StateUpdate", + "readOnly": true + } + }, + "additionalProperties": false + }, "SyncPlayUserAccessType": { "enum": [ "CreateAndJoinGroups", @@ -56746,6 +68001,82 @@ "type": "string", "description": "Enum SyncPlayUserAccessType." }, + "SyncPlayUserJoinedUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "UserJoined", + "readOnly": true + } + }, + "additionalProperties": false + }, + "SyncPlayUserLeftUpdate": { + "type": "object", + "properties": { + "GroupId": { + "type": "string", + "description": "Gets the group identifier.", + "format": "uuid", + "readOnly": true + }, + "Data": { + "type": "string", + "description": "Gets the update data.", + "readOnly": true + }, + "Type": { + "enum": [ + "UserJoined", + "UserLeft", + "GroupJoined", + "GroupLeft", + "StateUpdate", + "PlayQueue", + "NotInGroup", + "GroupDoesNotExist", + "LibraryAccessDenied" + ], + "allOf": [ + { + "$ref": "#/components/schemas/GroupUpdateType" + } + ], + "description": "Enum GroupUpdateType.", + "default": "UserLeft", + "readOnly": true + } + }, + "additionalProperties": false + }, "SystemInfo": { "type": "object", "properties": { @@ -56834,37 +68165,44 @@ "ProgramDataPath": { "type": "string", "description": "Gets or sets the program data path.", - "nullable": true + "nullable": true, + "deprecated": true }, "WebPath": { "type": "string", "description": "Gets or sets the web UI resources path.", - "nullable": true + "nullable": true, + "deprecated": true }, "ItemsByNamePath": { "type": "string", "description": "Gets or sets the items by name path.", - "nullable": true + "nullable": true, + "deprecated": true }, "CachePath": { "type": "string", "description": "Gets or sets the cache path.", - "nullable": true + "nullable": true, + "deprecated": true }, "LogPath": { "type": "string", "description": "Gets or sets the log path.", - "nullable": true + "nullable": true, + "deprecated": true }, "InternalMetadataPath": { "type": "string", "description": "Gets or sets the internal metadata path.", - "nullable": true + "nullable": true, + "deprecated": true }, "TranscodingTempPath": { "type": "string", "description": "Gets or sets the transcode path.", - "nullable": true + "nullable": true, + "deprecated": true }, "CastReceiverApplications": { "type": "array", @@ -56896,6 +68234,76 @@ "additionalProperties": false, "description": "Class SystemInfo." }, + "SystemStorageDto": { + "type": "object", + "properties": { + "ProgramDataFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the program data folder." + }, + "WebFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the web UI resources folder." + }, + "ImageCacheFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the folder where images are cached." + }, + "CacheFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the cache folder." + }, + "LogFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the folder where logfiles are saved to." + }, + "InternalMetadataFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the folder where metadata is stored." + }, + "TranscodingTempFolder": { + "allOf": [ + { + "$ref": "#/components/schemas/FolderStorageDto" + } + ], + "description": "Gets or sets the Storage information of the transcoding cache." + }, + "Libraries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LibraryStorageDto" + }, + "description": "Gets or sets the storage informations of all libraries." + } + }, + "additionalProperties": false, + "description": "Contains informations about the systems storage." + }, "TaskCompletionStatus": { "enum": [ "Completed", @@ -57047,9 +68455,18 @@ "type": "object", "properties": { "Type": { - "type": "string", - "description": "Gets or sets the type.", - "nullable": true + "enum": [ + "DailyTrigger", + "WeeklyTrigger", + "IntervalTrigger", + "StartupTrigger" + ], + "allOf": [ + { + "$ref": "#/components/schemas/TaskTriggerInfoType" + } + ], + "description": "Gets or sets the type." }, "TimeOfDayTicks": { "type": "integer", @@ -57091,6 +68508,16 @@ "additionalProperties": false, "description": "Class TaskTriggerInfo." }, + "TaskTriggerInfoType": { + "enum": [ + "DailyTrigger", + "WeeklyTrigger", + "IntervalTrigger", + "StartupTrigger" + ], + "type": "string", + "description": "Enum TaskTriggerInfoType." + }, "ThemeMediaResult": { "type": "object", "properties": { @@ -57614,7 +69041,8 @@ "UnknownAudioStreamInfo", "DirectPlayError", "VideoRangeTypeNotSupported", - "VideoCodecTagNotSupported" + "VideoCodecTagNotSupported", + "StreamCountExceedsLimit" ], "type": "string" }, @@ -57733,7 +69161,8 @@ "UnknownAudioStreamInfo", "DirectPlayError", "VideoRangeTypeNotSupported", - "VideoCodecTagNotSupported" + "VideoCodecTagNotSupported", + "StreamCountExceedsLimit" ], "type": "array", "items": { @@ -57743,7 +69172,7 @@ } }, "additionalProperties": false, - "description": "Class holding information on a runnning transcode." + "description": "Class holding information on a running transcode." }, "TranscodingProfile": { "type": "object", @@ -57785,7 +69214,7 @@ "$ref": "#/components/schemas/MediaStreamProtocol" } ], - "description": "Gets or sets the protocol." + "description": "Media streaming protocol.\r\nLowercase for backwards compatibility." }, "EstimateContentLength": { "type": "boolean", @@ -57869,7 +69298,7 @@ } }, "additionalProperties": false, - "description": "A class for transcoding profile information." + "description": "A class for transcoding profile information.\r\nNote for client developers: Conditions defined in MediaBrowser.Model.Dlna.CodecProfile has higher priority and can override values defined here." }, "TransportStreamTimestamp": { "enum": [ @@ -57879,47 +69308,47 @@ ], "type": "string" }, - "TrickplayInfo": { + "TrickplayInfoDto": { "type": "object", "properties": { "Width": { "type": "integer", - "description": "Gets or sets width of an individual thumbnail.", + "description": "Gets the width of an individual thumbnail.", "format": "int32" }, "Height": { "type": "integer", - "description": "Gets or sets height of an individual thumbnail.", + "description": "Gets the height of an individual thumbnail.", "format": "int32" }, "TileWidth": { "type": "integer", - "description": "Gets or sets amount of thumbnails per row.", + "description": "Gets the amount of thumbnails per row.", "format": "int32" }, "TileHeight": { "type": "integer", - "description": "Gets or sets amount of thumbnails per column.", + "description": "Gets the amount of thumbnails per column.", "format": "int32" }, "ThumbnailCount": { "type": "integer", - "description": "Gets or sets total amount of non-black thumbnails.", + "description": "Gets the total amount of non-black thumbnails.", "format": "int32" }, "Interval": { "type": "integer", - "description": "Gets or sets interval in milliseconds between each trickplay thumbnail.", + "description": "Gets the interval in milliseconds between each trickplay thumbnail.", "format": "int32" }, "Bandwidth": { "type": "integer", - "description": "Gets or sets peak bandwith usage in bits per second.", + "description": "Gets the peak bandwidth usage in bits per second.", "format": "int32" } }, "additionalProperties": false, - "description": "An entity representing the metadata for a group of trickplay tiles." + "description": "The trickplay api model." }, "TrickplayOptions": { "type": "object", @@ -58092,6 +69521,9 @@ }, "IgnoreDts": { "type": "boolean" + }, + "ReadAtNativeFramerate": { + "type": "boolean" } }, "additionalProperties": false @@ -58473,7 +69905,7 @@ "$ref": "#/components/schemas/UserDataChangeInfo" } ], - "description": "Class UserDataChangeInfo.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -58802,6 +70234,11 @@ "format": "int32", "nullable": true }, + "MaxParentalSubRating": { + "type": "integer", + "format": "int32", + "nullable": true + }, "BlockedTags": { "type": "array", "items": { @@ -58967,7 +70404,7 @@ "$ref": "#/components/schemas/SyncPlayUserAccessType" } ], - "description": "Gets or sets a value indicating what SyncPlay features the user can access." + "description": "Enum SyncPlayUserAccessType." } }, "additionalProperties": false @@ -58981,7 +70418,7 @@ "$ref": "#/components/schemas/UserDto" } ], - "description": "Class UserDto.", + "description": "Gets or sets the data.", "nullable": true }, "MessageId": { @@ -59155,6 +70592,10 @@ "DOVIWithHDR10", "DOVIWithHLG", "DOVIWithSDR", + "DOVIWithEL", + "DOVIWithHDR10Plus", + "DOVIWithELHDR10Plus", + "DOVIInvalid", "HDR10Plus" ], "type": "string", @@ -59236,23 +70677,6 @@ "additionalProperties": false, "description": "Used to hold information about a user's list of configured virtual folders." }, - "WakeOnLanInfo": { - "type": "object", - "properties": { - "MacAddress": { - "type": "string", - "description": "Gets the MAC address of the device.", - "nullable": true - }, - "Port": { - "type": "integer", - "description": "Gets or sets the wake-on-LAN port.", - "format": "int32" - } - }, - "additionalProperties": false, - "description": "Provides the MAC address and port for wake-on-LAN functionality." - }, "WebSocketMessage": { "type": "object", "oneOf": [