From 0878c236b5f15fea6b4034f88b698c2746349c9c Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Wed, 12 Apr 2023 13:10:22 -0600 Subject: [PATCH] Non-Fixed Width Integers, Hashable, Inline Patching, and 10.8.9 (#18) --- Package.resolved | 42 ++-- Package.swift | 2 +- Plugins/CreateAPI/AnyJSON.swift | 56 ++++++ Plugins/CreateAPI/GeneratePlugin.swift | 189 +++++++++++++++++- .../PatchFiles/SpecialFeatureType.swift | 22 ++ README.md | 12 +- Sources/.DS_Store | Bin 6148 -> 6148 bytes Sources/Entities/AccessSchedule.swift | 10 +- Sources/Entities/ActivityLogEntry.swift | 10 +- .../ActivityLogEntryQueryResult.swift | 14 +- Sources/Entities/AddVirtualFolderDto.swift | 4 +- Sources/Entities/AdminNotificationDto.swift | 4 +- Sources/Entities/AlbumInfo.swift | 22 +- .../Entities/AlbumInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/AllThemeMediaResult.swift | 4 +- Sources/Entities/Architecture.swift | 2 +- Sources/Entities/ArtistInfo.swift | 22 +- .../ArtistInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/AuthenticateUserByName.swift | 4 +- Sources/Entities/AuthenticationInfo.swift | 10 +- .../AuthenticationInfoQueryResult.swift | 14 +- Sources/Entities/AuthenticationResult.swift | 4 +- Sources/Entities/BaseItem.swift | 22 +- Sources/Entities/BaseItemDto.swift | 176 ++++++++-------- Sources/Entities/BaseItemDtoQueryResult.swift | 14 +- Sources/Entities/BaseItemKind.swift | 2 +- Sources/Entities/BaseItemPerson.swift | 6 +- Sources/Entities/BookInfo.swift | 22 +- .../Entities/BookInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/BoxSetInfo.swift | 22 +- .../BoxSetInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/BrandingOptions.swift | 4 +- Sources/Entities/BufferRequestDto.swift | 10 +- Sources/Entities/ChannelFeatures.swift | 16 +- Sources/Entities/ChannelItemSortField.swift | 2 +- .../Entities/ChannelMappingOptionsDto.swift | 4 +- .../Entities/ChannelMediaContentType.swift | 2 +- Sources/Entities/ChannelMediaType.swift | 2 +- Sources/Entities/ChannelType.swift | 2 +- Sources/Entities/ChapterInfo.swift | 10 +- Sources/Entities/ClientCapabilities.swift | 4 +- Sources/Entities/ClientCapabilitiesDto.swift | 4 +- .../ClientLogDocumentResponseDto.swift | 4 +- Sources/Entities/CodecProfile.swift | 4 +- Sources/Entities/CodecType.swift | 2 +- .../Entities/CollectionCreationResult.swift | 4 +- Sources/Entities/CollectionTypeOptions.swift | 2 +- Sources/Entities/ConfigImageTypes.swift | 4 +- Sources/Entities/ConfigurationPageInfo.swift | 4 +- Sources/Entities/ContainerProfile.swift | 4 +- Sources/Entities/ControlResponse.swift | 4 +- Sources/Entities/CountryInfo.swift | 4 +- Sources/Entities/CreatePlaylistDto.swift | 4 +- Sources/Entities/CreateUserByName.swift | 4 +- Sources/Entities/CultureDto.swift | 4 +- Sources/Entities/DayOfWeek.swift | 2 +- Sources/Entities/DayPattern.swift | 2 +- .../DefaultDirectoryBrowserInfoDto.swift | 4 +- Sources/Entities/DeviceIdentification.swift | 4 +- Sources/Entities/DeviceInfo.swift | 4 +- Sources/Entities/DeviceInfoQueryResult.swift | 14 +- Sources/Entities/DeviceOptions.swift | 10 +- Sources/Entities/DeviceOptionsDto.swift | 10 +- Sources/Entities/DeviceProfile.swift | 58 +++--- Sources/Entities/DeviceProfileInfo.swift | 4 +- Sources/Entities/DeviceProfileType.swift | 2 +- Sources/Entities/DirectPlayProfile.swift | 4 +- Sources/Entities/DisplayPreferencesDto.swift | 20 +- Sources/Entities/DlnaOptions.swift | 22 +- Sources/Entities/DlnaProfileType.swift | 2 +- Sources/Entities/DynamicDayOfWeek.swift | 2 +- .../Entities/EmbeddedSubtitleOptions.swift | 2 +- Sources/Entities/EncodingContext.swift | 2 +- Sources/Entities/EncodingOptions.swift | 34 ++-- Sources/Entities/EndPointInfo.swift | 4 +- Sources/Entities/ExternalIDInfo.swift | 4 +- Sources/Entities/ExternalIDMediaType.swift | 2 +- Sources/Entities/ExternalURL.swift | 4 +- Sources/Entities/FFmpegLocation.swift | 2 +- Sources/Entities/FileSystemEntryInfo.swift | 4 +- Sources/Entities/FileSystemEntryType.swift | 2 +- Sources/Entities/FontFile.swift | 10 +- Sources/Entities/ForgotPasswordAction.swift | 2 +- Sources/Entities/ForgotPasswordDto.swift | 4 +- Sources/Entities/ForgotPasswordPinDto.swift | 4 +- Sources/Entities/ForgotPasswordResult.swift | 4 +- Sources/Entities/GeneralCommand.swift | 4 +- Sources/Entities/GeneralCommandType.swift | 2 +- Sources/Entities/GetProgramsDto.swift | 22 +- Sources/Entities/GroupInfoDto.swift | 4 +- Sources/Entities/GroupQueueMode.swift | 2 +- Sources/Entities/GroupRepeatMode.swift | 2 +- Sources/Entities/GroupShuffleMode.swift | 2 +- Sources/Entities/GroupStateType.swift | 2 +- Sources/Entities/GroupUpdateType.swift | 2 +- Sources/Entities/GuideInfo.swift | 4 +- Sources/Entities/HTTPHeaderInfo.swift | 4 +- Sources/Entities/HardwareEncodingType.swift | 2 +- Sources/Entities/HeaderMatchType.swift | 2 +- Sources/Entities/IPlugin.swift | 4 +- Sources/Entities/IgnoreWaitRequestDto.swift | 4 +- Sources/Entities/ImageByNameInfo.swift | 10 +- Sources/Entities/ImageFormat.swift | 2 +- Sources/Entities/ImageInfo.swift | 28 +-- Sources/Entities/ImageOption.swift | 14 +- Sources/Entities/ImageOrientation.swift | 2 +- Sources/Entities/ImageProviderInfo.swift | 4 +- Sources/Entities/ImageSavingConvention.swift | 2 +- Sources/Entities/ImageType.swift | 2 +- Sources/Entities/InstallationInfo.swift | 4 +- Sources/Entities/IsoType.swift | 2 +- Sources/Entities/ItemCounts.swift | 76 +++---- Sources/Entities/ItemFields.swift | 2 +- Sources/Entities/ItemFilter.swift | 2 +- Sources/Entities/JoinGroupRequestDto.swift | 4 +- Sources/Entities/KeepUntil.swift | 2 +- Sources/Entities/LibraryOptionInfoDto.swift | 4 +- Sources/Entities/LibraryOptions.swift | 10 +- .../Entities/LibraryOptionsResultDto.swift | 4 +- Sources/Entities/LibraryTypeOptionsDto.swift | 4 +- Sources/Entities/LibraryUpdateInfo.swift | 4 +- Sources/Entities/ListingsProviderInfo.swift | 4 +- Sources/Entities/LiveStreamResponse.swift | 4 +- Sources/Entities/LiveTvInfo.swift | 4 +- Sources/Entities/LiveTvOptions.swift | 22 +- Sources/Entities/LiveTvServiceInfo.swift | 4 +- Sources/Entities/LiveTvServiceStatus.swift | 2 +- Sources/Entities/LocalizationOption.swift | 4 +- Sources/Entities/LocationType.swift | 2 +- Sources/Entities/LogFile.swift | 10 +- Sources/Entities/LogLevel.swift | 2 +- Sources/Entities/MediaAttachment.swift | 10 +- Sources/Entities/MediaEncoderPathDto.swift | 4 +- Sources/Entities/MediaPathDto.swift | 4 +- Sources/Entities/MediaPathInfo.swift | 4 +- Sources/Entities/MediaProtocol.swift | 2 +- Sources/Entities/MediaSourceInfo.swift | 46 ++--- Sources/Entities/MediaSourceType.swift | 2 +- Sources/Entities/MediaStream.swift | 112 +++++------ Sources/Entities/MediaStreamType.swift | 2 +- Sources/Entities/MediaURL.swift | 4 +- Sources/Entities/MediaUpdateInfoDto.swift | 4 +- Sources/Entities/MediaUpdateInfoPathDto.swift | 4 +- Sources/Entities/MessageCommand.swift | 10 +- Sources/Entities/MetadataConfiguration.swift | 4 +- Sources/Entities/MetadataEditorInfo.swift | 4 +- Sources/Entities/MetadataField.swift | 2 +- Sources/Entities/MetadataOptions.swift | 4 +- Sources/Entities/MetadataRefreshMode.swift | 2 +- .../Entities/MovePlaylistItemRequestDto.swift | 10 +- Sources/Entities/MovieInfo.swift | 22 +- .../Entities/MovieInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/MusicVideoInfo.swift | 22 +- .../MusicVideoInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/NameGuidPair.swift | 4 +- Sources/Entities/NameIDPair.swift | 4 +- Sources/Entities/NameValuePair.swift | 4 +- Sources/Entities/NetworkConfiguration.swift | 46 ++--- Sources/Entities/NewGroupRequestDto.swift | 4 +- Sources/Entities/NextItemRequestDto.swift | 4 +- Sources/Entities/NotificationDto.swift | 4 +- Sources/Entities/NotificationLevel.swift | 2 +- Sources/Entities/NotificationOption.swift | 4 +- Sources/Entities/NotificationOptions.swift | 4 +- Sources/Entities/NotificationResultDto.swift | 10 +- Sources/Entities/NotificationTypeInfo.swift | 4 +- .../Entities/NotificationsSummaryDto.swift | 10 +- Sources/Entities/ObjectGroupUpdate.swift | 4 +- Sources/Entities/OpenLiveStreamDto.swift | 34 ++-- Sources/Entities/PackageInfo.swift | 4 +- Sources/Entities/ParentalRating.swift | 10 +- Sources/Entities/PathSubstitution.swift | 4 +- Sources/Entities/PersonLookupInfo.swift | 22 +- .../PersonLookupInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/PinRedeemResult.swift | 4 +- Sources/Entities/PingRequestDto.swift | 10 +- Sources/Entities/PlayAccess.swift | 2 +- Sources/Entities/PlayCommand.swift | 2 +- Sources/Entities/PlayMethod.swift | 2 +- Sources/Entities/PlayRequest.swift | 28 +-- Sources/Entities/PlayRequestDto.swift | 14 +- Sources/Entities/PlaybackErrorCode.swift | 2 +- Sources/Entities/PlaybackInfoDto.swift | 34 ++-- Sources/Entities/PlaybackInfoResponse.swift | 4 +- Sources/Entities/PlaybackProgressInfo.swift | 40 ++-- Sources/Entities/PlaybackStartInfo.swift | 40 ++-- Sources/Entities/PlaybackStopInfo.swift | 10 +- Sources/Entities/PlayerStateInfo.swift | 28 +-- Sources/Entities/PlaylistCreationResult.swift | 4 +- Sources/Entities/PlaystateCommand.swift | 2 +- Sources/Entities/PlaystateRequest.swift | 10 +- Sources/Entities/PluginInfo.swift | 4 +- Sources/Entities/PluginStatus.swift | 2 +- Sources/Entities/PreviousItemRequestDto.swift | 4 +- Sources/Entities/ProfileCondition.swift | 4 +- Sources/Entities/ProfileConditionType.swift | 2 +- Sources/Entities/ProfileConditionValue.swift | 2 +- Sources/Entities/ProgramAudio.swift | 2 +- Sources/Entities/PublicSystemInfo.swift | 4 +- Sources/Entities/QueryFilters.swift | 4 +- Sources/Entities/QueryFiltersLegacy.swift | 10 +- Sources/Entities/QueueItem.swift | 4 +- Sources/Entities/QueueRequestDto.swift | 4 +- Sources/Entities/QuickConnectDto.swift | 4 +- Sources/Entities/QuickConnectResult.swift | 4 +- Sources/Entities/RatingType.swift | 2 +- Sources/Entities/ReadyRequestDto.swift | 10 +- Sources/Entities/RecommendationDto.swift | 4 +- Sources/Entities/RecommendationType.swift | 2 +- Sources/Entities/RecordingStatus.swift | 2 +- Sources/Entities/RemoteImageInfo.swift | 22 +- Sources/Entities/RemoteImageResult.swift | 10 +- Sources/Entities/RemoteSearchResult.swift | 27 ++- Sources/Entities/RemoteSubtitleInfo.swift | 10 +- .../RemoveFromPlaylistRequestDto.swift | 4 +- Sources/Entities/RepeatMode.swift | 2 +- Sources/Entities/RepositoryInfo.swift | 4 +- Sources/Entities/ResponseProfile.swift | 4 +- Sources/Entities/ScrollDirection.swift | 2 +- Sources/Entities/SearchHint.swift | 40 ++-- Sources/Entities/SearchHintResult.swift | 10 +- Sources/Entities/SeekRequestDto.swift | 10 +- Sources/Entities/SendCommand.swift | 10 +- Sources/Entities/SendCommandType.swift | 2 +- Sources/Entities/SendToUserType.swift | 2 +- Sources/Entities/SeriesInfo.swift | 22 +- .../SeriesInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/SeriesStatus.swift | 2 +- Sources/Entities/SeriesTimerInfoDto.swift | 28 +-- .../SeriesTimerInfoDtoQueryResult.swift | 14 +- Sources/Entities/ServerConfiguration.swift | 82 ++++---- Sources/Entities/ServerDiscoveryInfo.swift | 4 +- Sources/Entities/SessionInfo.swift | 8 +- Sources/Entities/SessionMessageType.swift | 2 +- Sources/Entities/SessionUserInfo.swift | 4 +- Sources/Entities/SetChannelMappingDto.swift | 4 +- .../Entities/SetPlaylistItemRequestDto.swift | 4 +- .../Entities/SetRepeatModeRequestDto.swift | 4 +- .../Entities/SetShuffleModeRequestDto.swift | 4 +- Sources/Entities/SongInfo.swift | 22 +- Sources/Entities/SortOrder.swift | 2 +- Sources/Entities/SpecialFeatureType.swift | 22 ++ Sources/Entities/SpecialViewOptionDto.swift | 4 +- .../Entities/StartupConfigurationDto.swift | 4 +- Sources/Entities/StartupRemoteAccessDto.swift | 4 +- Sources/Entities/StartupUserDto.swift | 4 +- Sources/Entities/SubtitleDeliveryMethod.swift | 2 +- Sources/Entities/SubtitleOptions.swift | 4 +- Sources/Entities/SubtitlePlaybackMode.swift | 2 +- Sources/Entities/SubtitleProfile.swift | 4 +- Sources/Entities/SyncPlayUserAccessType.swift | 2 +- Sources/Entities/SystemInfo.swift | 10 +- Sources/Entities/TaskCompletionStatus.swift | 2 +- Sources/Entities/TaskInfo.swift | 4 +- Sources/Entities/TaskResult.swift | 4 +- Sources/Entities/TaskState.swift | 2 +- Sources/Entities/TaskTriggerInfo.swift | 22 +- Sources/Entities/ThemeMediaResult.swift | 14 +- Sources/Entities/TimerEventInfo.swift | 4 +- Sources/Entities/TimerInfoDto.swift | 28 +-- .../Entities/TimerInfoDtoQueryResult.swift | 14 +- Sources/Entities/TrailerInfo.swift | 22 +- .../TrailerInfoRemoteSearchQuery.swift | 4 +- Sources/Entities/TranscodeReason.swift | 2 +- Sources/Entities/TranscodeSeekInfo.swift | 2 +- Sources/Entities/TranscodingInfo.swift | 28 +-- Sources/Entities/TranscodingProfile.swift | 16 +- .../Entities/TransportStreamTimestamp.swift | 2 +- Sources/Entities/TunerChannelMapping.swift | 4 +- Sources/Entities/TunerHostInfo.swift | 10 +- Sources/Entities/TypeOptions.swift | 4 +- Sources/Entities/UnratedItem.swift | 2 +- .../Entities/UpdateLibraryOptionsDto.swift | 4 +- .../Entities/UpdateMediaPathRequestDto.swift | 4 +- Sources/Entities/UpdateUserEasyPassword.swift | 4 +- Sources/Entities/UpdateUserPassword.swift | 4 +- Sources/Entities/UploadSubtitleDto.swift | 4 +- Sources/Entities/UserConfiguration.swift | 4 +- Sources/Entities/UserDto.swift | 4 +- Sources/Entities/UserItemDataDto.swift | 22 +- Sources/Entities/UserPolicy.swift | 36 ++-- Sources/Entities/UtcTimeResponse.swift | 4 +- Sources/Entities/ValidatePathDto.swift | 4 +- Sources/Entities/VersionInfo.swift | 4 +- Sources/Entities/Video3DFormat.swift | 2 +- Sources/Entities/VideoType.swift | 2 +- Sources/Entities/VirtualFolderInfo.swift | 4 +- Sources/Entities/WakeOnLanInfo.swift | 10 +- Sources/Entities/XbmcMetadataOptions.swift | 4 +- Sources/Entities/XmlAttribute.swift | 4 +- Sources/Extensions/AnyJSON.swift | 5 +- Sources/Extensions/Paths.swift | 2 +- Sources/Extensions/StringCodingKey.swift | 2 +- Sources/JellyfinClient.swift | 37 +++- Sources/OpenISO8601Formatter.swift | 2 +- Sources/Paths/AddListingProviderAPI.swift | 2 +- Sources/Paths/AddMediaPathAPI.swift | 2 +- Sources/Paths/AddToCollectionAPI.swift | 2 +- Sources/Paths/AddToPlaylistAPI.swift | 2 +- Sources/Paths/AddTunerHostAPI.swift | 2 +- Sources/Paths/AddUserToSessionAPI.swift | 2 +- Sources/Paths/AddVirtualFolderAPI.swift | 2 +- Sources/Paths/ApplySearchCriteriaAPI.swift | 2 +- Sources/Paths/AuthenticateUserAPI.swift | 2 +- Sources/Paths/AuthenticateUserByNameAPI.swift | 2 +- .../AuthenticateWithQuickConnectAPI.swift | 2 +- Sources/Paths/AuthorizeAPI.swift | 2 +- .../Paths/CancelPackageInstallationAPI.swift | 2 +- Sources/Paths/CancelSeriesTimerAPI.swift | 2 +- Sources/Paths/CancelTimerAPI.swift | 2 +- Sources/Paths/CloseLiveStreamAPI.swift | 2 +- Sources/Paths/CompleteWizardAPI.swift | 2 +- Sources/Paths/ConnectAPI.swift | 2 +- .../Paths/CreateAdminNotificationAPI.swift | 2 +- Sources/Paths/CreateCollectionAPI.swift | 2 +- Sources/Paths/CreateKeyAPI.swift | 2 +- Sources/Paths/CreatePlaylistAPI.swift | 2 +- Sources/Paths/CreateProfileAPI.swift | 2 +- Sources/Paths/CreateSeriesTimerAPI.swift | 2 +- Sources/Paths/CreateTimerAPI.swift | 2 +- Sources/Paths/CreateUserByNameAPI.swift | 2 +- Sources/Paths/DeleteAlternateSourcesAPI.swift | 2 +- .../Paths/DeleteCustomSplashscreenAPI.swift | 2 +- Sources/Paths/DeleteDeviceAPI.swift | 2 +- Sources/Paths/DeleteItemAPI.swift | 2 +- Sources/Paths/DeleteItemImageAPI.swift | 6 +- Sources/Paths/DeleteItemImageByIndexAPI.swift | 2 +- Sources/Paths/DeleteItemsAPI.swift | 2 +- Sources/Paths/DeleteListingProviderAPI.swift | 2 +- Sources/Paths/DeleteProfileAPI.swift | 2 +- Sources/Paths/DeleteRecordingAPI.swift | 2 +- Sources/Paths/DeleteSubtitleAPI.swift | 2 +- Sources/Paths/DeleteTunerHostAPI.swift | 2 +- Sources/Paths/DeleteUserAPI.swift | 2 +- Sources/Paths/DeleteUserImageAPI.swift | 6 +- Sources/Paths/DeleteUserImageByIndexAPI.swift | 2 +- Sources/Paths/DeleteUserItemRatingAPI.swift | 2 +- Sources/Paths/DisablePluginAPI.swift | 2 +- Sources/Paths/DiscoverTunersAPI.swift | 2 +- Sources/Paths/DiscvoverTunersAPI.swift | 2 +- Sources/Paths/DisplayContentAPI.swift | 2 +- Sources/Paths/DownloadRemoteImageAPI.swift | 2 +- .../Paths/DownloadRemoteSubtitlesAPI.swift | 2 +- Sources/Paths/EnablePluginAPI.swift | 2 +- Sources/Paths/ForgotPasswordAPI.swift | 2 +- Sources/Paths/ForgotPasswordPinAPI.swift | 2 +- Sources/Paths/GetAPI.swift | 10 +- Sources/Paths/GetAdditionalPartAPI.swift | 2 +- Sources/Paths/GetAlbumArtistsAPI.swift | 18 +- Sources/Paths/GetAllChannelFeaturesAPI.swift | 2 +- Sources/Paths/GetAncestorsAPI.swift | 2 +- Sources/Paths/GetArtistByNameAPI.swift | 2 +- Sources/Paths/GetArtistImageAPI.swift | 38 ++-- Sources/Paths/GetArtistsAPI.swift | 18 +- Sources/Paths/GetAttachmentAPI.swift | 2 +- Sources/Paths/GetAudioStreamAPI.swift | 74 +++---- .../Paths/GetAudioStreamByContainerAPI.swift | 74 +++---- Sources/Paths/GetAuthProvidersAPI.swift | 2 +- Sources/Paths/GetBitrateTestBytesAPI.swift | 6 +- .../Paths/GetBookRemoteSearchResultsAPI.swift | 2 +- .../GetBoxSetRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetBrandingCss2API.swift | 2 +- Sources/Paths/GetBrandingCssAPI.swift | 2 +- Sources/Paths/GetBrandingOptionsAPI.swift | 2 +- Sources/Paths/GetChannelAPI.swift | 2 +- Sources/Paths/GetChannelFeaturesAPI.swift | 2 +- Sources/Paths/GetChannelItemsAPI.swift | 10 +- .../Paths/GetChannelMappingOptionsAPI.swift | 2 +- Sources/Paths/GetChannelsAPI.swift | 10 +- Sources/Paths/GetConfigurationAPI.swift | 2 +- Sources/Paths/GetConfigurationPagesAPI.swift | 2 +- Sources/Paths/GetConnectionManager2API.swift | 2 +- Sources/Paths/GetConnectionManager3API.swift | 2 +- Sources/Paths/GetConnectionManagerAPI.swift | 2 +- Sources/Paths/GetContentDirectory2API.swift | 2 +- Sources/Paths/GetContentDirectory3API.swift | 2 +- Sources/Paths/GetContentDirectoryAPI.swift | 2 +- Sources/Paths/GetCountriesAPI.swift | 2 +- Sources/Paths/GetCriticReviewsAPI.swift | 2 +- Sources/Paths/GetCulturesAPI.swift | 2 +- Sources/Paths/GetCurrentUserAPI.swift | 2 +- .../GetDashboardConfigurationPageAPI.swift | 2 +- .../Paths/GetDefaultDirectoryBrowserAPI.swift | 2 +- .../Paths/GetDefaultListingProviderAPI.swift | 2 +- .../Paths/GetDefaultMetadataOptionsAPI.swift | 2 +- Sources/Paths/GetDefaultProfileAPI.swift | 2 +- Sources/Paths/GetDefaultTimerAPI.swift | 2 +- Sources/Paths/GetDescriptionXml2API.swift | 2 +- Sources/Paths/GetDescriptionXmlAPI.swift | 2 +- Sources/Paths/GetDeviceInfoAPI.swift | 2 +- Sources/Paths/GetDeviceOptionsAPI.swift | 2 +- Sources/Paths/GetDevicesAPI.swift | 2 +- Sources/Paths/GetDirectoryContentsAPI.swift | 2 +- Sources/Paths/GetDisplayPreferencesAPI.swift | 2 +- Sources/Paths/GetDownloadAPI.swift | 2 +- Sources/Paths/GetDrivesAPI.swift | 2 +- Sources/Paths/GetEnabledAPI.swift | 2 +- Sources/Paths/GetEndpointInfoAPI.swift | 2 +- Sources/Paths/GetEpisodesAPI.swift | 18 +- Sources/Paths/GetExternalIDInfosAPI.swift | 2 +- Sources/Paths/GetFallbackFontAPI.swift | 2 +- Sources/Paths/GetFallbackFontListAPI.swift | 2 +- Sources/Paths/GetFileAPI.swift | 2 +- Sources/Paths/GetFirstUser2API.swift | 2 +- Sources/Paths/GetFirstUserAPI.swift | 2 +- Sources/Paths/GetGeneralImageAPI.swift | 2 +- Sources/Paths/GetGeneralImagesAPI.swift | 2 +- Sources/Paths/GetGenreAPI.swift | 2 +- Sources/Paths/GetGenreImageAPI.swift | 42 ++-- Sources/Paths/GetGenreImageByIndexAPI.swift | 38 ++-- Sources/Paths/GetGenresAPI.swift | 14 +- Sources/Paths/GetGroupingOptionsAPI.swift | 2 +- Sources/Paths/GetGuideInfoAPI.swift | 2 +- Sources/Paths/GetHlsAudioSegmentAPI.swift | 86 ++++---- .../GetHlsAudioSegmentLegacyAacAPI.swift | 2 +- .../GetHlsAudioSegmentLegacyMp3API.swift | 2 +- Sources/Paths/GetHlsPlaylistLegacyAPI.swift | 2 +- Sources/Paths/GetHlsVideoSegmentAPI.swift | 90 ++++----- .../Paths/GetHlsVideoSegmentLegacyAPI.swift | 2 +- Sources/Paths/GetIconAPI.swift | 2 +- Sources/Paths/GetIconIDAPI.swift | 2 +- Sources/Paths/GetInstantMixFromAlbumAPI.swift | 10 +- .../Paths/GetInstantMixFromArtists2API.swift | 10 +- .../Paths/GetInstantMixFromArtistsAPI.swift | 10 +- Sources/Paths/GetInstantMixFromItemAPI.swift | 10 +- .../GetInstantMixFromMusicGenreByIDAPI.swift | 10 +- ...GetInstantMixFromMusicGenreByNameAPI.swift | 10 +- .../Paths/GetInstantMixFromPlaylistAPI.swift | 10 +- Sources/Paths/GetInstantMixFromSongAPI.swift | 10 +- Sources/Paths/GetIntrosAPI.swift | 2 +- Sources/Paths/GetItemAPI.swift | 2 +- Sources/Paths/GetItemCountsAPI.swift | 2 +- Sources/Paths/GetItemImage2API.swift | 26 +-- Sources/Paths/GetItemImageAPI.swift | 42 ++-- Sources/Paths/GetItemImageByIndexAPI.swift | 38 ++-- Sources/Paths/GetItemImageInfosAPI.swift | 2 +- Sources/Paths/GetItemsAPI.swift | 38 ++-- Sources/Paths/GetItemsByUserIDAPI.swift | 38 ++-- Sources/Paths/GetKeysAPI.swift | 2 +- Sources/Paths/GetLatestChannelItemsAPI.swift | 10 +- Sources/Paths/GetLatestMediaAPI.swift | 10 +- Sources/Paths/GetLibraryOptionsInfoAPI.swift | 2 +- Sources/Paths/GetLineupsAPI.swift | 2 +- Sources/Paths/GetLiveHlsStreamAPI.swift | 82 ++++---- Sources/Paths/GetLiveRecordingFileAPI.swift | 2 +- Sources/Paths/GetLiveStreamFileAPI.swift | 2 +- Sources/Paths/GetLiveTvChannelsAPI.swift | 14 +- Sources/Paths/GetLiveTvInfoAPI.swift | 2 +- Sources/Paths/GetLiveTvProgramsAPI.swift | 14 +- Sources/Paths/GetLocalTrailersAPI.swift | 2 +- Sources/Paths/GetLocalizationOptionsAPI.swift | 2 +- Sources/Paths/GetLogEntriesAPI.swift | 8 +- Sources/Paths/GetLogFileAPI.swift | 2 +- .../Paths/GetMasterHlsAudioPlaylistAPI.swift | 78 ++++---- .../Paths/GetMasterHlsVideoPlaylistAPI.swift | 82 ++++---- Sources/Paths/GetMediaFoldersAPI.swift | 2 +- Sources/Paths/GetMediaInfoImageAPI.swift | 2 +- Sources/Paths/GetMediaInfoImagesAPI.swift | 2 +- .../Paths/GetMediaReceiverRegistrar2API.swift | 2 +- .../Paths/GetMediaReceiverRegistrar3API.swift | 2 +- .../Paths/GetMediaReceiverRegistrarAPI.swift | 2 +- Sources/Paths/GetMetadataEditorInfoAPI.swift | 2 +- .../Paths/GetMovieRecommendationsAPI.swift | 10 +- .../GetMovieRemoteSearchResultsAPI.swift | 2 +- .../GetMusicAlbumRemoteSearchResultsAPI.swift | 2 +- ...GetMusicArtistRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetMusicGenreAPI.swift | 2 +- Sources/Paths/GetMusicGenreImageAPI.swift | 42 ++-- .../Paths/GetMusicGenreImageByIndexAPI.swift | 38 ++-- Sources/Paths/GetMusicGenresAPI.swift | 14 +- .../GetMusicVideoRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetNamedConfigurationAPI.swift | 2 +- Sources/Paths/GetNetworkSharesAPI.swift | 2 +- Sources/Paths/GetNextUpAPI.swift | 14 +- .../Paths/GetNotificationServicesAPI.swift | 2 +- Sources/Paths/GetNotificationTypesAPI.swift | 2 +- Sources/Paths/GetNotificationsAPI.swift | 2 +- .../Paths/GetNotificationsSummaryAPI.swift | 2 +- Sources/Paths/GetPackageInfoAPI.swift | 2 +- Sources/Paths/GetPackagesAPI.swift | 2 +- Sources/Paths/GetParentPathAPI.swift | 2 +- Sources/Paths/GetParentalRatingsAPI.swift | 2 +- .../Paths/GetPasswordResetProvidersAPI.swift | 2 +- Sources/Paths/GetPersonAPI.swift | 2 +- Sources/Paths/GetPersonImageAPI.swift | 42 ++-- Sources/Paths/GetPersonImageByIndexAPI.swift | 38 ++-- .../GetPersonRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetPersonsAPI.swift | 10 +- Sources/Paths/GetPhysicalPathsAPI.swift | 2 +- Sources/Paths/GetPingSystemAPI.swift | 2 +- Sources/Paths/GetPlaybackInfoAPI.swift | 2 +- Sources/Paths/GetPlaylistItemsAPI.swift | 14 +- Sources/Paths/GetPluginConfigurationAPI.swift | 2 +- Sources/Paths/GetPluginImageAPI.swift | 2 +- Sources/Paths/GetPluginManifestAPI.swift | 2 +- Sources/Paths/GetPluginsAPI.swift | 2 +- Sources/Paths/GetPostedPlaybackInfoAPI.swift | 22 +- Sources/Paths/GetProfileAPI.swift | 2 +- Sources/Paths/GetProfileInfosAPI.swift | 2 +- Sources/Paths/GetProgramAPI.swift | 2 +- Sources/Paths/GetProgramsAPI.swift | 2 +- Sources/Paths/GetPublicSystemInfoAPI.swift | 2 +- Sources/Paths/GetPublicUsersAPI.swift | 2 +- Sources/Paths/GetQueryFiltersAPI.swift | 2 +- Sources/Paths/GetQueryFiltersLegacyAPI.swift | 2 +- Sources/Paths/GetRatingImageAPI.swift | 2 +- Sources/Paths/GetRatingImagesAPI.swift | 2 +- Sources/Paths/GetRecommendedProgramsAPI.swift | 10 +- Sources/Paths/GetRecordingAPI.swift | 2 +- Sources/Paths/GetRecordingFoldersAPI.swift | 2 +- Sources/Paths/GetRecordingGroupAPI.swift | 2 +- Sources/Paths/GetRecordingGroupsAPI.swift | 2 +- Sources/Paths/GetRecordingsAPI.swift | 14 +- Sources/Paths/GetRecordingsSeriesAPI.swift | 14 +- .../Paths/GetRemoteImageProvidersAPI.swift | 2 +- Sources/Paths/GetRemoteImagesAPI.swift | 10 +- Sources/Paths/GetRemoteSubtitlesAPI.swift | 2 +- Sources/Paths/GetRepositoriesAPI.swift | 2 +- Sources/Paths/GetResumeItemsAPI.swift | 14 +- Sources/Paths/GetRootFolderAPI.swift | 2 +- .../GetSchedulesDirectCountriesAPI.swift | 2 +- Sources/Paths/GetSeasonsAPI.swift | 6 +- .../GetSeriesRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetSeriesTimerAPI.swift | 2 +- Sources/Paths/GetSeriesTimersAPI.swift | 2 +- Sources/Paths/GetServerLogsAPI.swift | 2 +- Sources/Paths/GetSessionsAPI.swift | 6 +- Sources/Paths/GetSimilarAlbumsAPI.swift | 11 +- Sources/Paths/GetSimilarArtistsAPI.swift | 11 +- Sources/Paths/GetSimilarItemsAPI.swift | 11 +- Sources/Paths/GetSimilarMoviesAPI.swift | 11 +- Sources/Paths/GetSimilarShowsAPI.swift | 11 +- Sources/Paths/GetSimilarTrailersAPI.swift | 11 +- Sources/Paths/GetSpecialFeaturesAPI.swift | 2 +- Sources/Paths/GetSplashscreenAPI.swift | 34 ++-- .../Paths/GetStartupConfigurationAPI.swift | 2 +- Sources/Paths/GetStudioAPI.swift | 2 +- Sources/Paths/GetStudioImageAPI.swift | 42 ++-- Sources/Paths/GetStudioImageByIndexAPI.swift | 38 ++-- Sources/Paths/GetStudiosAPI.swift | 14 +- Sources/Paths/GetSubtitleAPI.swift | 14 +- Sources/Paths/GetSubtitlePlaylistAPI.swift | 14 +- Sources/Paths/GetSubtitleWithTicksAPI.swift | 14 +- Sources/Paths/GetSuggestionsAPI.swift | 10 +- Sources/Paths/GetSystemInfoAPI.swift | 2 +- Sources/Paths/GetTaskAPI.swift | 2 +- Sources/Paths/GetTasksAPI.swift | 2 +- Sources/Paths/GetThemeMediaAPI.swift | 2 +- Sources/Paths/GetThemeSongsAPI.swift | 2 +- Sources/Paths/GetThemeVideosAPI.swift | 2 +- Sources/Paths/GetTimerAPI.swift | 2 +- Sources/Paths/GetTimersAPI.swift | 2 +- .../GetTrailerRemoteSearchResultsAPI.swift | 2 +- Sources/Paths/GetTrailersAPI.swift | 38 ++-- Sources/Paths/GetTunerHostTypesAPI.swift | 2 +- .../Paths/GetUniversalAudioStreamAPI.swift | 30 +-- Sources/Paths/GetUpcomingEpisodesAPI.swift | 14 +- Sources/Paths/GetUserByIDAPI.swift | 2 +- Sources/Paths/GetUserImageAPI.swift | 42 ++-- Sources/Paths/GetUserImageByIndexAPI.swift | 38 ++-- Sources/Paths/GetUserViewsAPI.swift | 2 +- Sources/Paths/GetUsersAPI.swift | 2 +- Sources/Paths/GetUtcTimeAPI.swift | 2 +- .../Paths/GetVariantHlsAudioPlaylistAPI.swift | 78 ++++---- .../Paths/GetVariantHlsVideoPlaylistAPI.swift | 82 ++++---- Sources/Paths/GetVideoStreamAPI.swift | 82 ++++---- .../Paths/GetVideoStreamByContainerAPI.swift | 82 ++++---- Sources/Paths/GetVirtualFoldersAPI.swift | 2 +- Sources/Paths/GetWakeOnLanInfoAPI.swift | 2 +- Sources/Paths/GetYearAPI.swift | 2 +- Sources/Paths/GetYearsAPI.swift | 14 +- Sources/Paths/HeadArtistImageAPI.swift | 38 ++-- Sources/Paths/HeadAudioStreamAPI.swift | 74 +++---- .../Paths/HeadAudioStreamByContainerAPI.swift | 74 +++---- Sources/Paths/HeadGenreImageAPI.swift | 42 ++-- Sources/Paths/HeadGenreImageByIndexAPI.swift | 38 ++-- Sources/Paths/HeadItemImage2API.swift | 26 +-- Sources/Paths/HeadItemImageAPI.swift | 42 ++-- Sources/Paths/HeadItemImageByIndexAPI.swift | 38 ++-- .../Paths/HeadMasterHlsAudioPlaylistAPI.swift | 78 ++++---- .../Paths/HeadMasterHlsVideoPlaylistAPI.swift | 82 ++++---- Sources/Paths/HeadMusicGenreImageAPI.swift | 42 ++-- .../Paths/HeadMusicGenreImageByIndexAPI.swift | 38 ++-- Sources/Paths/HeadPersonImageAPI.swift | 42 ++-- Sources/Paths/HeadPersonImageByIndexAPI.swift | 38 ++-- Sources/Paths/HeadStudioImageAPI.swift | 42 ++-- Sources/Paths/HeadStudioImageByIndexAPI.swift | 38 ++-- .../Paths/HeadUniversalAudioStreamAPI.swift | 30 +-- Sources/Paths/HeadUserImageAPI.swift | 42 ++-- Sources/Paths/HeadUserImageByIndexAPI.swift | 38 ++-- Sources/Paths/HeadVideoStreamAPI.swift | 82 ++++---- .../Paths/HeadVideoStreamByContainerAPI.swift | 82 ++++---- Sources/Paths/InitiateAPI.swift | 2 +- Sources/Paths/InstallPackageAPI.swift | 2 +- Sources/Paths/LogFileAPI.swift | 2 +- Sources/Paths/MarkFavoriteItemAPI.swift | 2 +- Sources/Paths/MarkPlayedItemAPI.swift | 2 +- Sources/Paths/MarkUnplayedItemAPI.swift | 2 +- Sources/Paths/MergeVersionsAPI.swift | 2 +- Sources/Paths/MoveItemAPI.swift | 2 +- Sources/Paths/OnPlaybackProgressAPI.swift | 18 +- Sources/Paths/OnPlaybackStartAPI.swift | 10 +- Sources/Paths/OnPlaybackStoppedAPI.swift | 6 +- Sources/Paths/OpenLiveStreamAPI.swift | 22 +- Sources/Paths/PingPlaybackSessionAPI.swift | 2 +- Sources/Paths/PlayAPI.swift | 18 +- Sources/Paths/PostAddedMoviesAPI.swift | 2 +- Sources/Paths/PostAddedSeriesAPI.swift | 2 +- Sources/Paths/PostCapabilitiesAPI.swift | 2 +- Sources/Paths/PostFullCapabilitiesAPI.swift | 2 +- Sources/Paths/PostPingSystemAPI.swift | 2 +- Sources/Paths/PostUpdatedMediaAPI.swift | 2 +- Sources/Paths/PostUpdatedMoviesAPI.swift | 2 +- Sources/Paths/PostUpdatedSeriesAPI.swift | 2 +- Sources/Paths/PostUserImageAPI.swift | 6 +- Sources/Paths/PostUserImageByIndexAPI.swift | 2 +- ...ssConnectionManagerControlRequestAPI.swift | 2 +- ...essContentDirectoryControlRequestAPI.swift | 2 +- ...iaReceiverRegistrarControlRequestAPI.swift | 2 +- Sources/Paths/RefreshItemAPI.swift | 2 +- Sources/Paths/RefreshLibraryAPI.swift | 2 +- Sources/Paths/RemoveFromCollectionAPI.swift | 2 +- Sources/Paths/RemoveFromPlaylistAPI.swift | 2 +- Sources/Paths/RemoveMediaPathAPI.swift | 2 +- Sources/Paths/RemoveUserFromSessionAPI.swift | 2 +- Sources/Paths/RemoveVirtualFolderAPI.swift | 2 +- Sources/Paths/RenameVirtualFolderAPI.swift | 2 +- Sources/Paths/ReportPlaybackProgressAPI.swift | 2 +- Sources/Paths/ReportPlaybackStartAPI.swift | 2 +- Sources/Paths/ReportPlaybackStoppedAPI.swift | 2 +- Sources/Paths/ReportSessionEndedAPI.swift | 2 +- Sources/Paths/ReportViewingAPI.swift | 2 +- Sources/Paths/ResetTunerAPI.swift | 2 +- Sources/Paths/RestartApplicationAPI.swift | 2 +- Sources/Paths/RevokeKeyAPI.swift | 2 +- Sources/Paths/SearchRemoteSubtitlesAPI.swift | 2 +- Sources/Paths/SendFullGeneralCommandAPI.swift | 2 +- Sources/Paths/SendGeneralCommandAPI.swift | 2 +- Sources/Paths/SendMessageCommandAPI.swift | 2 +- Sources/Paths/SendPlaystateCommandAPI.swift | 6 +- Sources/Paths/SendSystemCommandAPI.swift | 2 +- Sources/Paths/SetChannelMappingAPI.swift | 2 +- Sources/Paths/SetItemImageAPI.swift | 2 +- Sources/Paths/SetItemImageByIndexAPI.swift | 2 +- Sources/Paths/SetReadAPI.swift | 2 +- Sources/Paths/SetRemoteAccessAPI.swift | 2 +- Sources/Paths/SetRepositoriesAPI.swift | 2 +- Sources/Paths/SetUnreadAPI.swift | 2 +- Sources/Paths/ShutdownApplicationAPI.swift | 2 +- Sources/Paths/StartTaskAPI.swift | 2 +- Sources/Paths/StopEncodingProcessAPI.swift | 2 +- Sources/Paths/StopTaskAPI.swift | 2 +- Sources/Paths/SyncPlayBufferingAPI.swift | 2 +- Sources/Paths/SyncPlayCreateGroupAPI.swift | 2 +- Sources/Paths/SyncPlayGetGroupsAPI.swift | 2 +- Sources/Paths/SyncPlayJoinGroupAPI.swift | 2 +- Sources/Paths/SyncPlayLeaveGroupAPI.swift | 2 +- .../Paths/SyncPlayMovePlaylistItemAPI.swift | 2 +- Sources/Paths/SyncPlayNextItemAPI.swift | 2 +- Sources/Paths/SyncPlayPauseAPI.swift | 2 +- Sources/Paths/SyncPlayPingAPI.swift | 2 +- Sources/Paths/SyncPlayPreviousItemAPI.swift | 2 +- Sources/Paths/SyncPlayQueueAPI.swift | 2 +- Sources/Paths/SyncPlayReadyAPI.swift | 2 +- .../Paths/SyncPlayRemoveFromPlaylistAPI.swift | 2 +- Sources/Paths/SyncPlaySeekAPI.swift | 2 +- Sources/Paths/SyncPlaySetIgnoreWaitAPI.swift | 2 +- Sources/Paths/SyncPlaySetNewQueueAPI.swift | 2 +- .../Paths/SyncPlaySetPlaylistItemAPI.swift | 2 +- Sources/Paths/SyncPlaySetRepeatModeAPI.swift | 2 +- Sources/Paths/SyncPlaySetShuffleModeAPI.swift | 2 +- Sources/Paths/SyncPlayStopAPI.swift | 2 +- Sources/Paths/SyncPlayUnpauseAPI.swift | 2 +- .../Paths/TmdbClientConfigurationAPI.swift | 2 +- Sources/Paths/UninstallPluginAPI.swift | 2 +- .../Paths/UninstallPluginByVersionAPI.swift | 2 +- Sources/Paths/UnmarkFavoriteItemAPI.swift | 2 +- Sources/Paths/UpdateConfigurationAPI.swift | 2 +- Sources/Paths/UpdateDeviceOptionsAPI.swift | 2 +- .../Paths/UpdateDisplayPreferencesAPI.swift | 2 +- .../Paths/UpdateInitialConfigurationAPI.swift | 2 +- Sources/Paths/UpdateItemAPI.swift | 2 +- Sources/Paths/UpdateItemContentTypeAPI.swift | 2 +- Sources/Paths/UpdateItemImageIndexAPI.swift | 14 +- Sources/Paths/UpdateLibraryOptionsAPI.swift | 2 +- Sources/Paths/UpdateMediaEncoderPathAPI.swift | 2 +- Sources/Paths/UpdateMediaPathAPI.swift | 2 +- .../Paths/UpdateNamedConfigurationAPI.swift | 2 +- .../Paths/UpdatePluginConfigurationAPI.swift | 2 +- Sources/Paths/UpdateProfileAPI.swift | 2 +- Sources/Paths/UpdateSeriesTimerAPI.swift | 2 +- Sources/Paths/UpdateStartupUserAPI.swift | 2 +- Sources/Paths/UpdateTaskAPI.swift | 2 +- Sources/Paths/UpdateTimerAPI.swift | 2 +- Sources/Paths/UpdateUserAPI.swift | 2 +- .../Paths/UpdateUserConfigurationAPI.swift | 2 +- Sources/Paths/UpdateUserEasyPasswordAPI.swift | 2 +- Sources/Paths/UpdateUserItemRatingAPI.swift | 2 +- Sources/Paths/UpdateUserPasswordAPI.swift | 2 +- Sources/Paths/UpdateUserPolicyAPI.swift | 2 +- .../Paths/UploadCustomSplashscreenAPI.swift | 2 +- Sources/Paths/UploadSubtitleAPI.swift | 2 +- Sources/Paths/ValidatePathAPI.swift | 2 +- Sources/create-api-config.yaml | 7 +- Sources/jellyfin-openapi-stable.json | 92 ++++----- 705 files changed, 3617 insertions(+), 3370 deletions(-) create mode 100644 Plugins/CreateAPI/AnyJSON.swift create mode 100644 Plugins/CreateAPI/PatchFiles/SpecialFeatureType.swift create mode 100644 Sources/Entities/SpecialFeatureType.swift diff --git a/Package.resolved b/Package.resolved index a56d3dc87..aac92a03a 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,25 +1,23 @@ { - "object": { - "pins": [ - { - "package": "Get", - "repositoryURL": "https://github.com/kean/Get", - "state": { - "branch": null, - "revision": "db5248ce985c703c5ea0030b7c4d3f908db304c9", - "version": "1.0.2" - } - }, - { - "package": "URLQueryEncoder", - "repositoryURL": "https://github.com/CreateAPI/URLQueryEncoder", - "state": { - "branch": null, - "revision": "4cc975d4d075d0e62699a796a08284e217d4ee93", - "version": "0.2.0" - } + "pins" : [ + { + "identity" : "get", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kean/Get", + "state" : { + "revision" : "a7dd8e0233d4041330591445de21b7e5d4c953c6", + "version" : "1.0.4" } - ] - }, - "version": 1 + }, + { + "identity" : "urlqueryencoder", + "kind" : "remoteSourceControl", + "location" : "https://github.com/CreateAPI/URLQueryEncoder", + "state" : { + "revision" : "4cc975d4d075d0e62699a796a08284e217d4ee93", + "version" : "0.2.0" + } + } + ], + "version" : 2 } diff --git a/Package.swift b/Package.swift index 4e1f6f6e2..5c5d09c60 100644 --- a/Package.swift +++ b/Package.swift @@ -16,7 +16,7 @@ let package = Package( .library(name: "JellyfinAPI", targets: ["JellyfinAPI"]), ], dependencies: [ - .package(url: "https://github.com/kean/Get", from: "1.0.2"), + .package(url: "https://github.com/kean/Get", from: "1.0.4"), .package(url: "https://github.com/CreateAPI/URLQueryEncoder", from: "0.2.0"), ], targets: [ diff --git a/Plugins/CreateAPI/AnyJSON.swift b/Plugins/CreateAPI/AnyJSON.swift new file mode 100644 index 000000000..b12dc1191 --- /dev/null +++ b/Plugins/CreateAPI/AnyJSON.swift @@ -0,0 +1,56 @@ +// +// jellyfin-sdk-swift is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, you can obtain one at https://mozilla.org/MPL/2.0/. +// +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors +// + +import Foundation + +public enum AnyJSON: Hashable, Codable { + case string(String) + case number(Double) + case object([String: AnyJSON]) + case array([AnyJSON]) + case bool(Bool) + var value: Any { + switch self { + case let .string(string): return string + case let .number(double): return double + case let .object(dictionary): return dictionary + case let .array(array): return array + case let .bool(bool): return bool + } + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + switch self { + case let .array(array): try container.encode(array) + case let .object(object): try container.encode(object) + case let .string(string): try container.encode(string) + case let .number(number): try container.encode(number) + case let .bool(bool): try container.encode(bool) + } + } + + public init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + if let object = try? container.decode([String: AnyJSON].self) { + self = .object(object) + } else if let array = try? container.decode([AnyJSON].self) { + self = .array(array) + } else if let string = try? container.decode(String.self) { + self = .string(string) + } else if let bool = try? container.decode(Bool.self) { + self = .bool(bool) + } else if let number = try? container.decode(Double.self) { + self = .number(number) + } else { + throw DecodingError.dataCorrupted( + .init(codingPath: decoder.codingPath, debugDescription: "Invalid JSON value.") + ) + } + } +} diff --git a/Plugins/CreateAPI/GeneratePlugin.swift b/Plugins/CreateAPI/GeneratePlugin.swift index 3ea84f67f..799f41e83 100644 --- a/Plugins/CreateAPI/GeneratePlugin.swift +++ b/Plugins/CreateAPI/GeneratePlugin.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -11,21 +11,188 @@ import PackagePlugin @main struct Plugin: CommandPlugin { + func performCommand(context: PluginContext, arguments: [String]) async throws { - let createAPICommand = try context.tool(named: "create-api") - let workingDirectory = context.package.directory.appending("Sources") + + // Apply schema pre patches + try await patchBaseItemDtoSchema(context: context) + + try await generate(context: context) + + // Apply post patches + try await patchRemoteSearchResult(context: context) + try await patchAnyJSON(context: context) + + // Move patch files + try await addSpecialFeatureType(context: context) + + try await lint(context: context) + + try await deletePatchedSchema(context: context) + } + + private func runProcess(_ commandLine: String, context: PluginContext, workingDirectory: String? = nil) throws { + + var arguments = commandLine.split(separator: " ").map { String($0) } + let commandName = arguments.removeFirst() + + let command = try context.tool(named: commandName) + + let actualWorkingDirectory: Path + + if let workingDirectory { + actualWorkingDirectory = context.package.directory.appending(workingDirectory) + } else { + actualWorkingDirectory = context.package.directory + } let process = Process() - process.currentDirectoryURL = URL(fileURLWithPath: workingDirectory.string) - process.executableURL = URL(fileURLWithPath: createAPICommand.path.string) - process.arguments = [ - "generate", - "jellyfin-openapi-stable.json", - "--config", "create-api-config.yaml", - "--output", ".", - ] + process.currentDirectoryURL = URL(fileURLWithPath: actualWorkingDirectory.string) + process.executableURL = URL(fileURLWithPath: command.path.string) + process.arguments = arguments try process.run() process.waitUntilExit() } + + private func generate(context: PluginContext) async throws { + try runProcess( + "create-api generate jellyfin-openapi-stable-patched.json --config create-api-config.yaml --output .", + context: context, + workingDirectory: "Sources" + ) + } + + private func lint(context: PluginContext) async throws { + try runProcess( + "swiftformat .", + context: context + ) + } + + private func parseOriginalSchema(context: PluginContext) async throws -> AnyJSON { + let filePath = context + .package + .directory + .appending(["Sources", "jellyfin-openapi-stable.json"]) + + let decoder = JSONDecoder() + let data = Data(referencing: try NSData(contentsOfFile: filePath.string)) + return try decoder.decode(AnyJSON.self, from: data) + } + + private func savePatchedSchema(context: PluginContext, json: AnyJSON) async throws { + let filePath = context + .package + .directory + .appending(["Sources", "jellyfin-openapi-stable-patched.json"]) + + let encoder = JSONEncoder() + encoder.outputFormatting = [.prettyPrinted, .withoutEscapingSlashes] + let data = try encoder.encode(json) + + try data.write(to: URL(fileURLWithPath: filePath.string)) + } + + private func deletePatchedSchema(context: PluginContext) async throws { + let filePath = context + .package + .directory + .appending(["Sources", "jellyfin-openapi-stable-patched.json"]) + + try FileManager.default.removeItem(atPath: filePath.string) + } + + // BaseItemDto: add SpecialFeatureType string format and CollectionTypeOptions + // object reference to properties prior to generation + private func patchBaseItemDtoSchema(context: PluginContext) async throws { + let contents = try await parseOriginalSchema(context: context) + + guard case var .object(file) = contents else { return } + guard case var .object(components) = file["components"] else { return } + guard case var .object(schemas) = components["schemas"] else { return } + guard case var .object(baseItemDto) = schemas["BaseItemDto"] else { return } + guard case var .object(properties) = baseItemDto["properties"] else { return } + + properties["ExtraType"] = AnyJSON.object( + [ + "type": .string("string"), + "format": .string("SpecialFeatureType"), + "nullable": .bool(true), + ] + ) + + // TODO: Uncomment once Swiftfin has refactored how it uses the existing CollectionType + // property for library management +// properties["CollectionType"] = AnyJSON.object( +// [ +// "allOf": .array([.object(["$ref": .string("#/components/schemas/CollectionTypeOptions")])]), +// "nullable": .bool(true), +// "description": .string("Gets or sets the type of the collection."), +// ] +// ) + + baseItemDto["properties"] = .object(properties) + schemas["BaseItemDto"] = .object(baseItemDto) + components["schemas"] = .object(schemas) + file["components"] = .object(components) + + try await savePatchedSchema(context: context, json: .object(file)) + } + + // Entities/RemoteSearchResult.swift: remove `Hashable` + private func patchRemoteSearchResult(context: PluginContext) async throws { + let filePath = context + .package + .directory + .appending(["Sources", "Entities", "RemoteSearchResult.swift"]) + + let contents = try String(contentsOfFile: filePath.string) + var lines = contents + .split(separator: "\n") + .map { String($0) } + + lines[8] = "\npublic final class RemoteSearchResult: Codable {" + + try lines + .joined(separator: "\n") + .data(using: .utf8)? + .write(to: URL(fileURLWithPath: filePath.string)) + } + + // Extensions/AnyJSON.swift: replace `Equatable` with `Hashable` + private func patchAnyJSON(context: PluginContext) async throws { + let filePath = context + .package + .directory + .appending(["Sources", "Extensions", "AnyJSON.swift"]) + + let contents = try String(contentsOfFile: filePath.string) + var lines = contents + .split(separator: "\n") + .map { String($0) } + + lines[8] = "\npublic enum AnyJSON: Hashable, Codable {" + + try lines + .joined(separator: "\n") + .data(using: .utf8)? + .write(to: URL(fileURLWithPath: filePath.string)) + } + + private func addSpecialFeatureType(context: PluginContext) async throws { + let sourceFilePath = context + .package + .directory + .appending(["Plugins", "CreateAPI", "PatchFiles", "SpecialFeatureType.swift"]) + + let sourceData = Data(referencing: try NSData(contentsOfFile: sourceFilePath.string)) + + let finalFilePath = context + .package + .directory + .appending(["Sources", "Entities", "SpecialFeatureType.swift"]) + + try sourceData.write(to: URL(fileURLWithPath: finalFilePath.string)) + } } diff --git a/Plugins/CreateAPI/PatchFiles/SpecialFeatureType.swift b/Plugins/CreateAPI/PatchFiles/SpecialFeatureType.swift new file mode 100644 index 000000000..53db065e2 --- /dev/null +++ b/Plugins/CreateAPI/PatchFiles/SpecialFeatureType.swift @@ -0,0 +1,22 @@ +// +// jellyfin-sdk-swift is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, you can obtain one at https://mozilla.org/MPL/2.0/. +// +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors +// + +import Foundation + +public enum SpecialFeatureType: String, Codable, CaseIterable { + case unknown = "Unknown" + case clip = "Clip" + case trailer = "Trailer" + case behindTheScenes = "BehindTheScenes" + case deletedScene = "DeletedScene" + case interview = "Interview" + case scene = "Scene" + case sample = "Sample" + case themeSong = "ThemeSong" + case themeVideo = "ThemeVideo" +} diff --git a/README.md b/README.md index 8186bbf8c..cafc755c2 100644 --- a/README.md +++ b/README.md @@ -6,21 +6,21 @@ Swift SDK to work with Jellyfin servers. ## Usage -The provided `JellyfinClient` uses an underlying [Get APIClient](https://github.com/kean/Get) to provide basic functionality for interfacing with a Jellyfin server: -- inject required headers for every request -- encoding/decoding of all `Date` values to expected +`JellyfinClient` uses an underlying [Get APIClient](https://github.com/kean/Get) to provide basic functionality for interfacing with a Jellyfin server: +- inject required `Authorization` header for every request +- encoding/decoding of expected `Date` values - `signIn` for generating a session access token - `signOut` for revoking the current access token ```swift -// Create +// Create client instance let jellyfinClient = JellyfinClient(configuration: configuration) -// Provided by JellyfinClient +// Sign in user with credentials let response = jellyfinClient.signIn(username: "jelly", password: "fin") ``` -You can forego `JellyfinClient` and use your own network stack, using the provided **Entities** and **Paths**. +Alternatively, you can use your own network stack with the generated **Entities** and **Paths**. ## Generation diff --git a/Sources/.DS_Store b/Sources/.DS_Store index af67c788303bc17d53bb178daeba9b87b703c16d..893c1834e09f1cfe00689c1119fd907207983210 100644 GIT binary patch delta 303 zcmZoMXfc=|#>B`mu~2NHo}wrd0|Nsi1A_nqLkUABLn=dYQh9N~#KPs14MbQb8#4*k zgZN1~`AI-^JCX`=GK)(L46ZRUF|)9;v2(Cy7CR*tMT2-D`T03X zFm_^6SY~Q@ynu*veqKppW?pI$SVLw?Do{yGcxGNoez{YAXyf`gNTGhRTV z+O^u)+(bvg$ke=6N1@u%$UsNI#MrF1mXkwNS>HM+K07BjFTV@uI3QpIdISu3p)`!@ zo@~G*!c!Jpl$VpAmktzV+-%5vjb&qlF5_l)4t@?`Z~z6qGf(ChvE%@00vg1$IY49! FGXNipP4NH# literal 6148 zcmeHKy-veG4EB{GrLbf{FfiOJWMEILl!c`z8xxcwiqw!wfLQZr2=NlU22a4}vk6HP zBqoF^Tk?Gu|J+@^tKyo7+~jGI5XD3kK^X@l3_Zer){YF+!cG^~c%(bJp@-FNl6Rub z@E;kF%bn6a@!d7<@4773;lO+GIWVG)n4-+G`Kp|=@8k9K`Ed3&?vGpiDsH_@@_NsM z7c51)G@~n=X(_*`+B-VAXnUJyIeQ;}ou!dql;5Z5k7(_GT=D)U#(*(k3~Va{sM##h zzMzf9fH7bU)C}2FY|I?rQ|8|l+83V?^Rx#j) zS)NVsN?KbxFUPgkLocB$99Id}DVT&(j94zkN6;X!d!7JO#Yzwsi2V@=G}vGa{3!#U DQ*ulL diff --git a/Sources/Entities/AccessSchedule.swift b/Sources/Entities/AccessSchedule.swift index 76155b70f..988c2c81b 100644 --- a/Sources/Entities/AccessSchedule.swift +++ b/Sources/Entities/AccessSchedule.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// An entity representing a user's access schedule. -public struct AccessSchedule: Codable, Identifiable { +public struct AccessSchedule: Codable, Hashable, Identifiable { /// Gets or sets the day of week. public var dayOfWeek: DynamicDayOfWeek? /// Gets or sets the end hour. public var endHour: Double? /// Gets the id of this instance. - public var id: Int32? + public var id: Int? /// Gets or sets the start hour. public var startHour: Double? /// Gets the id of the associated user. @@ -24,7 +24,7 @@ public struct AccessSchedule: Codable, Identifiable { public init( dayOfWeek: DynamicDayOfWeek? = nil, endHour: Double? = nil, - id: Int32? = nil, + id: Int? = nil, startHour: Double? = nil, userID: String? = nil ) { @@ -39,7 +39,7 @@ public struct AccessSchedule: Codable, Identifiable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.dayOfWeek = try values.decodeIfPresent(DynamicDayOfWeek.self, forKey: "DayOfWeek") self.endHour = try values.decodeIfPresent(Double.self, forKey: "EndHour") - self.id = try values.decodeIfPresent(Int32.self, forKey: "Id") + self.id = try values.decodeIfPresent(Int.self, forKey: "Id") self.startHour = try values.decodeIfPresent(Double.self, forKey: "StartHour") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") } diff --git a/Sources/Entities/ActivityLogEntry.swift b/Sources/Entities/ActivityLogEntry.swift index a9bc46590..673819cf4 100644 --- a/Sources/Entities/ActivityLogEntry.swift +++ b/Sources/Entities/ActivityLogEntry.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// An activity log entry. -public struct ActivityLogEntry: Codable, Identifiable { +public struct ActivityLogEntry: Codable, Hashable, Identifiable { /// Gets or sets the date. public var date: Date? /// Gets or sets the identifier. - public var id: Int64? + public var id: Int? /// Gets or sets the item identifier. public var itemID: String? /// Gets or sets the name. @@ -35,7 +35,7 @@ public struct ActivityLogEntry: Codable, Identifiable { public init( date: Date? = nil, - id: Int64? = nil, + id: Int? = nil, itemID: String? = nil, name: String? = nil, overview: String? = nil, @@ -60,7 +60,7 @@ public struct ActivityLogEntry: Codable, Identifiable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.date = try values.decodeIfPresent(Date.self, forKey: "Date") - self.id = try values.decodeIfPresent(Int64.self, forKey: "Id") + self.id = try values.decodeIfPresent(Int.self, forKey: "Id") self.itemID = try values.decodeIfPresent(String.self, forKey: "ItemId") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.overview = try values.decodeIfPresent(String.self, forKey: "Overview") diff --git a/Sources/Entities/ActivityLogEntryQueryResult.swift b/Sources/Entities/ActivityLogEntryQueryResult.swift index 3bd83a8b6..2834daade 100644 --- a/Sources/Entities/ActivityLogEntryQueryResult.swift +++ b/Sources/Entities/ActivityLogEntryQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ActivityLogEntryQueryResult: Codable { +public struct ActivityLogEntryQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [ActivityLogEntry]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [ActivityLogEntry]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [ActivityLogEntry]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct ActivityLogEntryQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([ActivityLogEntry].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/AddVirtualFolderDto.swift b/Sources/Entities/AddVirtualFolderDto.swift index 63941587c..bfd21bccb 100644 --- a/Sources/Entities/AddVirtualFolderDto.swift +++ b/Sources/Entities/AddVirtualFolderDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Add virtual folder dto. -public struct AddVirtualFolderDto: Codable { +public struct AddVirtualFolderDto: Codable, Hashable { /// Gets or sets library options. public var libraryOptions: LibraryOptions? diff --git a/Sources/Entities/AdminNotificationDto.swift b/Sources/Entities/AdminNotificationDto.swift index 458960bf3..4496e3f5f 100644 --- a/Sources/Entities/AdminNotificationDto.swift +++ b/Sources/Entities/AdminNotificationDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The admin notification dto. -public struct AdminNotificationDto: Codable { +public struct AdminNotificationDto: Codable, Hashable { /// Gets or sets the notification description. public var description: String? /// Gets or sets the notification name. diff --git a/Sources/Entities/AlbumInfo.swift b/Sources/Entities/AlbumInfo.swift index 959b1776b..1c8d3a51c 100644 --- a/Sources/Entities/AlbumInfo.swift +++ b/Sources/Entities/AlbumInfo.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AlbumInfo: Codable { +public struct AlbumInfo: Codable, Hashable { /// Gets or sets the album artist. public var albumArtists: [String]? /// Gets or sets the artist provider ids. public var artistProviderIDs: [String: String]? - public var indexNumber: Int32? + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -23,7 +23,7 @@ public struct AlbumInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? @@ -31,23 +31,23 @@ public struct AlbumInfo: Codable { public var providerIDs: [String: String]? public var songInfos: [SongInfo]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( albumArtists: [String]? = nil, artistProviderIDs: [String: String]? = nil, - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, songInfos: [SongInfo]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.albumArtists = albumArtists self.artistProviderIDs = artistProviderIDs @@ -69,18 +69,18 @@ public struct AlbumInfo: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.albumArtists = try values.decodeIfPresent([String].self, forKey: "AlbumArtists") self.artistProviderIDs = try values.decodeIfPresent([String: String].self, forKey: "ArtistProviderIds") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") self.songInfos = try values.decodeIfPresent([SongInfo].self, forKey: "SongInfos") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/AlbumInfoRemoteSearchQuery.swift b/Sources/Entities/AlbumInfoRemoteSearchQuery.swift index 9a4ebf1af..1314c7fd3 100644 --- a/Sources/Entities/AlbumInfoRemoteSearchQuery.swift +++ b/Sources/Entities/AlbumInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AlbumInfoRemoteSearchQuery: Codable { +public struct AlbumInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/AllThemeMediaResult.swift b/Sources/Entities/AllThemeMediaResult.swift index 32d278d76..3745187e6 100644 --- a/Sources/Entities/AllThemeMediaResult.swift +++ b/Sources/Entities/AllThemeMediaResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AllThemeMediaResult: Codable { +public struct AllThemeMediaResult: Codable, Hashable { /// Class ThemeMediaResult. public var soundtrackSongsResult: ThemeMediaResult? /// Class ThemeMediaResult. diff --git a/Sources/Entities/Architecture.swift b/Sources/Entities/Architecture.swift index cff820701..c2206702a 100644 --- a/Sources/Entities/Architecture.swift +++ b/Sources/Entities/Architecture.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ArtistInfo.swift b/Sources/Entities/ArtistInfo.swift index bb0112f40..21bbe3a5e 100644 --- a/Sources/Entities/ArtistInfo.swift +++ b/Sources/Entities/ArtistInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ArtistInfo: Codable { - public var indexNumber: Int32? +public struct ArtistInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,7 +19,7 @@ public struct ArtistInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? @@ -27,21 +27,21 @@ public struct ArtistInfo: Codable { public var providerIDs: [String: String]? public var songInfos: [SongInfo]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, songInfos: [SongInfo]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -59,18 +59,18 @@ public struct ArtistInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") self.songInfos = try values.decodeIfPresent([SongInfo].self, forKey: "SongInfos") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ArtistInfoRemoteSearchQuery.swift b/Sources/Entities/ArtistInfoRemoteSearchQuery.swift index c928da68a..69a29a65f 100644 --- a/Sources/Entities/ArtistInfoRemoteSearchQuery.swift +++ b/Sources/Entities/ArtistInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ArtistInfoRemoteSearchQuery: Codable { +public struct ArtistInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/AuthenticateUserByName.swift b/Sources/Entities/AuthenticateUserByName.swift index 44e2ff80b..9415ddb23 100644 --- a/Sources/Entities/AuthenticateUserByName.swift +++ b/Sources/Entities/AuthenticateUserByName.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The authenticate user by name request body. -public struct AuthenticateUserByName: Codable { +public struct AuthenticateUserByName: Codable, Hashable { /// Gets or sets the sha1-hashed password. /// /// - warning: Deprecated. diff --git a/Sources/Entities/AuthenticationInfo.swift b/Sources/Entities/AuthenticationInfo.swift index 1da70607b..a5112cc85 100644 --- a/Sources/Entities/AuthenticationInfo.swift +++ b/Sources/Entities/AuthenticationInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AuthenticationInfo: Codable, Identifiable { +public struct AuthenticationInfo: Codable, Hashable, Identifiable { /// Gets or sets the access token. public var accessToken: String? /// Gets or sets the name of the application. @@ -25,7 +25,7 @@ public struct AuthenticationInfo: Codable, Identifiable { /// Gets or sets the name of the device. public var deviceName: String? /// Gets or sets the identifier. - public var id: Int64? + public var id: Int? /// Gets or sets a value indicating whether this instance is active. public var isActive: Bool? /// Gets or sets the user identifier. @@ -41,7 +41,7 @@ public struct AuthenticationInfo: Codable, Identifiable { dateRevoked: Date? = nil, deviceID: String? = nil, deviceName: String? = nil, - id: Int64? = nil, + id: Int? = nil, isActive: Bool? = nil, userID: String? = nil, userName: String? = nil @@ -70,7 +70,7 @@ public struct AuthenticationInfo: Codable, Identifiable { self.dateRevoked = try values.decodeIfPresent(Date.self, forKey: "DateRevoked") self.deviceID = try values.decodeIfPresent(String.self, forKey: "DeviceId") self.deviceName = try values.decodeIfPresent(String.self, forKey: "DeviceName") - self.id = try values.decodeIfPresent(Int64.self, forKey: "Id") + self.id = try values.decodeIfPresent(Int.self, forKey: "Id") self.isActive = try values.decodeIfPresent(Bool.self, forKey: "IsActive") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") self.userName = try values.decodeIfPresent(String.self, forKey: "UserName") diff --git a/Sources/Entities/AuthenticationInfoQueryResult.swift b/Sources/Entities/AuthenticationInfoQueryResult.swift index 2caca1fcd..1e94c2d18 100644 --- a/Sources/Entities/AuthenticationInfoQueryResult.swift +++ b/Sources/Entities/AuthenticationInfoQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AuthenticationInfoQueryResult: Codable { +public struct AuthenticationInfoQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [AuthenticationInfo]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [AuthenticationInfo]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [AuthenticationInfo]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct AuthenticationInfoQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([AuthenticationInfo].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/AuthenticationResult.swift b/Sources/Entities/AuthenticationResult.swift index b9d94c811..39c38ab26 100644 --- a/Sources/Entities/AuthenticationResult.swift +++ b/Sources/Entities/AuthenticationResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct AuthenticationResult: Codable { +public struct AuthenticationResult: Codable, Hashable { public var accessToken: String? public var serverID: String? /// Class SessionInfo. diff --git a/Sources/Entities/BaseItem.swift b/Sources/Entities/BaseItem.swift index 02f463b7e..faba578ad 100644 --- a/Sources/Entities/BaseItem.swift +++ b/Sources/Entities/BaseItem.swift @@ -3,38 +3,38 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class BaseItem. -public struct BaseItem: Codable { +public struct BaseItem: Codable, Hashable { public var container: String? public var dateLastSaved: Date? public var extraIDs: [String]? - public var height: Int32? + public var height: Int? public var isHD: Bool? public var isShortcut: Bool? /// Gets or sets the remote trailers. public var remoteTrailers: [MediaURL]? public var shortcutPath: String? - public var size: Int64? + public var size: Int? public var isSupportsExternalTransfer: Bool? - public var width: Int32? + public var width: Int? public init( container: String? = nil, dateLastSaved: Date? = nil, extraIDs: [String]? = nil, - height: Int32? = nil, + height: Int? = nil, isHD: Bool? = nil, isShortcut: Bool? = nil, remoteTrailers: [MediaURL]? = nil, shortcutPath: String? = nil, - size: Int64? = nil, + size: Int? = nil, isSupportsExternalTransfer: Bool? = nil, - width: Int32? = nil + width: Int? = nil ) { self.container = container self.dateLastSaved = dateLastSaved @@ -54,14 +54,14 @@ public struct BaseItem: Codable { self.container = try values.decodeIfPresent(String.self, forKey: "Container") self.dateLastSaved = try values.decodeIfPresent(Date.self, forKey: "DateLastSaved") self.extraIDs = try values.decodeIfPresent([String].self, forKey: "ExtraIds") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") self.isHD = try values.decodeIfPresent(Bool.self, forKey: "IsHD") self.isShortcut = try values.decodeIfPresent(Bool.self, forKey: "IsShortcut") self.remoteTrailers = try values.decodeIfPresent([MediaURL].self, forKey: "RemoteTrailers") self.shortcutPath = try values.decodeIfPresent(String.self, forKey: "ShortcutPath") - self.size = try values.decodeIfPresent(Int64.self, forKey: "Size") + self.size = try values.decodeIfPresent(Int.self, forKey: "Size") self.isSupportsExternalTransfer = try values.decodeIfPresent(Bool.self, forKey: "SupportsExternalTransfer") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/BaseItemDto.swift b/Sources/Entities/BaseItemDto.swift index 75a6ace00..a754c623d 100644 --- a/Sources/Entities/BaseItemDto.swift +++ b/Sources/Entities/BaseItemDto.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -11,14 +11,14 @@ import Foundation /// This is strictly used as a data transfer object from the api layer. /// /// This holds information about a BaseItem in a format that is convenient for the client. -public struct BaseItemDto: Codable, Identifiable { +public struct BaseItemDto: Codable, Hashable, Identifiable { /// Gets or sets the air days. public var airDays: [DayOfWeek]? /// Gets or sets the air time. public var airTime: String? - public var airsAfterSeasonNumber: Int32? - public var airsBeforeEpisodeNumber: Int32? - public var airsBeforeSeasonNumber: Int32? + public var airsAfterSeasonNumber: Int? + public var airsBeforeEpisodeNumber: Int? + public var airsBeforeSeasonNumber: Int? /// Gets or sets the album. public var album: String? /// Gets or sets the album artist. @@ -26,14 +26,14 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the album artists. public var albumArtists: [NameGuidPair]? /// Gets or sets the album count. - public var albumCount: Int32? + public var albumCount: Int? /// Gets or sets the album id. public var albumID: String? /// Gets or sets the album image tag. public var albumPrimaryImageTag: String? public var altitude: Double? public var aperture: Double? - public var artistCount: Int32? + public var artistCount: Int? /// Gets or sets the artist items. public var artistItems: [NameGuidPair]? /// Gets or sets the artists. @@ -59,7 +59,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the chapters. public var chapters: [ChapterInfo]? /// Gets or sets the child count. - public var childCount: Int32? + public var childCount: Int? /// Gets or sets the type of the collection. public var collectionType: String? /// Gets or sets the community rating. @@ -70,7 +70,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the critic rating. public var criticRating: Float? /// Gets or sets the cumulative run time ticks. - public var cumulativeRunTimeTicks: Int64? + public var cumulativeRunTimeTicks: Int? /// Gets or sets the custom rating. public var customRating: String? /// Gets or sets the date created. @@ -84,7 +84,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the end date. public var endDate: Date? /// Gets or sets the episode count. - public var episodeCount: Int32? + public var episodeCount: Int? /// Gets or sets the episode title. public var episodeTitle: String? /// Gets or sets the etag. @@ -92,14 +92,14 @@ public struct BaseItemDto: Codable, Identifiable { public var exposureTime: Double? /// Gets or sets the external urls. public var externalURLs: [ExternalURL]? - public var extraType: String? + public var extraType: SpecialFeatureType? public var focalLength: Double? public var forcedSortName: String? public var genreItems: [NameGuidPair]? /// Gets or sets the genres. public var genres: [String]? public var hasSubtitles: Bool? - public var height: Int32? + public var height: Int? /// Gets or sets the id. public var id: String? /// Gets or sets the blurhashes for the image tags. @@ -110,9 +110,9 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the image tags. public var imageTags: [String: String]? /// Gets or sets the index number. - public var indexNumber: Int32? + public var indexNumber: Int? /// Gets or sets the index number end. - public var indexNumberEnd: Int32? + public var indexNumberEnd: Int? /// Gets or sets a value indicating whether this instance is folder. public var isFolder: Bool? /// Gets or sets a value indicating whether this instance is HD. @@ -135,12 +135,12 @@ public struct BaseItemDto: Codable, Identifiable { public var isSeries: Bool? /// Gets or sets a value indicating whether this instance is sports. public var isSports: Bool? - public var isoSpeedRating: Int32? + public var isoSpeedRating: Int? /// Gets or sets the type of the iso. public var isoType: IsoType? public var latitude: Double? /// Gets or sets the local trailer count. - public var localTrailerCount: Int32? + public var localTrailerCount: Int? /// Gets or sets the type of the location. public var locationType: LocationType? /// Gets or sets a value indicating whether [enable internet providers]. @@ -148,7 +148,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the locked fields. public var lockedFields: [MetadataField]? public var longitude: Double? - public var mediaSourceCount: Int32? + public var mediaSourceCount: Int? /// Gets or sets the media versions. public var mediaSources: [MediaSourceInfo]? /// Gets or sets the media streams. @@ -156,9 +156,9 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the type of the media. public var mediaType: String? /// Gets or sets the movie count. - public var movieCount: Int32? + public var movieCount: Int? /// Gets or sets the music video count. - public var musicVideoCount: Int32? + public var musicVideoCount: Int? /// Gets or sets the name. public var name: String? /// Gets or sets the number. @@ -179,7 +179,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the parent id. public var parentID: String? /// Gets or sets the parent index number. - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the parent logo image tag. public var parentLogoImageTag: String? /// Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. @@ -193,7 +193,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the parent thumb item id. public var parentThumbItemID: String? /// Gets or sets the part count. - public var partCount: Int32? + public var partCount: Int? /// Gets or sets the path. public var path: String? /// Gets or sets the people. @@ -210,18 +210,18 @@ public struct BaseItemDto: Codable, Identifiable { public var primaryImageAspectRatio: Double? public var productionLocations: [String]? /// Gets or sets the production year. - public var productionYear: Int32? - public var programCount: Int32? + public var productionYear: Int? + public var programCount: Int? /// Gets or sets the program identifier. public var programID: String? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the recursive item count. - public var recursiveItemCount: Int32? + public var recursiveItemCount: Int? /// Gets or sets the trailer urls. public var remoteTrailers: [MediaURL]? /// Gets or sets the run time ticks. - public var runTimeTicks: Int64? + public var runTimeTicks: Int? /// Gets or sets the screenshot image tags. public var screenshotImageTags: [String]? /// Gets or sets the season identifier. @@ -229,7 +229,7 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the name of the season. public var seasonName: String? /// Gets or sets the series count. - public var seriesCount: Int32? + public var seriesCount: Int? /// Gets or sets the series id. public var seriesID: String? /// Gets or sets the name of the series. @@ -247,13 +247,13 @@ public struct BaseItemDto: Codable, Identifiable { public var shutterSpeed: Double? public var software: String? /// Gets or sets the song count. - public var songCount: Int32? + public var songCount: Int? /// Gets or sets the name of the sort. public var sortName: String? /// Gets or sets the type of the source. public var sourceType: String? /// Gets or sets the special feature count. - public var specialFeatureCount: Int32? + public var specialFeatureCount: Int? /// Gets or sets the start date of the recording, in UTC. public var startDate: Date? /// Gets or sets the status. @@ -269,8 +269,8 @@ public struct BaseItemDto: Codable, Identifiable { /// Gets or sets the timer identifier. public var timerID: String? /// Gets or sets the trailer count. - public var trailerCount: Int32? - /// The base item kind. + public var trailerCount: Int? + /// Gets or sets the type. public var type: BaseItemKind? /// Gets or sets the user data for this item based on the user it's being requested for. public var userData: UserItemDataDto? @@ -278,12 +278,12 @@ public struct BaseItemDto: Codable, Identifiable { public var video3DFormat: Video3DFormat? /// Gets or sets the type of the video. public var videoType: VideoType? - public var width: Int32? + public var width: Int? /// Gets or sets the blurhashes for the image tags. /// /// Maps image type to dictionary mapping image tag to blurhash value. - public struct ImageBlurHashes: Codable { + public struct ImageBlurHashes: Codable, Hashable { public var art: [String: String]? public var backdrop: [String: String]? public var banner: [String: String]? @@ -366,18 +366,18 @@ public struct BaseItemDto: Codable, Identifiable { public init( airDays: [DayOfWeek]? = nil, airTime: String? = nil, - airsAfterSeasonNumber: Int32? = nil, - airsBeforeEpisodeNumber: Int32? = nil, - airsBeforeSeasonNumber: Int32? = nil, + airsAfterSeasonNumber: Int? = nil, + airsBeforeEpisodeNumber: Int? = nil, + airsBeforeSeasonNumber: Int? = nil, album: String? = nil, albumArtist: String? = nil, albumArtists: [NameGuidPair]? = nil, - albumCount: Int32? = nil, + albumCount: Int? = nil, albumID: String? = nil, albumPrimaryImageTag: String? = nil, altitude: Double? = nil, aperture: Double? = nil, - artistCount: Int32? = nil, + artistCount: Int? = nil, artistItems: [NameGuidPair]? = nil, artists: [String]? = nil, aspectRatio: String? = nil, @@ -393,13 +393,13 @@ public struct BaseItemDto: Codable, Identifiable { channelPrimaryImageTag: String? = nil, channelType: ChannelType? = nil, chapters: [ChapterInfo]? = nil, - childCount: Int32? = nil, + childCount: Int? = nil, collectionType: String? = nil, communityRating: Float? = nil, completionPercentage: Double? = nil, container: String? = nil, criticRating: Float? = nil, - cumulativeRunTimeTicks: Int64? = nil, + cumulativeRunTimeTicks: Int? = nil, customRating: String? = nil, dateCreated: Date? = nil, dateLastMediaAdded: Date? = nil, @@ -407,24 +407,24 @@ public struct BaseItemDto: Codable, Identifiable { displayPreferencesID: String? = nil, enableMediaSourceDisplay: Bool? = nil, endDate: Date? = nil, - episodeCount: Int32? = nil, + episodeCount: Int? = nil, episodeTitle: String? = nil, etag: String? = nil, exposureTime: Double? = nil, externalURLs: [ExternalURL]? = nil, - extraType: String? = nil, + extraType: SpecialFeatureType? = nil, focalLength: Double? = nil, forcedSortName: String? = nil, genreItems: [NameGuidPair]? = nil, genres: [String]? = nil, hasSubtitles: Bool? = nil, - height: Int32? = nil, + height: Int? = nil, id: String? = nil, imageBlurHashes: ImageBlurHashes? = nil, imageOrientation: ImageOrientation? = nil, imageTags: [String: String]? = nil, - indexNumber: Int32? = nil, - indexNumberEnd: Int32? = nil, + indexNumber: Int? = nil, + indexNumberEnd: Int? = nil, isFolder: Bool? = nil, isHD: Bool? = nil, isKids: Bool? = nil, @@ -436,20 +436,20 @@ public struct BaseItemDto: Codable, Identifiable { isRepeat: Bool? = nil, isSeries: Bool? = nil, isSports: Bool? = nil, - isoSpeedRating: Int32? = nil, + isoSpeedRating: Int? = nil, isoType: IsoType? = nil, latitude: Double? = nil, - localTrailerCount: Int32? = nil, + localTrailerCount: Int? = nil, locationType: LocationType? = nil, lockData: Bool? = nil, lockedFields: [MetadataField]? = nil, longitude: Double? = nil, - mediaSourceCount: Int32? = nil, + mediaSourceCount: Int? = nil, mediaSources: [MediaSourceInfo]? = nil, mediaStreams: [MediaStream]? = nil, mediaType: String? = nil, - movieCount: Int32? = nil, - musicVideoCount: Int32? = nil, + movieCount: Int? = nil, + musicVideoCount: Int? = nil, name: String? = nil, number: String? = nil, officialRating: String? = nil, @@ -460,14 +460,14 @@ public struct BaseItemDto: Codable, Identifiable { parentBackdropImageTags: [String]? = nil, parentBackdropItemID: String? = nil, parentID: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, parentLogoImageTag: String? = nil, parentLogoItemID: String? = nil, parentPrimaryImageItemID: String? = nil, parentPrimaryImageTag: String? = nil, parentThumbImageTag: String? = nil, parentThumbItemID: String? = nil, - partCount: Int32? = nil, + partCount: Int? = nil, path: String? = nil, people: [BaseItemPerson]? = nil, playAccess: PlayAccess? = nil, @@ -477,17 +477,17 @@ public struct BaseItemDto: Codable, Identifiable { premiereDate: Date? = nil, primaryImageAspectRatio: Double? = nil, productionLocations: [String]? = nil, - productionYear: Int32? = nil, - programCount: Int32? = nil, + productionYear: Int? = nil, + programCount: Int? = nil, programID: String? = nil, providerIDs: [String: String]? = nil, - recursiveItemCount: Int32? = nil, + recursiveItemCount: Int? = nil, remoteTrailers: [MediaURL]? = nil, - runTimeTicks: Int64? = nil, + runTimeTicks: Int? = nil, screenshotImageTags: [String]? = nil, seasonID: String? = nil, seasonName: String? = nil, - seriesCount: Int32? = nil, + seriesCount: Int? = nil, seriesID: String? = nil, seriesName: String? = nil, seriesPrimaryImageTag: String? = nil, @@ -497,10 +497,10 @@ public struct BaseItemDto: Codable, Identifiable { serverID: String? = nil, shutterSpeed: Double? = nil, software: String? = nil, - songCount: Int32? = nil, + songCount: Int? = nil, sortName: String? = nil, sourceType: String? = nil, - specialFeatureCount: Int32? = nil, + specialFeatureCount: Int? = nil, startDate: Date? = nil, status: String? = nil, studios: [NameGuidPair]? = nil, @@ -508,12 +508,12 @@ public struct BaseItemDto: Codable, Identifiable { taglines: [String]? = nil, tags: [String]? = nil, timerID: String? = nil, - trailerCount: Int32? = nil, + trailerCount: Int? = nil, type: BaseItemKind? = nil, userData: UserItemDataDto? = nil, video3DFormat: Video3DFormat? = nil, videoType: VideoType? = nil, - width: Int32? = nil + width: Int? = nil ) { self.airDays = airDays self.airTime = airTime @@ -671,18 +671,18 @@ public struct BaseItemDto: Codable, Identifiable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.airDays = try values.decodeIfPresent([DayOfWeek].self, forKey: "AirDays") self.airTime = try values.decodeIfPresent(String.self, forKey: "AirTime") - self.airsAfterSeasonNumber = try values.decodeIfPresent(Int32.self, forKey: "AirsAfterSeasonNumber") - self.airsBeforeEpisodeNumber = try values.decodeIfPresent(Int32.self, forKey: "AirsBeforeEpisodeNumber") - self.airsBeforeSeasonNumber = try values.decodeIfPresent(Int32.self, forKey: "AirsBeforeSeasonNumber") + self.airsAfterSeasonNumber = try values.decodeIfPresent(Int.self, forKey: "AirsAfterSeasonNumber") + self.airsBeforeEpisodeNumber = try values.decodeIfPresent(Int.self, forKey: "AirsBeforeEpisodeNumber") + self.airsBeforeSeasonNumber = try values.decodeIfPresent(Int.self, forKey: "AirsBeforeSeasonNumber") self.album = try values.decodeIfPresent(String.self, forKey: "Album") self.albumArtist = try values.decodeIfPresent(String.self, forKey: "AlbumArtist") self.albumArtists = try values.decodeIfPresent([NameGuidPair].self, forKey: "AlbumArtists") - self.albumCount = try values.decodeIfPresent(Int32.self, forKey: "AlbumCount") + self.albumCount = try values.decodeIfPresent(Int.self, forKey: "AlbumCount") self.albumID = try values.decodeIfPresent(String.self, forKey: "AlbumId") self.albumPrimaryImageTag = try values.decodeIfPresent(String.self, forKey: "AlbumPrimaryImageTag") self.altitude = try values.decodeIfPresent(Double.self, forKey: "Altitude") self.aperture = try values.decodeIfPresent(Double.self, forKey: "Aperture") - self.artistCount = try values.decodeIfPresent(Int32.self, forKey: "ArtistCount") + self.artistCount = try values.decodeIfPresent(Int.self, forKey: "ArtistCount") self.artistItems = try values.decodeIfPresent([NameGuidPair].self, forKey: "ArtistItems") self.artists = try values.decodeIfPresent([String].self, forKey: "Artists") self.aspectRatio = try values.decodeIfPresent(String.self, forKey: "AspectRatio") @@ -698,13 +698,13 @@ public struct BaseItemDto: Codable, Identifiable { self.channelPrimaryImageTag = try values.decodeIfPresent(String.self, forKey: "ChannelPrimaryImageTag") self.channelType = try values.decodeIfPresent(ChannelType.self, forKey: "ChannelType") self.chapters = try values.decodeIfPresent([ChapterInfo].self, forKey: "Chapters") - self.childCount = try values.decodeIfPresent(Int32.self, forKey: "ChildCount") + self.childCount = try values.decodeIfPresent(Int.self, forKey: "ChildCount") self.collectionType = try values.decodeIfPresent(String.self, forKey: "CollectionType") self.communityRating = try values.decodeIfPresent(Float.self, forKey: "CommunityRating") self.completionPercentage = try values.decodeIfPresent(Double.self, forKey: "CompletionPercentage") self.container = try values.decodeIfPresent(String.self, forKey: "Container") self.criticRating = try values.decodeIfPresent(Float.self, forKey: "CriticRating") - self.cumulativeRunTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "CumulativeRunTimeTicks") + self.cumulativeRunTimeTicks = try values.decodeIfPresent(Int.self, forKey: "CumulativeRunTimeTicks") self.customRating = try values.decodeIfPresent(String.self, forKey: "CustomRating") self.dateCreated = try values.decodeIfPresent(Date.self, forKey: "DateCreated") self.dateLastMediaAdded = try values.decodeIfPresent(Date.self, forKey: "DateLastMediaAdded") @@ -712,24 +712,24 @@ public struct BaseItemDto: Codable, Identifiable { self.displayPreferencesID = try values.decodeIfPresent(String.self, forKey: "DisplayPreferencesId") self.enableMediaSourceDisplay = try values.decodeIfPresent(Bool.self, forKey: "EnableMediaSourceDisplay") self.endDate = try values.decodeIfPresent(Date.self, forKey: "EndDate") - self.episodeCount = try values.decodeIfPresent(Int32.self, forKey: "EpisodeCount") + self.episodeCount = try values.decodeIfPresent(Int.self, forKey: "EpisodeCount") self.episodeTitle = try values.decodeIfPresent(String.self, forKey: "EpisodeTitle") self.etag = try values.decodeIfPresent(String.self, forKey: "Etag") self.exposureTime = try values.decodeIfPresent(Double.self, forKey: "ExposureTime") self.externalURLs = try values.decodeIfPresent([ExternalURL].self, forKey: "ExternalUrls") - self.extraType = try values.decodeIfPresent(String.self, forKey: "ExtraType") + self.extraType = try values.decodeIfPresent(SpecialFeatureType.self, forKey: "ExtraType") self.focalLength = try values.decodeIfPresent(Double.self, forKey: "FocalLength") self.forcedSortName = try values.decodeIfPresent(String.self, forKey: "ForcedSortName") self.genreItems = try values.decodeIfPresent([NameGuidPair].self, forKey: "GenreItems") self.genres = try values.decodeIfPresent([String].self, forKey: "Genres") self.hasSubtitles = try values.decodeIfPresent(Bool.self, forKey: "HasSubtitles") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") self.id = try values.decodeIfPresent(String.self, forKey: "Id") self.imageBlurHashes = try values.decodeIfPresent(ImageBlurHashes.self, forKey: "ImageBlurHashes") self.imageOrientation = try values.decodeIfPresent(ImageOrientation.self, forKey: "ImageOrientation") self.imageTags = try values.decodeIfPresent([String: String].self, forKey: "ImageTags") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") - self.indexNumberEnd = try values.decodeIfPresent(Int32.self, forKey: "IndexNumberEnd") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") + self.indexNumberEnd = try values.decodeIfPresent(Int.self, forKey: "IndexNumberEnd") self.isFolder = try values.decodeIfPresent(Bool.self, forKey: "IsFolder") self.isHD = try values.decodeIfPresent(Bool.self, forKey: "IsHD") self.isKids = try values.decodeIfPresent(Bool.self, forKey: "IsKids") @@ -741,20 +741,20 @@ public struct BaseItemDto: Codable, Identifiable { self.isRepeat = try values.decodeIfPresent(Bool.self, forKey: "IsRepeat") self.isSeries = try values.decodeIfPresent(Bool.self, forKey: "IsSeries") self.isSports = try values.decodeIfPresent(Bool.self, forKey: "IsSports") - self.isoSpeedRating = try values.decodeIfPresent(Int32.self, forKey: "IsoSpeedRating") + self.isoSpeedRating = try values.decodeIfPresent(Int.self, forKey: "IsoSpeedRating") self.isoType = try values.decodeIfPresent(IsoType.self, forKey: "IsoType") self.latitude = try values.decodeIfPresent(Double.self, forKey: "Latitude") - self.localTrailerCount = try values.decodeIfPresent(Int32.self, forKey: "LocalTrailerCount") + self.localTrailerCount = try values.decodeIfPresent(Int.self, forKey: "LocalTrailerCount") self.locationType = try values.decodeIfPresent(LocationType.self, forKey: "LocationType") self.lockData = try values.decodeIfPresent(Bool.self, forKey: "LockData") self.lockedFields = try values.decodeIfPresent([MetadataField].self, forKey: "LockedFields") self.longitude = try values.decodeIfPresent(Double.self, forKey: "Longitude") - self.mediaSourceCount = try values.decodeIfPresent(Int32.self, forKey: "MediaSourceCount") + self.mediaSourceCount = try values.decodeIfPresent(Int.self, forKey: "MediaSourceCount") self.mediaSources = try values.decodeIfPresent([MediaSourceInfo].self, forKey: "MediaSources") self.mediaStreams = try values.decodeIfPresent([MediaStream].self, forKey: "MediaStreams") self.mediaType = try values.decodeIfPresent(String.self, forKey: "MediaType") - self.movieCount = try values.decodeIfPresent(Int32.self, forKey: "MovieCount") - self.musicVideoCount = try values.decodeIfPresent(Int32.self, forKey: "MusicVideoCount") + self.movieCount = try values.decodeIfPresent(Int.self, forKey: "MovieCount") + self.musicVideoCount = try values.decodeIfPresent(Int.self, forKey: "MusicVideoCount") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.number = try values.decodeIfPresent(String.self, forKey: "Number") self.officialRating = try values.decodeIfPresent(String.self, forKey: "OfficialRating") @@ -765,14 +765,14 @@ public struct BaseItemDto: Codable, Identifiable { self.parentBackdropImageTags = try values.decodeIfPresent([String].self, forKey: "ParentBackdropImageTags") self.parentBackdropItemID = try values.decodeIfPresent(String.self, forKey: "ParentBackdropItemId") self.parentID = try values.decodeIfPresent(String.self, forKey: "ParentId") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.parentLogoImageTag = try values.decodeIfPresent(String.self, forKey: "ParentLogoImageTag") self.parentLogoItemID = try values.decodeIfPresent(String.self, forKey: "ParentLogoItemId") self.parentPrimaryImageItemID = try values.decodeIfPresent(String.self, forKey: "ParentPrimaryImageItemId") self.parentPrimaryImageTag = try values.decodeIfPresent(String.self, forKey: "ParentPrimaryImageTag") self.parentThumbImageTag = try values.decodeIfPresent(String.self, forKey: "ParentThumbImageTag") self.parentThumbItemID = try values.decodeIfPresent(String.self, forKey: "ParentThumbItemId") - self.partCount = try values.decodeIfPresent(Int32.self, forKey: "PartCount") + self.partCount = try values.decodeIfPresent(Int.self, forKey: "PartCount") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.people = try values.decodeIfPresent([BaseItemPerson].self, forKey: "People") self.playAccess = try values.decodeIfPresent(PlayAccess.self, forKey: "PlayAccess") @@ -782,17 +782,17 @@ public struct BaseItemDto: Codable, Identifiable { self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.primaryImageAspectRatio = try values.decodeIfPresent(Double.self, forKey: "PrimaryImageAspectRatio") self.productionLocations = try values.decodeIfPresent([String].self, forKey: "ProductionLocations") - self.productionYear = try values.decodeIfPresent(Int32.self, forKey: "ProductionYear") - self.programCount = try values.decodeIfPresent(Int32.self, forKey: "ProgramCount") + self.productionYear = try values.decodeIfPresent(Int.self, forKey: "ProductionYear") + self.programCount = try values.decodeIfPresent(Int.self, forKey: "ProgramCount") self.programID = try values.decodeIfPresent(String.self, forKey: "ProgramId") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.recursiveItemCount = try values.decodeIfPresent(Int32.self, forKey: "RecursiveItemCount") + self.recursiveItemCount = try values.decodeIfPresent(Int.self, forKey: "RecursiveItemCount") self.remoteTrailers = try values.decodeIfPresent([MediaURL].self, forKey: "RemoteTrailers") - self.runTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "RunTimeTicks") + self.runTimeTicks = try values.decodeIfPresent(Int.self, forKey: "RunTimeTicks") self.screenshotImageTags = try values.decodeIfPresent([String].self, forKey: "ScreenshotImageTags") self.seasonID = try values.decodeIfPresent(String.self, forKey: "SeasonId") self.seasonName = try values.decodeIfPresent(String.self, forKey: "SeasonName") - self.seriesCount = try values.decodeIfPresent(Int32.self, forKey: "SeriesCount") + self.seriesCount = try values.decodeIfPresent(Int.self, forKey: "SeriesCount") self.seriesID = try values.decodeIfPresent(String.self, forKey: "SeriesId") self.seriesName = try values.decodeIfPresent(String.self, forKey: "SeriesName") self.seriesPrimaryImageTag = try values.decodeIfPresent(String.self, forKey: "SeriesPrimaryImageTag") @@ -802,10 +802,10 @@ public struct BaseItemDto: Codable, Identifiable { self.serverID = try values.decodeIfPresent(String.self, forKey: "ServerId") self.shutterSpeed = try values.decodeIfPresent(Double.self, forKey: "ShutterSpeed") self.software = try values.decodeIfPresent(String.self, forKey: "Software") - self.songCount = try values.decodeIfPresent(Int32.self, forKey: "SongCount") + self.songCount = try values.decodeIfPresent(Int.self, forKey: "SongCount") self.sortName = try values.decodeIfPresent(String.self, forKey: "SortName") self.sourceType = try values.decodeIfPresent(String.self, forKey: "SourceType") - self.specialFeatureCount = try values.decodeIfPresent(Int32.self, forKey: "SpecialFeatureCount") + self.specialFeatureCount = try values.decodeIfPresent(Int.self, forKey: "SpecialFeatureCount") self.startDate = try values.decodeIfPresent(Date.self, forKey: "StartDate") self.status = try values.decodeIfPresent(String.self, forKey: "Status") self.studios = try values.decodeIfPresent([NameGuidPair].self, forKey: "Studios") @@ -813,12 +813,12 @@ public struct BaseItemDto: Codable, Identifiable { self.taglines = try values.decodeIfPresent([String].self, forKey: "Taglines") self.tags = try values.decodeIfPresent([String].self, forKey: "Tags") self.timerID = try values.decodeIfPresent(String.self, forKey: "TimerId") - self.trailerCount = try values.decodeIfPresent(Int32.self, forKey: "TrailerCount") + self.trailerCount = try values.decodeIfPresent(Int.self, forKey: "TrailerCount") self.type = try values.decodeIfPresent(BaseItemKind.self, forKey: "Type") self.userData = try values.decodeIfPresent(UserItemDataDto.self, forKey: "UserData") self.video3DFormat = try values.decodeIfPresent(Video3DFormat.self, forKey: "Video3DFormat") self.videoType = try values.decodeIfPresent(VideoType.self, forKey: "VideoType") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/BaseItemDtoQueryResult.swift b/Sources/Entities/BaseItemDtoQueryResult.swift index e6ddb9ac6..f784cfaa0 100644 --- a/Sources/Entities/BaseItemDtoQueryResult.swift +++ b/Sources/Entities/BaseItemDtoQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct BaseItemDtoQueryResult: Codable { +public struct BaseItemDtoQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [BaseItemDto]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [BaseItemDto]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [BaseItemDto]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct BaseItemDtoQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([BaseItemDto].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/BaseItemKind.swift b/Sources/Entities/BaseItemKind.swift index 7a08f99e0..c07bf4687 100644 --- a/Sources/Entities/BaseItemKind.swift +++ b/Sources/Entities/BaseItemKind.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/BaseItemPerson.swift b/Sources/Entities/BaseItemPerson.swift index b575494b2..f08ebc724 100644 --- a/Sources/Entities/BaseItemPerson.swift +++ b/Sources/Entities/BaseItemPerson.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// This is used by the api to get information about a Person within a BaseItem. -public struct BaseItemPerson: Codable, Identifiable { +public struct BaseItemPerson: Codable, Hashable, Identifiable { /// Gets or sets the identifier. public var id: String? /// Gets or sets the primary image blurhash. @@ -24,7 +24,7 @@ public struct BaseItemPerson: Codable, Identifiable { public var type: String? /// Gets or sets the primary image blurhash. - public struct ImageBlurHashes: Codable { + public struct ImageBlurHashes: Codable, Hashable { public var art: [String: String]? public var backdrop: [String: String]? public var banner: [String: String]? diff --git a/Sources/Entities/BookInfo.swift b/Sources/Entities/BookInfo.swift index 646752203..6065c95f4 100644 --- a/Sources/Entities/BookInfo.swift +++ b/Sources/Entities/BookInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct BookInfo: Codable { - public var indexNumber: Int32? +public struct BookInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,7 +19,7 @@ public struct BookInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? @@ -27,21 +27,21 @@ public struct BookInfo: Codable { public var providerIDs: [String: String]? public var seriesName: String? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, seriesName: String? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -59,18 +59,18 @@ public struct BookInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") self.seriesName = try values.decodeIfPresent(String.self, forKey: "SeriesName") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/BookInfoRemoteSearchQuery.swift b/Sources/Entities/BookInfoRemoteSearchQuery.swift index f253b84a2..64a2a51e1 100644 --- a/Sources/Entities/BookInfoRemoteSearchQuery.swift +++ b/Sources/Entities/BookInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct BookInfoRemoteSearchQuery: Codable { +public struct BookInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/BoxSetInfo.swift b/Sources/Entities/BoxSetInfo.swift index 00eb195ee..69f46b86a 100644 --- a/Sources/Entities/BoxSetInfo.swift +++ b/Sources/Entities/BoxSetInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct BoxSetInfo: Codable { - public var indexNumber: Int32? +public struct BoxSetInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,27 +19,27 @@ public struct BoxSetInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -56,17 +56,17 @@ public struct BoxSetInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/BoxSetInfoRemoteSearchQuery.swift b/Sources/Entities/BoxSetInfoRemoteSearchQuery.swift index 3354a729c..8b4af89cf 100644 --- a/Sources/Entities/BoxSetInfoRemoteSearchQuery.swift +++ b/Sources/Entities/BoxSetInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct BoxSetInfoRemoteSearchQuery: Codable { +public struct BoxSetInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/BrandingOptions.swift b/Sources/Entities/BrandingOptions.swift index 3a449870c..583b2d72f 100644 --- a/Sources/Entities/BrandingOptions.swift +++ b/Sources/Entities/BrandingOptions.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The branding options. -public struct BrandingOptions: Codable { +public struct BrandingOptions: Codable, Hashable { /// Gets or sets the custom CSS. public var customCss: String? /// Gets or sets the login disclaimer. diff --git a/Sources/Entities/BufferRequestDto.swift b/Sources/Entities/BufferRequestDto.swift index 6cba8fb7e..2a02aca81 100644 --- a/Sources/Entities/BufferRequestDto.swift +++ b/Sources/Entities/BufferRequestDto.swift @@ -3,23 +3,23 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class BufferRequestDto. -public struct BufferRequestDto: Codable { +public struct BufferRequestDto: Codable, Hashable { /// Gets or sets a value indicating whether the client playback is unpaused. public var isPlaying: Bool? /// Gets or sets the playlist item identifier of the playing item. public var playlistItemID: String? /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets when the request has been made by the client. public var when: Date? - public init(isPlaying: Bool? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, when: Date? = nil) { + public init(isPlaying: Bool? = nil, playlistItemID: String? = nil, positionTicks: Int? = nil, when: Date? = nil) { self.isPlaying = isPlaying self.playlistItemID = playlistItemID self.positionTicks = positionTicks @@ -30,7 +30,7 @@ public struct BufferRequestDto: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.isPlaying = try values.decodeIfPresent(Bool.self, forKey: "IsPlaying") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.when = try values.decodeIfPresent(Date.self, forKey: "When") } diff --git a/Sources/Entities/ChannelFeatures.swift b/Sources/Entities/ChannelFeatures.swift index 511f6d5bc..c8a383d46 100644 --- a/Sources/Entities/ChannelFeatures.swift +++ b/Sources/Entities/ChannelFeatures.swift @@ -3,14 +3,14 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ChannelFeatures: Codable, Identifiable { +public struct ChannelFeatures: Codable, Hashable, Identifiable { /// Gets or sets the automatic refresh levels. - public var autoRefreshLevels: Int32? + public var autoRefreshLevels: Int? /// Gets or sets a value indicating whether this instance can filter. public var canFilter: Bool? /// Gets or sets a value indicating whether this instance can search. @@ -22,7 +22,7 @@ public struct ChannelFeatures: Codable, Identifiable { /// Gets or sets the identifier. public var id: String? /// Gets or sets the maximum number of records the channel allows retrieving at a time. - public var maxPageSize: Int32? + public var maxPageSize: Int? /// Gets or sets the media types. public var mediaTypes: [ChannelMediaType]? /// Gets or sets the name. @@ -35,13 +35,13 @@ public struct ChannelFeatures: Codable, Identifiable { public var isSupportsSortOrderToggle: Bool? public init( - autoRefreshLevels: Int32? = nil, + autoRefreshLevels: Int? = nil, canFilter: Bool? = nil, canSearch: Bool? = nil, contentTypes: [ChannelMediaContentType]? = nil, defaultSortFields: [ChannelItemSortField]? = nil, id: String? = nil, - maxPageSize: Int32? = nil, + maxPageSize: Int? = nil, mediaTypes: [ChannelMediaType]? = nil, name: String? = nil, isSupportsContentDownloading: Bool? = nil, @@ -64,13 +64,13 @@ public struct ChannelFeatures: Codable, Identifiable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.autoRefreshLevels = try values.decodeIfPresent(Int32.self, forKey: "AutoRefreshLevels") + self.autoRefreshLevels = try values.decodeIfPresent(Int.self, forKey: "AutoRefreshLevels") self.canFilter = try values.decodeIfPresent(Bool.self, forKey: "CanFilter") self.canSearch = try values.decodeIfPresent(Bool.self, forKey: "CanSearch") self.contentTypes = try values.decodeIfPresent([ChannelMediaContentType].self, forKey: "ContentTypes") self.defaultSortFields = try values.decodeIfPresent([ChannelItemSortField].self, forKey: "DefaultSortFields") self.id = try values.decodeIfPresent(String.self, forKey: "Id") - self.maxPageSize = try values.decodeIfPresent(Int32.self, forKey: "MaxPageSize") + self.maxPageSize = try values.decodeIfPresent(Int.self, forKey: "MaxPageSize") self.mediaTypes = try values.decodeIfPresent([ChannelMediaType].self, forKey: "MediaTypes") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.isSupportsContentDownloading = try values.decodeIfPresent(Bool.self, forKey: "SupportsContentDownloading") diff --git a/Sources/Entities/ChannelItemSortField.swift b/Sources/Entities/ChannelItemSortField.swift index c915e6d2a..e238b9505 100644 --- a/Sources/Entities/ChannelItemSortField.swift +++ b/Sources/Entities/ChannelItemSortField.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ChannelMappingOptionsDto.swift b/Sources/Entities/ChannelMappingOptionsDto.swift index 563aa17b3..b2a0a4356 100644 --- a/Sources/Entities/ChannelMappingOptionsDto.swift +++ b/Sources/Entities/ChannelMappingOptionsDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Channel mapping options dto. -public struct ChannelMappingOptionsDto: Codable { +public struct ChannelMappingOptionsDto: Codable, Hashable { /// Gets or sets list of mappings. public var mappings: [NameValuePair]? /// Gets or sets list of provider channels. diff --git a/Sources/Entities/ChannelMediaContentType.swift b/Sources/Entities/ChannelMediaContentType.swift index c0ba9617a..f890369e6 100644 --- a/Sources/Entities/ChannelMediaContentType.swift +++ b/Sources/Entities/ChannelMediaContentType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ChannelMediaType.swift b/Sources/Entities/ChannelMediaType.swift index 4ec7f6784..0f87ba670 100644 --- a/Sources/Entities/ChannelMediaType.swift +++ b/Sources/Entities/ChannelMediaType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ChannelType.swift b/Sources/Entities/ChannelType.swift index a4948919c..3f97c238f 100644 --- a/Sources/Entities/ChannelType.swift +++ b/Sources/Entities/ChannelType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ChapterInfo.swift b/Sources/Entities/ChapterInfo.swift index f89b35a73..cf61bfe21 100644 --- a/Sources/Entities/ChapterInfo.swift +++ b/Sources/Entities/ChapterInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ChapterInfo. -public struct ChapterInfo: Codable { +public struct ChapterInfo: Codable, Hashable { public var imageDateModified: Date? /// Gets or sets the image path. public var imagePath: String? @@ -17,14 +17,14 @@ public struct ChapterInfo: Codable { /// Gets or sets the name. public var name: String? /// Gets or sets the start position ticks. - public var startPositionTicks: Int64? + public var startPositionTicks: Int? public init( imageDateModified: Date? = nil, imagePath: String? = nil, imageTag: String? = nil, name: String? = nil, - startPositionTicks: Int64? = nil + startPositionTicks: Int? = nil ) { self.imageDateModified = imageDateModified self.imagePath = imagePath @@ -39,7 +39,7 @@ public struct ChapterInfo: Codable { self.imagePath = try values.decodeIfPresent(String.self, forKey: "ImagePath") self.imageTag = try values.decodeIfPresent(String.self, forKey: "ImageTag") self.name = try values.decodeIfPresent(String.self, forKey: "Name") - self.startPositionTicks = try values.decodeIfPresent(Int64.self, forKey: "StartPositionTicks") + self.startPositionTicks = try values.decodeIfPresent(Int.self, forKey: "StartPositionTicks") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ClientCapabilities.swift b/Sources/Entities/ClientCapabilities.swift index 1310170d3..fc99c2ac2 100644 --- a/Sources/Entities/ClientCapabilities.swift +++ b/Sources/Entities/ClientCapabilities.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ClientCapabilities: Codable { +public struct ClientCapabilities: Codable, Hashable { public var appStoreURL: String? /// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. /// diff --git a/Sources/Entities/ClientCapabilitiesDto.swift b/Sources/Entities/ClientCapabilitiesDto.swift index 6fbdd0224..419d80fdf 100644 --- a/Sources/Entities/ClientCapabilitiesDto.swift +++ b/Sources/Entities/ClientCapabilitiesDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Client capabilities dto. -public struct ClientCapabilitiesDto: Codable { +public struct ClientCapabilitiesDto: Codable, Hashable { /// Gets or sets the app store url. public var appStoreURL: String? /// Gets or sets the device profile. diff --git a/Sources/Entities/ClientLogDocumentResponseDto.swift b/Sources/Entities/ClientLogDocumentResponseDto.swift index 5695fe6d9..4698e5a18 100644 --- a/Sources/Entities/ClientLogDocumentResponseDto.swift +++ b/Sources/Entities/ClientLogDocumentResponseDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Client log document response dto. -public struct ClientLogDocumentResponseDto: Codable { +public struct ClientLogDocumentResponseDto: Codable, Hashable { /// Gets the resulting filename. public var fileName: String? diff --git a/Sources/Entities/CodecProfile.swift b/Sources/Entities/CodecProfile.swift index abfd80c6f..85b284460 100644 --- a/Sources/Entities/CodecProfile.swift +++ b/Sources/Entities/CodecProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct CodecProfile: Codable { +public struct CodecProfile: Codable, Hashable { public var applyConditions: [ProfileCondition]? public var codec: String? public var conditions: [ProfileCondition]? diff --git a/Sources/Entities/CodecType.swift b/Sources/Entities/CodecType.swift index 58814ba34..bd4656845 100644 --- a/Sources/Entities/CodecType.swift +++ b/Sources/Entities/CodecType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/CollectionCreationResult.swift b/Sources/Entities/CollectionCreationResult.swift index 8f15fbacd..0beeabd55 100644 --- a/Sources/Entities/CollectionCreationResult.swift +++ b/Sources/Entities/CollectionCreationResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct CollectionCreationResult: Codable, Identifiable { +public struct CollectionCreationResult: Codable, Hashable, Identifiable { public var id: String? public init(id: String? = nil) { diff --git a/Sources/Entities/CollectionTypeOptions.swift b/Sources/Entities/CollectionTypeOptions.swift index 3067287e3..e417c42a3 100644 --- a/Sources/Entities/CollectionTypeOptions.swift +++ b/Sources/Entities/CollectionTypeOptions.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ConfigImageTypes.swift b/Sources/Entities/ConfigImageTypes.swift index 34f34a187..8aceea550 100644 --- a/Sources/Entities/ConfigImageTypes.swift +++ b/Sources/Entities/ConfigImageTypes.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ConfigImageTypes: Codable { +public struct ConfigImageTypes: Codable, Hashable { public var backdropSizes: [String]? public var baseURL: String? public var logoSizes: [String]? diff --git a/Sources/Entities/ConfigurationPageInfo.swift b/Sources/Entities/ConfigurationPageInfo.swift index 3d58af4bc..cf317025d 100644 --- a/Sources/Entities/ConfigurationPageInfo.swift +++ b/Sources/Entities/ConfigurationPageInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The configuration page info. -public struct ConfigurationPageInfo: Codable { +public struct ConfigurationPageInfo: Codable, Hashable { /// Gets or sets the display name. public var displayName: String? /// Gets or sets a value indicating whether the configurations page is enabled in the main menu. diff --git a/Sources/Entities/ContainerProfile.swift b/Sources/Entities/ContainerProfile.swift index 06b300fc9..034f57006 100644 --- a/Sources/Entities/ContainerProfile.swift +++ b/Sources/Entities/ContainerProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ContainerProfile: Codable { +public struct ContainerProfile: Codable, Hashable { public var conditions: [ProfileCondition]? public var container: String? public var type: DlnaProfileType? diff --git a/Sources/Entities/ControlResponse.swift b/Sources/Entities/ControlResponse.swift index 2a627a168..0d069334b 100644 --- a/Sources/Entities/ControlResponse.swift +++ b/Sources/Entities/ControlResponse.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ControlResponse: Codable { +public struct ControlResponse: Codable, Hashable { public var headers: [String: String]? public var isSuccessful: Bool? public var xml: String? diff --git a/Sources/Entities/CountryInfo.swift b/Sources/Entities/CountryInfo.swift index d210bd380..f68823926 100644 --- a/Sources/Entities/CountryInfo.swift +++ b/Sources/Entities/CountryInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class CountryInfo. -public struct CountryInfo: Codable { +public struct CountryInfo: Codable, Hashable { /// Gets or sets the display name. public var displayName: String? /// Gets or sets the name. diff --git a/Sources/Entities/CreatePlaylistDto.swift b/Sources/Entities/CreatePlaylistDto.swift index 9ba9831e9..487c4a048 100644 --- a/Sources/Entities/CreatePlaylistDto.swift +++ b/Sources/Entities/CreatePlaylistDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Create new playlist dto. -public struct CreatePlaylistDto: Codable { +public struct CreatePlaylistDto: Codable, Hashable { /// Gets or sets item ids to add to the playlist. public var ids: [String]? /// Gets or sets the media type. diff --git a/Sources/Entities/CreateUserByName.swift b/Sources/Entities/CreateUserByName.swift index d116a3caf..21a95381e 100644 --- a/Sources/Entities/CreateUserByName.swift +++ b/Sources/Entities/CreateUserByName.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The create user by name request body. -public struct CreateUserByName: Codable { +public struct CreateUserByName: Codable, Hashable { /// Gets or sets the username. public var name: String? /// Gets or sets the password. diff --git a/Sources/Entities/CultureDto.swift b/Sources/Entities/CultureDto.swift index 35c06eef6..00bb97fa0 100644 --- a/Sources/Entities/CultureDto.swift +++ b/Sources/Entities/CultureDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class CultureDto. -public struct CultureDto: Codable { +public struct CultureDto: Codable, Hashable { /// Gets the display name. public var displayName: String? /// Gets the name. diff --git a/Sources/Entities/DayOfWeek.swift b/Sources/Entities/DayOfWeek.swift index 6a1918ad4..ef70d2288 100644 --- a/Sources/Entities/DayOfWeek.swift +++ b/Sources/Entities/DayOfWeek.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/DayPattern.swift b/Sources/Entities/DayPattern.swift index 73571c27e..10b0cada0 100644 --- a/Sources/Entities/DayPattern.swift +++ b/Sources/Entities/DayPattern.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/DefaultDirectoryBrowserInfoDto.swift b/Sources/Entities/DefaultDirectoryBrowserInfoDto.swift index 1c8df3612..eb8d01cd3 100644 --- a/Sources/Entities/DefaultDirectoryBrowserInfoDto.swift +++ b/Sources/Entities/DefaultDirectoryBrowserInfoDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Default directory browser info. -public struct DefaultDirectoryBrowserInfoDto: Codable { +public struct DefaultDirectoryBrowserInfoDto: Codable, Hashable { /// Gets or sets the path. public var path: String? diff --git a/Sources/Entities/DeviceIdentification.swift b/Sources/Entities/DeviceIdentification.swift index 61000a1e4..1c638eb07 100644 --- a/Sources/Entities/DeviceIdentification.swift +++ b/Sources/Entities/DeviceIdentification.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct DeviceIdentification: Codable { +public struct DeviceIdentification: Codable, Hashable { /// Gets or sets the name of the friendly. public var friendlyName: String? /// Gets or sets the headers. diff --git a/Sources/Entities/DeviceInfo.swift b/Sources/Entities/DeviceInfo.swift index b8bec37dc..63c994148 100644 --- a/Sources/Entities/DeviceInfo.swift +++ b/Sources/Entities/DeviceInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct DeviceInfo: Codable, Identifiable { +public struct DeviceInfo: Codable, Hashable, Identifiable { /// Gets or sets the access token. public var accessToken: String? /// Gets or sets the name of the application. diff --git a/Sources/Entities/DeviceInfoQueryResult.swift b/Sources/Entities/DeviceInfoQueryResult.swift index abd767e22..0dc7d8fa8 100644 --- a/Sources/Entities/DeviceInfoQueryResult.swift +++ b/Sources/Entities/DeviceInfoQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct DeviceInfoQueryResult: Codable { +public struct DeviceInfoQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [DeviceInfo]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [DeviceInfo]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [DeviceInfo]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct DeviceInfoQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([DeviceInfo].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/DeviceOptions.swift b/Sources/Entities/DeviceOptions.swift index dbda68edf..7b60e28e0 100644 --- a/Sources/Entities/DeviceOptions.swift +++ b/Sources/Entities/DeviceOptions.swift @@ -3,21 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// An entity representing custom options for a device. -public struct DeviceOptions: Codable, Identifiable { +public struct DeviceOptions: Codable, Hashable, Identifiable { /// Gets or sets the custom name. public var customName: String? /// Gets the device id. public var deviceID: String? /// Gets the id. - public var id: Int32? + public var id: Int? - public init(customName: String? = nil, deviceID: String? = nil, id: Int32? = nil) { + public init(customName: String? = nil, deviceID: String? = nil, id: Int? = nil) { self.customName = customName self.deviceID = deviceID self.id = id @@ -27,7 +27,7 @@ public struct DeviceOptions: Codable, Identifiable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.customName = try values.decodeIfPresent(String.self, forKey: "CustomName") self.deviceID = try values.decodeIfPresent(String.self, forKey: "DeviceId") - self.id = try values.decodeIfPresent(Int32.self, forKey: "Id") + self.id = try values.decodeIfPresent(Int.self, forKey: "Id") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/DeviceOptionsDto.swift b/Sources/Entities/DeviceOptionsDto.swift index eef0cd969..73c572a26 100644 --- a/Sources/Entities/DeviceOptionsDto.swift +++ b/Sources/Entities/DeviceOptionsDto.swift @@ -3,21 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// A dto representing custom options for a device. -public struct DeviceOptionsDto: Codable, Identifiable { +public struct DeviceOptionsDto: Codable, Hashable, Identifiable { /// Gets or sets the custom name. public var customName: String? /// Gets or sets the device id. public var deviceID: String? /// Gets or sets the id. - public var id: Int32? + public var id: Int? - public init(customName: String? = nil, deviceID: String? = nil, id: Int32? = nil) { + public init(customName: String? = nil, deviceID: String? = nil, id: Int? = nil) { self.customName = customName self.deviceID = deviceID self.id = id @@ -27,7 +27,7 @@ public struct DeviceOptionsDto: Codable, Identifiable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.customName = try values.decodeIfPresent(String.self, forKey: "CustomName") self.deviceID = try values.decodeIfPresent(String.self, forKey: "DeviceId") - self.id = try values.decodeIfPresent(Int32.self, forKey: "Id") + self.id = try values.decodeIfPresent(Int.self, forKey: "Id") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/DeviceProfile.swift b/Sources/Entities/DeviceProfile.swift index 19318b095..56e0fb326 100644 --- a/Sources/Entities/DeviceProfile.swift +++ b/Sources/Entities/DeviceProfile.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,7 +19,7 @@ import Foundation /// the device is able to direct play (without transcoding or remuxing), /// /// as well as which containers/codecs to transcode to in case it isn't. -public struct DeviceProfile: Codable, Identifiable { +public struct DeviceProfile: Codable, Hashable, Identifiable { /// Gets or sets the AlbumArtPn. public var albumArtPn: String? /// Gets or sets the codec profiles. @@ -49,19 +49,19 @@ public struct DeviceProfile: Codable, Identifiable { /// Gets or sets an url for the manufacturer of the device which this profile represents. public var manufacturerURL: String? /// Gets or sets the MaxAlbumArtHeight. - public var maxAlbumArtHeight: Int32? + public var maxAlbumArtHeight: Int? /// Gets or sets the MaxAlbumArtWidth. - public var maxAlbumArtWidth: Int32? + public var maxAlbumArtWidth: Int? /// Gets or sets the maximum allowed height of embedded icons. - public var maxIconHeight: Int32? + public var maxIconHeight: Int? /// Gets or sets the maximum allowed width of embedded icons. - public var maxIconWidth: Int32? + public var maxIconWidth: Int? /// Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). - public var maxStaticBitrate: Int32? + public var maxStaticBitrate: Int? /// Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. - public var maxStaticMusicBitrate: Int32? + public var maxStaticMusicBitrate: Int? /// Gets or sets the maximum allowed bitrate for all streamed content. - public var maxStreamingBitrate: Int32? + public var maxStreamingBitrate: Int? /// Gets or sets the model description of the device which this profile represents. public var modelDescription: String? /// Gets or sets the model name of the device which this profile represents. @@ -71,7 +71,7 @@ public struct DeviceProfile: Codable, Identifiable { /// Gets or sets the ModelUrl. public var modelURL: String? /// Gets or sets the maximum allowed bitrate for transcoded music streams. - public var musicStreamingTranscodingBitrate: Int32? + public var musicStreamingTranscodingBitrate: Int? /// Gets or sets the name of this device profile. public var name: String? /// Gets or sets the ProtocolInfo. @@ -91,7 +91,7 @@ public struct DeviceProfile: Codable, Identifiable { /// Gets or sets the SupportedMediaTypes. public var supportedMediaTypes: String? /// Gets or sets the TimelineOffsetSeconds. - public var timelineOffsetSeconds: Int32? + public var timelineOffsetSeconds: Int? /// Gets or sets the transcoding profiles. public var transcodingProfiles: [TranscodingProfile]? /// Gets or sets the UserId. @@ -114,18 +114,18 @@ public struct DeviceProfile: Codable, Identifiable { isIgnoreTranscodeByteRangeRequests: Bool? = nil, manufacturer: String? = nil, manufacturerURL: String? = nil, - maxAlbumArtHeight: Int32? = nil, - maxAlbumArtWidth: Int32? = nil, - maxIconHeight: Int32? = nil, - maxIconWidth: Int32? = nil, - maxStaticBitrate: Int32? = nil, - maxStaticMusicBitrate: Int32? = nil, - maxStreamingBitrate: Int32? = nil, + maxAlbumArtHeight: Int? = nil, + maxAlbumArtWidth: Int? = nil, + maxIconHeight: Int? = nil, + maxIconWidth: Int? = nil, + maxStaticBitrate: Int? = nil, + maxStaticMusicBitrate: Int? = nil, + maxStreamingBitrate: Int? = nil, modelDescription: String? = nil, modelName: String? = nil, modelNumber: String? = nil, modelURL: String? = nil, - musicStreamingTranscodingBitrate: Int32? = nil, + musicStreamingTranscodingBitrate: Int? = nil, name: String? = nil, protocolInfo: String? = nil, requiresPlainFolders: Bool? = nil, @@ -135,7 +135,7 @@ public struct DeviceProfile: Codable, Identifiable { sonyAggregationFlags: String? = nil, subtitleProfiles: [SubtitleProfile]? = nil, supportedMediaTypes: String? = nil, - timelineOffsetSeconds: Int32? = nil, + timelineOffsetSeconds: Int? = nil, transcodingProfiles: [TranscodingProfile]? = nil, userID: String? = nil, xmlRootAttributes: [XmlAttribute]? = nil @@ -197,18 +197,18 @@ public struct DeviceProfile: Codable, Identifiable { self.isIgnoreTranscodeByteRangeRequests = try values.decodeIfPresent(Bool.self, forKey: "IgnoreTranscodeByteRangeRequests") ?? false self.manufacturer = try values.decodeIfPresent(String.self, forKey: "Manufacturer") self.manufacturerURL = try values.decodeIfPresent(String.self, forKey: "ManufacturerUrl") - self.maxAlbumArtHeight = try values.decodeIfPresent(Int32.self, forKey: "MaxAlbumArtHeight") - self.maxAlbumArtWidth = try values.decodeIfPresent(Int32.self, forKey: "MaxAlbumArtWidth") - self.maxIconHeight = try values.decodeIfPresent(Int32.self, forKey: "MaxIconHeight") - self.maxIconWidth = try values.decodeIfPresent(Int32.self, forKey: "MaxIconWidth") - self.maxStaticBitrate = try values.decodeIfPresent(Int32.self, forKey: "MaxStaticBitrate") - self.maxStaticMusicBitrate = try values.decodeIfPresent(Int32.self, forKey: "MaxStaticMusicBitrate") - self.maxStreamingBitrate = try values.decodeIfPresent(Int32.self, forKey: "MaxStreamingBitrate") + self.maxAlbumArtHeight = try values.decodeIfPresent(Int.self, forKey: "MaxAlbumArtHeight") + self.maxAlbumArtWidth = try values.decodeIfPresent(Int.self, forKey: "MaxAlbumArtWidth") + self.maxIconHeight = try values.decodeIfPresent(Int.self, forKey: "MaxIconHeight") + self.maxIconWidth = try values.decodeIfPresent(Int.self, forKey: "MaxIconWidth") + self.maxStaticBitrate = try values.decodeIfPresent(Int.self, forKey: "MaxStaticBitrate") + self.maxStaticMusicBitrate = try values.decodeIfPresent(Int.self, forKey: "MaxStaticMusicBitrate") + self.maxStreamingBitrate = try values.decodeIfPresent(Int.self, forKey: "MaxStreamingBitrate") self.modelDescription = try values.decodeIfPresent(String.self, forKey: "ModelDescription") self.modelName = try values.decodeIfPresent(String.self, forKey: "ModelName") self.modelNumber = try values.decodeIfPresent(String.self, forKey: "ModelNumber") self.modelURL = try values.decodeIfPresent(String.self, forKey: "ModelUrl") - self.musicStreamingTranscodingBitrate = try values.decodeIfPresent(Int32.self, forKey: "MusicStreamingTranscodingBitrate") + self.musicStreamingTranscodingBitrate = try values.decodeIfPresent(Int.self, forKey: "MusicStreamingTranscodingBitrate") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.protocolInfo = try values.decodeIfPresent(String.self, forKey: "ProtocolInfo") self.requiresPlainFolders = try values.decodeIfPresent(Bool.self, forKey: "RequiresPlainFolders") ?? false @@ -218,7 +218,7 @@ public struct DeviceProfile: Codable, Identifiable { self.sonyAggregationFlags = try values.decodeIfPresent(String.self, forKey: "SonyAggregationFlags") self.subtitleProfiles = try values.decodeIfPresent([SubtitleProfile].self, forKey: "SubtitleProfiles") self.supportedMediaTypes = try values.decodeIfPresent(String.self, forKey: "SupportedMediaTypes") - self.timelineOffsetSeconds = try values.decodeIfPresent(Int32.self, forKey: "TimelineOffsetSeconds") + self.timelineOffsetSeconds = try values.decodeIfPresent(Int.self, forKey: "TimelineOffsetSeconds") self.transcodingProfiles = try values.decodeIfPresent([TranscodingProfile].self, forKey: "TranscodingProfiles") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") self.xmlRootAttributes = try values.decodeIfPresent([XmlAttribute].self, forKey: "XmlRootAttributes") diff --git a/Sources/Entities/DeviceProfileInfo.swift b/Sources/Entities/DeviceProfileInfo.swift index 5813efcb1..5a51593e2 100644 --- a/Sources/Entities/DeviceProfileInfo.swift +++ b/Sources/Entities/DeviceProfileInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct DeviceProfileInfo: Codable, Identifiable { +public struct DeviceProfileInfo: Codable, Hashable, Identifiable { /// Gets or sets the identifier. public var id: String? /// Gets or sets the name. diff --git a/Sources/Entities/DeviceProfileType.swift b/Sources/Entities/DeviceProfileType.swift index 06b36d2e9..a571b44ac 100644 --- a/Sources/Entities/DeviceProfileType.swift +++ b/Sources/Entities/DeviceProfileType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/DirectPlayProfile.swift b/Sources/Entities/DirectPlayProfile.swift index 5f70c4612..d29cfdd18 100644 --- a/Sources/Entities/DirectPlayProfile.swift +++ b/Sources/Entities/DirectPlayProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct DirectPlayProfile: Codable { +public struct DirectPlayProfile: Codable, Hashable { public var audioCodec: String? public var container: String? public var type: DlnaProfileType? diff --git a/Sources/Entities/DisplayPreferencesDto.swift b/Sources/Entities/DisplayPreferencesDto.swift index 9d18b156a..afc5781b4 100644 --- a/Sources/Entities/DisplayPreferencesDto.swift +++ b/Sources/Entities/DisplayPreferencesDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the display preferences for any item that supports them (usually Folders). -public struct DisplayPreferencesDto: Codable, Identifiable { +public struct DisplayPreferencesDto: Codable, Hashable, Identifiable { /// Gets or sets the client. public var client: String? /// Gets or sets the custom prefs. @@ -19,14 +19,14 @@ public struct DisplayPreferencesDto: Codable, Identifiable { /// Gets or sets the index by. public var indexBy: String? /// Gets or sets the height of the primary image. - public var primaryImageHeight: Int32? + public var primaryImageHeight: Int? /// Gets or sets the width of the primary image. - public var primaryImageWidth: Int32? + public var primaryImageWidth: Int? /// Gets or sets a value indicating whether [remember indexing]. public var isRememberIndexing: Bool? /// Gets or sets a value indicating whether [remember sorting]. public var isRememberSorting: Bool? - /// An enum representing the axis that should be scrolled. + /// Gets or sets the scroll direction. public var scrollDirection: ScrollDirection? /// Gets or sets a value indicating whether to show backdrops on this item. public var isShowBackdrop: Bool? @@ -34,7 +34,7 @@ public struct DisplayPreferencesDto: Codable, Identifiable { public var isShowSidebar: Bool? /// Gets or sets the sort by. public var sortBy: String? - /// An enum representing the sorting order. + /// Gets or sets the sort order. public var sortOrder: SortOrder? /// Gets or sets the type of the view. public var viewType: String? @@ -44,8 +44,8 @@ public struct DisplayPreferencesDto: Codable, Identifiable { customPrefs: [String: String]? = nil, id: String? = nil, indexBy: String? = nil, - primaryImageHeight: Int32? = nil, - primaryImageWidth: Int32? = nil, + primaryImageHeight: Int? = nil, + primaryImageWidth: Int? = nil, isRememberIndexing: Bool? = nil, isRememberSorting: Bool? = nil, scrollDirection: ScrollDirection? = nil, @@ -77,8 +77,8 @@ public struct DisplayPreferencesDto: Codable, Identifiable { self.customPrefs = try values.decodeIfPresent([String: String].self, forKey: "CustomPrefs") self.id = try values.decodeIfPresent(String.self, forKey: "Id") self.indexBy = try values.decodeIfPresent(String.self, forKey: "IndexBy") - self.primaryImageHeight = try values.decodeIfPresent(Int32.self, forKey: "PrimaryImageHeight") - self.primaryImageWidth = try values.decodeIfPresent(Int32.self, forKey: "PrimaryImageWidth") + self.primaryImageHeight = try values.decodeIfPresent(Int.self, forKey: "PrimaryImageHeight") + self.primaryImageWidth = try values.decodeIfPresent(Int.self, forKey: "PrimaryImageWidth") self.isRememberIndexing = try values.decodeIfPresent(Bool.self, forKey: "RememberIndexing") self.isRememberSorting = try values.decodeIfPresent(Bool.self, forKey: "RememberSorting") self.scrollDirection = try values.decodeIfPresent(ScrollDirection.self, forKey: "ScrollDirection") diff --git a/Sources/Entities/DlnaOptions.swift b/Sources/Entities/DlnaOptions.swift index f5453ad31..819f74ed4 100644 --- a/Sources/Entities/DlnaOptions.swift +++ b/Sources/Entities/DlnaOptions.swift @@ -3,25 +3,25 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The DlnaOptions class contains the user definable parameters for the dlna subsystems. -public struct DlnaOptions: Codable { +public struct DlnaOptions: Codable, Hashable { /// Gets or sets the frequency at which ssdp alive notifications are transmitted. - public var aliveMessageIntervalSeconds: Int32? + public var aliveMessageIntervalSeconds: Int? /// Gets or sets a value indicating whether playTo device profiles should be created. public var isAutoCreatePlayToProfiles: Bool? /// Gets or sets the frequency at which ssdp alive notifications are transmitted. MIGRATING - TO BE REMOVED ONCE WEB HAS BEEN ALTERED. - public var blastAliveMessageIntervalSeconds: Int32? + public var blastAliveMessageIntervalSeconds: Int? /// Gets or sets a value indicating whether to blast alive messages. public var isBlastAliveMessages: Bool? /// Gets or sets the ssdp client discovery interval time (in seconds). /// /// This is the time after which the server will send a ssdp search request. - public var clientDiscoveryIntervalSeconds: Int32? + public var clientDiscoveryIntervalSeconds: Int? /// Gets or sets the default user account that the dlna server uses. public var defaultUserID: String? /// Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log. @@ -40,11 +40,11 @@ public struct DlnaOptions: Codable { public var isSendOnlyMatchedHost: Bool? public init( - aliveMessageIntervalSeconds: Int32? = nil, + aliveMessageIntervalSeconds: Int? = nil, isAutoCreatePlayToProfiles: Bool? = nil, - blastAliveMessageIntervalSeconds: Int32? = nil, + blastAliveMessageIntervalSeconds: Int? = nil, isBlastAliveMessages: Bool? = nil, - clientDiscoveryIntervalSeconds: Int32? = nil, + clientDiscoveryIntervalSeconds: Int? = nil, defaultUserID: String? = nil, enableDebugLog: Bool? = nil, enablePlayTo: Bool? = nil, @@ -67,11 +67,11 @@ public struct DlnaOptions: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.aliveMessageIntervalSeconds = try values.decodeIfPresent(Int32.self, forKey: "AliveMessageIntervalSeconds") + self.aliveMessageIntervalSeconds = try values.decodeIfPresent(Int.self, forKey: "AliveMessageIntervalSeconds") self.isAutoCreatePlayToProfiles = try values.decodeIfPresent(Bool.self, forKey: "AutoCreatePlayToProfiles") - self.blastAliveMessageIntervalSeconds = try values.decodeIfPresent(Int32.self, forKey: "BlastAliveMessageIntervalSeconds") + self.blastAliveMessageIntervalSeconds = try values.decodeIfPresent(Int.self, forKey: "BlastAliveMessageIntervalSeconds") self.isBlastAliveMessages = try values.decodeIfPresent(Bool.self, forKey: "BlastAliveMessages") - self.clientDiscoveryIntervalSeconds = try values.decodeIfPresent(Int32.self, forKey: "ClientDiscoveryIntervalSeconds") + self.clientDiscoveryIntervalSeconds = try values.decodeIfPresent(Int.self, forKey: "ClientDiscoveryIntervalSeconds") self.defaultUserID = try values.decodeIfPresent(String.self, forKey: "DefaultUserId") self.enableDebugLog = try values.decodeIfPresent(Bool.self, forKey: "EnableDebugLog") self.enablePlayTo = try values.decodeIfPresent(Bool.self, forKey: "EnablePlayTo") diff --git a/Sources/Entities/DlnaProfileType.swift b/Sources/Entities/DlnaProfileType.swift index 09f09eb52..c9b616271 100644 --- a/Sources/Entities/DlnaProfileType.swift +++ b/Sources/Entities/DlnaProfileType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/DynamicDayOfWeek.swift b/Sources/Entities/DynamicDayOfWeek.swift index c979b6852..bbb60ed11 100644 --- a/Sources/Entities/DynamicDayOfWeek.swift +++ b/Sources/Entities/DynamicDayOfWeek.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/EmbeddedSubtitleOptions.swift b/Sources/Entities/EmbeddedSubtitleOptions.swift index c94e06e78..68c569cc7 100644 --- a/Sources/Entities/EmbeddedSubtitleOptions.swift +++ b/Sources/Entities/EmbeddedSubtitleOptions.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/EncodingContext.swift b/Sources/Entities/EncodingContext.swift index c19307cf6..b5b42eea4 100644 --- a/Sources/Entities/EncodingContext.swift +++ b/Sources/Entities/EncodingContext.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/EncodingOptions.swift b/Sources/Entities/EncodingOptions.swift index 7cf65f0be..55bced6f6 100644 --- a/Sources/Entities/EncodingOptions.swift +++ b/Sources/Entities/EncodingOptions.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct EncodingOptions: Codable { +public struct EncodingOptions: Codable, Hashable { public var allowHevcEncoding: Bool? public var allowOnDemandMetadataBasedKeyframeExtractionForExtensions: [String]? public var isDeinterlaceDoubleRate: Bool? @@ -30,15 +30,15 @@ public struct EncodingOptions: Codable { /// Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page. public var encoderAppPathDisplay: String? public var encoderPreset: String? - public var encodingThreadCount: Int32? + public var encodingThreadCount: Int? public var fallbackFontPath: String? - public var h264Crf: Int32? - public var h265Crf: Int32? + public var h264Crf: Int? + public var h265Crf: Int? public var hardwareAccelerationType: String? public var hardwareDecodingCodecs: [String]? - public var maxMuxingQueueSize: Int32? + public var maxMuxingQueueSize: Int? public var isPreferSystemNativeHwDecoder: Bool? - public var throttleDelaySeconds: Int32? + public var throttleDelaySeconds: Int? public var tonemappingAlgorithm: String? public var tonemappingDesat: Double? public var tonemappingParam: Double? @@ -70,15 +70,15 @@ public struct EncodingOptions: Codable { encoderAppPath: String? = nil, encoderAppPathDisplay: String? = nil, encoderPreset: String? = nil, - encodingThreadCount: Int32? = nil, + encodingThreadCount: Int? = nil, fallbackFontPath: String? = nil, - h264Crf: Int32? = nil, - h265Crf: Int32? = nil, + h264Crf: Int? = nil, + h265Crf: Int? = nil, hardwareAccelerationType: String? = nil, hardwareDecodingCodecs: [String]? = nil, - maxMuxingQueueSize: Int32? = nil, + maxMuxingQueueSize: Int? = nil, isPreferSystemNativeHwDecoder: Bool? = nil, - throttleDelaySeconds: Int32? = nil, + throttleDelaySeconds: Int? = nil, tonemappingAlgorithm: String? = nil, tonemappingDesat: Double? = nil, tonemappingParam: Double? = nil, @@ -154,15 +154,15 @@ public struct EncodingOptions: Codable { self.encoderAppPath = try values.decodeIfPresent(String.self, forKey: "EncoderAppPath") self.encoderAppPathDisplay = try values.decodeIfPresent(String.self, forKey: "EncoderAppPathDisplay") self.encoderPreset = try values.decodeIfPresent(String.self, forKey: "EncoderPreset") - self.encodingThreadCount = try values.decodeIfPresent(Int32.self, forKey: "EncodingThreadCount") + self.encodingThreadCount = try values.decodeIfPresent(Int.self, forKey: "EncodingThreadCount") self.fallbackFontPath = try values.decodeIfPresent(String.self, forKey: "FallbackFontPath") - self.h264Crf = try values.decodeIfPresent(Int32.self, forKey: "H264Crf") - self.h265Crf = try values.decodeIfPresent(Int32.self, forKey: "H265Crf") + self.h264Crf = try values.decodeIfPresent(Int.self, forKey: "H264Crf") + self.h265Crf = try values.decodeIfPresent(Int.self, forKey: "H265Crf") self.hardwareAccelerationType = try values.decodeIfPresent(String.self, forKey: "HardwareAccelerationType") self.hardwareDecodingCodecs = try values.decodeIfPresent([String].self, forKey: "HardwareDecodingCodecs") - self.maxMuxingQueueSize = try values.decodeIfPresent(Int32.self, forKey: "MaxMuxingQueueSize") + self.maxMuxingQueueSize = try values.decodeIfPresent(Int.self, forKey: "MaxMuxingQueueSize") self.isPreferSystemNativeHwDecoder = try values.decodeIfPresent(Bool.self, forKey: "PreferSystemNativeHwDecoder") - self.throttleDelaySeconds = try values.decodeIfPresent(Int32.self, forKey: "ThrottleDelaySeconds") + self.throttleDelaySeconds = try values.decodeIfPresent(Int.self, forKey: "ThrottleDelaySeconds") self.tonemappingAlgorithm = try values.decodeIfPresent(String.self, forKey: "TonemappingAlgorithm") self.tonemappingDesat = try values.decodeIfPresent(Double.self, forKey: "TonemappingDesat") self.tonemappingParam = try values.decodeIfPresent(Double.self, forKey: "TonemappingParam") diff --git a/Sources/Entities/EndPointInfo.swift b/Sources/Entities/EndPointInfo.swift index 19cb859d2..4ebb21de7 100644 --- a/Sources/Entities/EndPointInfo.swift +++ b/Sources/Entities/EndPointInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct EndPointInfo: Codable { +public struct EndPointInfo: Codable, Hashable { public var isInNetwork: Bool? public var isLocal: Bool? diff --git a/Sources/Entities/ExternalIDInfo.swift b/Sources/Entities/ExternalIDInfo.swift index 52c53ee07..fe103507b 100644 --- a/Sources/Entities/ExternalIDInfo.swift +++ b/Sources/Entities/ExternalIDInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Represents the external id information for serialization to the client. -public struct ExternalIDInfo: Codable { +public struct ExternalIDInfo: Codable, Hashable { /// Gets or sets the unique key for this id. This key should be unique across all providers. public var key: String? /// Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). diff --git a/Sources/Entities/ExternalIDMediaType.swift b/Sources/Entities/ExternalIDMediaType.swift index 8d75c2639..12a87c75f 100644 --- a/Sources/Entities/ExternalIDMediaType.swift +++ b/Sources/Entities/ExternalIDMediaType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ExternalURL.swift b/Sources/Entities/ExternalURL.swift index d60c7fa6f..140815d10 100644 --- a/Sources/Entities/ExternalURL.swift +++ b/Sources/Entities/ExternalURL.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ExternalURL: Codable { +public struct ExternalURL: Codable, Hashable { /// Gets or sets the name. public var name: String? /// Gets or sets the type of the item. diff --git a/Sources/Entities/FFmpegLocation.swift b/Sources/Entities/FFmpegLocation.swift index f009e3254..f4f4a5825 100644 --- a/Sources/Entities/FFmpegLocation.swift +++ b/Sources/Entities/FFmpegLocation.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/FileSystemEntryInfo.swift b/Sources/Entities/FileSystemEntryInfo.swift index 27df374e3..b5cb7ab31 100644 --- a/Sources/Entities/FileSystemEntryInfo.swift +++ b/Sources/Entities/FileSystemEntryInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class FileSystemEntryInfo. -public struct FileSystemEntryInfo: Codable { +public struct FileSystemEntryInfo: Codable, Hashable { /// Gets the name. public var name: String? /// Gets the path. diff --git a/Sources/Entities/FileSystemEntryType.swift b/Sources/Entities/FileSystemEntryType.swift index ab9257cd9..ee03c6666 100644 --- a/Sources/Entities/FileSystemEntryType.swift +++ b/Sources/Entities/FileSystemEntryType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/FontFile.swift b/Sources/Entities/FontFile.swift index 658086fbe..8cdffdcd2 100644 --- a/Sources/Entities/FontFile.swift +++ b/Sources/Entities/FontFile.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class FontFile. -public struct FontFile: Codable { +public struct FontFile: Codable, Hashable { /// Gets or sets the date created. public var dateCreated: Date? /// Gets or sets the date modified. @@ -17,9 +17,9 @@ public struct FontFile: Codable { /// Gets or sets the name. public var name: String? /// Gets or sets the size. - public var size: Int64? + public var size: Int? - public init(dateCreated: Date? = nil, dateModified: Date? = nil, name: String? = nil, size: Int64? = nil) { + public init(dateCreated: Date? = nil, dateModified: Date? = nil, name: String? = nil, size: Int? = nil) { self.dateCreated = dateCreated self.dateModified = dateModified self.name = name @@ -31,7 +31,7 @@ public struct FontFile: Codable { self.dateCreated = try values.decodeIfPresent(Date.self, forKey: "DateCreated") self.dateModified = try values.decodeIfPresent(Date.self, forKey: "DateModified") self.name = try values.decodeIfPresent(String.self, forKey: "Name") - self.size = try values.decodeIfPresent(Int64.self, forKey: "Size") + self.size = try values.decodeIfPresent(Int.self, forKey: "Size") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ForgotPasswordAction.swift b/Sources/Entities/ForgotPasswordAction.swift index 7054a6657..a9d2524b3 100644 --- a/Sources/Entities/ForgotPasswordAction.swift +++ b/Sources/Entities/ForgotPasswordAction.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ForgotPasswordDto.swift b/Sources/Entities/ForgotPasswordDto.swift index f53538ce7..9e5edf12e 100644 --- a/Sources/Entities/ForgotPasswordDto.swift +++ b/Sources/Entities/ForgotPasswordDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Forgot Password request body DTO. -public struct ForgotPasswordDto: Codable { +public struct ForgotPasswordDto: Codable, Hashable { /// Gets or sets the entered username to have its password reset. public var enteredUsername: String diff --git a/Sources/Entities/ForgotPasswordPinDto.swift b/Sources/Entities/ForgotPasswordPinDto.swift index 462604621..a65be3eba 100644 --- a/Sources/Entities/ForgotPasswordPinDto.swift +++ b/Sources/Entities/ForgotPasswordPinDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Forgot Password Pin enter request body DTO. -public struct ForgotPasswordPinDto: Codable { +public struct ForgotPasswordPinDto: Codable, Hashable { /// Gets or sets the entered pin to have the password reset. public var pin: String diff --git a/Sources/Entities/ForgotPasswordResult.swift b/Sources/Entities/ForgotPasswordResult.swift index 847816b24..505f6b536 100644 --- a/Sources/Entities/ForgotPasswordResult.swift +++ b/Sources/Entities/ForgotPasswordResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ForgotPasswordResult: Codable { +public struct ForgotPasswordResult: Codable, Hashable { /// Gets or sets the action. public var action: ForgotPasswordAction? /// Gets or sets the pin expiration date. diff --git a/Sources/Entities/GeneralCommand.swift b/Sources/Entities/GeneralCommand.swift index bb676cc54..bb581de1a 100644 --- a/Sources/Entities/GeneralCommand.swift +++ b/Sources/Entities/GeneralCommand.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct GeneralCommand: Codable { +public struct GeneralCommand: Codable, Hashable { public var arguments: [String: String]? public var controllingUserID: String? /// This exists simply to identify a set of known commands. diff --git a/Sources/Entities/GeneralCommandType.swift b/Sources/Entities/GeneralCommandType.swift index 73cfe6612..c408cc852 100644 --- a/Sources/Entities/GeneralCommandType.swift +++ b/Sources/Entities/GeneralCommandType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GetProgramsDto.swift b/Sources/Entities/GetProgramsDto.swift index cd98f9923..6d723b813 100644 --- a/Sources/Entities/GetProgramsDto.swift +++ b/Sources/Entities/GetProgramsDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Get programs dto. -public struct GetProgramsDto: Codable { +public struct GetProgramsDto: Codable, Hashable { /// Gets or sets the channels to return guide information for. public var channelIDs: [String]? /// Gets or sets the image types to include in the output. @@ -41,7 +41,7 @@ public struct GetProgramsDto: Codable { /// Gets or sets the max number of images to return, per image type. /// /// Optional. - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? /// Gets or sets filter by programs that are currently airing, or not. /// /// Optional. @@ -73,7 +73,7 @@ public struct GetProgramsDto: Codable { /// Gets or sets the maximum number of records to return. /// /// Optional. - public var limit: Int32? + public var limit: Int? /// Gets or sets the maximum premiere end date. /// /// Optional. @@ -103,7 +103,7 @@ public struct GetProgramsDto: Codable { /// Gets or sets the record index to start at. All items with a lower index will be dropped from the results. /// /// Optional. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets optional. Filter by user id. public var userID: String? @@ -117,7 +117,7 @@ public struct GetProgramsDto: Codable { genreIDs: [String]? = nil, genres: [String]? = nil, hasAired: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, isAiring: Bool? = nil, isKids: Bool? = nil, isMovie: Bool? = nil, @@ -125,7 +125,7 @@ public struct GetProgramsDto: Codable { isSeries: Bool? = nil, isSports: Bool? = nil, librarySeriesID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, maxEndDate: Date? = nil, maxStartDate: Date? = nil, minEndDate: Date? = nil, @@ -133,7 +133,7 @@ public struct GetProgramsDto: Codable { seriesTimerID: String? = nil, sortBy: [String]? = nil, sortOrder: [SortOrder]? = nil, - startIndex: Int32? = nil, + startIndex: Int? = nil, userID: String? = nil ) { self.channelIDs = channelIDs @@ -176,7 +176,7 @@ public struct GetProgramsDto: Codable { self.genreIDs = try values.decodeIfPresent([String].self, forKey: "GenreIds") self.genres = try values.decodeIfPresent([String].self, forKey: "Genres") self.hasAired = try values.decodeIfPresent(Bool.self, forKey: "HasAired") - self.imageTypeLimit = try values.decodeIfPresent(Int32.self, forKey: "ImageTypeLimit") + self.imageTypeLimit = try values.decodeIfPresent(Int.self, forKey: "ImageTypeLimit") self.isAiring = try values.decodeIfPresent(Bool.self, forKey: "IsAiring") self.isKids = try values.decodeIfPresent(Bool.self, forKey: "IsKids") self.isMovie = try values.decodeIfPresent(Bool.self, forKey: "IsMovie") @@ -184,7 +184,7 @@ public struct GetProgramsDto: Codable { self.isSeries = try values.decodeIfPresent(Bool.self, forKey: "IsSeries") self.isSports = try values.decodeIfPresent(Bool.self, forKey: "IsSports") self.librarySeriesID = try values.decodeIfPresent(String.self, forKey: "LibrarySeriesId") - self.limit = try values.decodeIfPresent(Int32.self, forKey: "Limit") + self.limit = try values.decodeIfPresent(Int.self, forKey: "Limit") self.maxEndDate = try values.decodeIfPresent(Date.self, forKey: "MaxEndDate") self.maxStartDate = try values.decodeIfPresent(Date.self, forKey: "MaxStartDate") self.minEndDate = try values.decodeIfPresent(Date.self, forKey: "MinEndDate") @@ -192,7 +192,7 @@ public struct GetProgramsDto: Codable { self.seriesTimerID = try values.decodeIfPresent(String.self, forKey: "SeriesTimerId") self.sortBy = try values.decodeIfPresent([String].self, forKey: "SortBy") self.sortOrder = try values.decodeIfPresent([SortOrder].self, forKey: "SortOrder") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") } diff --git a/Sources/Entities/GroupInfoDto.swift b/Sources/Entities/GroupInfoDto.swift index 149e6d13a..01c18141f 100644 --- a/Sources/Entities/GroupInfoDto.swift +++ b/Sources/Entities/GroupInfoDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class GroupInfoDto. -public struct GroupInfoDto: Codable { +public struct GroupInfoDto: Codable, Hashable { /// Gets the group identifier. public var groupID: String? /// Gets the group name. diff --git a/Sources/Entities/GroupQueueMode.swift b/Sources/Entities/GroupQueueMode.swift index 1c18acb2c..4d73be5f8 100644 --- a/Sources/Entities/GroupQueueMode.swift +++ b/Sources/Entities/GroupQueueMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GroupRepeatMode.swift b/Sources/Entities/GroupRepeatMode.swift index 998ca9266..3ee259a74 100644 --- a/Sources/Entities/GroupRepeatMode.swift +++ b/Sources/Entities/GroupRepeatMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GroupShuffleMode.swift b/Sources/Entities/GroupShuffleMode.swift index a57699ed7..50abf358f 100644 --- a/Sources/Entities/GroupShuffleMode.swift +++ b/Sources/Entities/GroupShuffleMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GroupStateType.swift b/Sources/Entities/GroupStateType.swift index 9e3a85a16..28e4fb214 100644 --- a/Sources/Entities/GroupStateType.swift +++ b/Sources/Entities/GroupStateType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GroupUpdateType.swift b/Sources/Entities/GroupUpdateType.swift index acd00b3ee..9917da2c6 100644 --- a/Sources/Entities/GroupUpdateType.swift +++ b/Sources/Entities/GroupUpdateType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/GuideInfo.swift b/Sources/Entities/GuideInfo.swift index fd48817f8..fe354149f 100644 --- a/Sources/Entities/GuideInfo.swift +++ b/Sources/Entities/GuideInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct GuideInfo: Codable { +public struct GuideInfo: Codable, Hashable { /// Gets or sets the end date. public var endDate: Date? /// Gets or sets the start date. diff --git a/Sources/Entities/HTTPHeaderInfo.swift b/Sources/Entities/HTTPHeaderInfo.swift index 54b15e9b0..e6dac82c6 100644 --- a/Sources/Entities/HTTPHeaderInfo.swift +++ b/Sources/Entities/HTTPHeaderInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct HTTPHeaderInfo: Codable { +public struct HTTPHeaderInfo: Codable, Hashable { public var match: HeaderMatchType? public var name: String? public var value: String? diff --git a/Sources/Entities/HardwareEncodingType.swift b/Sources/Entities/HardwareEncodingType.swift index 7b63fe47b..44472aba6 100644 --- a/Sources/Entities/HardwareEncodingType.swift +++ b/Sources/Entities/HardwareEncodingType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/HeaderMatchType.swift b/Sources/Entities/HeaderMatchType.swift index 964278a54..17a398377 100644 --- a/Sources/Entities/HeaderMatchType.swift +++ b/Sources/Entities/HeaderMatchType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/IPlugin.swift b/Sources/Entities/IPlugin.swift index a0d219c82..add90de1b 100644 --- a/Sources/Entities/IPlugin.swift +++ b/Sources/Entities/IPlugin.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the MediaBrowser.Common.Plugins.IPlugin. -public struct IPlugin: Codable, Identifiable { +public struct IPlugin: Codable, Hashable, Identifiable { /// Gets the path to the assembly file. public var assemblyFilePath: String? /// Gets a value indicating whether the plugin can be uninstalled. diff --git a/Sources/Entities/IgnoreWaitRequestDto.swift b/Sources/Entities/IgnoreWaitRequestDto.swift index 8a0725f1a..b4238e77a 100644 --- a/Sources/Entities/IgnoreWaitRequestDto.swift +++ b/Sources/Entities/IgnoreWaitRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class IgnoreWaitRequestDto. -public struct IgnoreWaitRequestDto: Codable { +public struct IgnoreWaitRequestDto: Codable, Hashable { /// Gets or sets a value indicating whether the client should be ignored. public var isIgnoreWait: Bool? diff --git a/Sources/Entities/ImageByNameInfo.swift b/Sources/Entities/ImageByNameInfo.swift index 1dcfa1b8d..f943679f0 100644 --- a/Sources/Entities/ImageByNameInfo.swift +++ b/Sources/Entities/ImageByNameInfo.swift @@ -3,16 +3,16 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ImageByNameInfo: Codable { +public struct ImageByNameInfo: Codable, Hashable { /// Gets or sets the context. public var context: String? /// Gets or sets the length of the file. - public var fileLength: Int64? + public var fileLength: Int? /// Gets or sets the format. public var format: String? /// Gets or sets the name. @@ -20,7 +20,7 @@ public struct ImageByNameInfo: Codable { /// Gets or sets the theme. public var theme: String? - public init(context: String? = nil, fileLength: Int64? = nil, format: String? = nil, name: String? = nil, theme: String? = nil) { + public init(context: String? = nil, fileLength: Int? = nil, format: String? = nil, name: String? = nil, theme: String? = nil) { self.context = context self.fileLength = fileLength self.format = format @@ -31,7 +31,7 @@ public struct ImageByNameInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.context = try values.decodeIfPresent(String.self, forKey: "Context") - self.fileLength = try values.decodeIfPresent(Int64.self, forKey: "FileLength") + self.fileLength = try values.decodeIfPresent(Int.self, forKey: "FileLength") self.format = try values.decodeIfPresent(String.self, forKey: "Format") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.theme = try values.decodeIfPresent(String.self, forKey: "Theme") diff --git a/Sources/Entities/ImageFormat.swift b/Sources/Entities/ImageFormat.swift index ac2a4eeb1..31f4a4835 100644 --- a/Sources/Entities/ImageFormat.swift +++ b/Sources/Entities/ImageFormat.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ImageInfo.swift b/Sources/Entities/ImageInfo.swift index d7e730049..1804ce223 100644 --- a/Sources/Entities/ImageInfo.swift +++ b/Sources/Entities/ImageInfo.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ImageInfo. -public struct ImageInfo: Codable { +public struct ImageInfo: Codable, Hashable { /// Gets or sets the blurhash. public var blurHash: String? /// Gets or sets the height. - public var height: Int32? + public var height: Int? /// Gets or sets the index of the image. - public var imageIndex: Int32? + public var imageIndex: Int? /// Gets or sets the image tag. public var imageTag: String? /// Gets or sets the type of the image. @@ -23,19 +23,19 @@ public struct ImageInfo: Codable { /// Gets or sets the path. public var path: String? /// Gets or sets the size. - public var size: Int64? + public var size: Int? /// Gets or sets the width. - public var width: Int32? + public var width: Int? public init( blurHash: String? = nil, - height: Int32? = nil, - imageIndex: Int32? = nil, + height: Int? = nil, + imageIndex: Int? = nil, imageTag: String? = nil, imageType: ImageType? = nil, path: String? = nil, - size: Int64? = nil, - width: Int32? = nil + size: Int? = nil, + width: Int? = nil ) { self.blurHash = blurHash self.height = height @@ -50,13 +50,13 @@ public struct ImageInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.blurHash = try values.decodeIfPresent(String.self, forKey: "BlurHash") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") - self.imageIndex = try values.decodeIfPresent(Int32.self, forKey: "ImageIndex") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") + self.imageIndex = try values.decodeIfPresent(Int.self, forKey: "ImageIndex") self.imageTag = try values.decodeIfPresent(String.self, forKey: "ImageTag") self.imageType = try values.decodeIfPresent(ImageType.self, forKey: "ImageType") self.path = try values.decodeIfPresent(String.self, forKey: "Path") - self.size = try values.decodeIfPresent(Int64.self, forKey: "Size") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.size = try values.decodeIfPresent(Int.self, forKey: "Size") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ImageOption.swift b/Sources/Entities/ImageOption.swift index d4792aa87..0a8a2b4e2 100644 --- a/Sources/Entities/ImageOption.swift +++ b/Sources/Entities/ImageOption.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ImageOption: Codable { +public struct ImageOption: Codable, Hashable { /// Gets or sets the limit. - public var limit: Int32? + public var limit: Int? /// Gets or sets the minimum width. - public var minWidth: Int32? + public var minWidth: Int? /// Gets or sets the type. public var type: ImageType? - public init(limit: Int32? = nil, minWidth: Int32? = nil, type: ImageType? = nil) { + public init(limit: Int? = nil, minWidth: Int? = nil, type: ImageType? = nil) { self.limit = limit self.minWidth = minWidth self.type = type @@ -24,8 +24,8 @@ public struct ImageOption: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.limit = try values.decodeIfPresent(Int32.self, forKey: "Limit") - self.minWidth = try values.decodeIfPresent(Int32.self, forKey: "MinWidth") + self.limit = try values.decodeIfPresent(Int.self, forKey: "Limit") + self.minWidth = try values.decodeIfPresent(Int.self, forKey: "MinWidth") self.type = try values.decodeIfPresent(ImageType.self, forKey: "Type") } diff --git a/Sources/Entities/ImageOrientation.swift b/Sources/Entities/ImageOrientation.swift index ce65fa1a6..dc1b97635 100644 --- a/Sources/Entities/ImageOrientation.swift +++ b/Sources/Entities/ImageOrientation.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ImageProviderInfo.swift b/Sources/Entities/ImageProviderInfo.swift index 9c23a3d04..b541419ec 100644 --- a/Sources/Entities/ImageProviderInfo.swift +++ b/Sources/Entities/ImageProviderInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ImageProviderInfo. -public struct ImageProviderInfo: Codable { +public struct ImageProviderInfo: Codable, Hashable { /// Gets the name. public var name: String? /// Gets the supported image types. diff --git a/Sources/Entities/ImageSavingConvention.swift b/Sources/Entities/ImageSavingConvention.swift index 1493c107d..965bcc098 100644 --- a/Sources/Entities/ImageSavingConvention.swift +++ b/Sources/Entities/ImageSavingConvention.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ImageType.swift b/Sources/Entities/ImageType.swift index 000634293..b2c2fa3d6 100644 --- a/Sources/Entities/ImageType.swift +++ b/Sources/Entities/ImageType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/InstallationInfo.swift b/Sources/Entities/InstallationInfo.swift index 767cbaba7..3ac081697 100644 --- a/Sources/Entities/InstallationInfo.swift +++ b/Sources/Entities/InstallationInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class InstallationInfo. -public struct InstallationInfo: Codable { +public struct InstallationInfo: Codable, Hashable { /// Gets or sets the changelog for this version. public var changelog: String? /// Gets or sets a checksum for the binary. diff --git a/Sources/Entities/IsoType.swift b/Sources/Entities/IsoType.swift index c22c707ec..e54bb9c51 100644 --- a/Sources/Entities/IsoType.swift +++ b/Sources/Entities/IsoType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ItemCounts.swift b/Sources/Entities/ItemCounts.swift index 995be6109..521411f2d 100644 --- a/Sources/Entities/ItemCounts.swift +++ b/Sources/Entities/ItemCounts.swift @@ -3,51 +3,51 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class LibrarySummary. -public struct ItemCounts: Codable { +public struct ItemCounts: Codable, Hashable { /// Gets or sets the album count. - public var albumCount: Int32? + public var albumCount: Int? /// Gets or sets the artist count. - public var artistCount: Int32? + public var artistCount: Int? /// Gets or sets the book count. - public var bookCount: Int32? + public var bookCount: Int? /// Gets or sets the box set count. - public var boxSetCount: Int32? + public var boxSetCount: Int? /// Gets or sets the episode count. - public var episodeCount: Int32? + public var episodeCount: Int? /// Gets or sets the item count. - public var itemCount: Int32? + public var itemCount: Int? /// Gets or sets the movie count. - public var movieCount: Int32? + public var movieCount: Int? /// Gets or sets the music video count. - public var musicVideoCount: Int32? + public var musicVideoCount: Int? /// Gets or sets the program count. - public var programCount: Int32? + public var programCount: Int? /// Gets or sets the series count. - public var seriesCount: Int32? + public var seriesCount: Int? /// Gets or sets the song count. - public var songCount: Int32? + public var songCount: Int? /// Gets or sets the trailer count. - public var trailerCount: Int32? + public var trailerCount: Int? public init( - albumCount: Int32? = nil, - artistCount: Int32? = nil, - bookCount: Int32? = nil, - boxSetCount: Int32? = nil, - episodeCount: Int32? = nil, - itemCount: Int32? = nil, - movieCount: Int32? = nil, - musicVideoCount: Int32? = nil, - programCount: Int32? = nil, - seriesCount: Int32? = nil, - songCount: Int32? = nil, - trailerCount: Int32? = nil + albumCount: Int? = nil, + artistCount: Int? = nil, + bookCount: Int? = nil, + boxSetCount: Int? = nil, + episodeCount: Int? = nil, + itemCount: Int? = nil, + movieCount: Int? = nil, + musicVideoCount: Int? = nil, + programCount: Int? = nil, + seriesCount: Int? = nil, + songCount: Int? = nil, + trailerCount: Int? = nil ) { self.albumCount = albumCount self.artistCount = artistCount @@ -65,18 +65,18 @@ public struct ItemCounts: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.albumCount = try values.decodeIfPresent(Int32.self, forKey: "AlbumCount") - self.artistCount = try values.decodeIfPresent(Int32.self, forKey: "ArtistCount") - self.bookCount = try values.decodeIfPresent(Int32.self, forKey: "BookCount") - self.boxSetCount = try values.decodeIfPresent(Int32.self, forKey: "BoxSetCount") - self.episodeCount = try values.decodeIfPresent(Int32.self, forKey: "EpisodeCount") - self.itemCount = try values.decodeIfPresent(Int32.self, forKey: "ItemCount") - self.movieCount = try values.decodeIfPresent(Int32.self, forKey: "MovieCount") - self.musicVideoCount = try values.decodeIfPresent(Int32.self, forKey: "MusicVideoCount") - self.programCount = try values.decodeIfPresent(Int32.self, forKey: "ProgramCount") - self.seriesCount = try values.decodeIfPresent(Int32.self, forKey: "SeriesCount") - self.songCount = try values.decodeIfPresent(Int32.self, forKey: "SongCount") - self.trailerCount = try values.decodeIfPresent(Int32.self, forKey: "TrailerCount") + self.albumCount = try values.decodeIfPresent(Int.self, forKey: "AlbumCount") + self.artistCount = try values.decodeIfPresent(Int.self, forKey: "ArtistCount") + self.bookCount = try values.decodeIfPresent(Int.self, forKey: "BookCount") + self.boxSetCount = try values.decodeIfPresent(Int.self, forKey: "BoxSetCount") + self.episodeCount = try values.decodeIfPresent(Int.self, forKey: "EpisodeCount") + self.itemCount = try values.decodeIfPresent(Int.self, forKey: "ItemCount") + self.movieCount = try values.decodeIfPresent(Int.self, forKey: "MovieCount") + self.musicVideoCount = try values.decodeIfPresent(Int.self, forKey: "MusicVideoCount") + self.programCount = try values.decodeIfPresent(Int.self, forKey: "ProgramCount") + self.seriesCount = try values.decodeIfPresent(Int.self, forKey: "SeriesCount") + self.songCount = try values.decodeIfPresent(Int.self, forKey: "SongCount") + self.trailerCount = try values.decodeIfPresent(Int.self, forKey: "TrailerCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ItemFields.swift b/Sources/Entities/ItemFields.swift index e65c6394f..36a6aed62 100644 --- a/Sources/Entities/ItemFields.swift +++ b/Sources/Entities/ItemFields.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ItemFilter.swift b/Sources/Entities/ItemFilter.swift index dd0edcfce..4fea5d6bc 100644 --- a/Sources/Entities/ItemFilter.swift +++ b/Sources/Entities/ItemFilter.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/JoinGroupRequestDto.swift b/Sources/Entities/JoinGroupRequestDto.swift index 43aae1f1a..aca54c747 100644 --- a/Sources/Entities/JoinGroupRequestDto.swift +++ b/Sources/Entities/JoinGroupRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class JoinGroupRequestDto. -public struct JoinGroupRequestDto: Codable { +public struct JoinGroupRequestDto: Codable, Hashable { /// Gets or sets the group identifier. public var groupID: String? diff --git a/Sources/Entities/KeepUntil.swift b/Sources/Entities/KeepUntil.swift index b55471ed4..cd75a1460 100644 --- a/Sources/Entities/KeepUntil.swift +++ b/Sources/Entities/KeepUntil.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/LibraryOptionInfoDto.swift b/Sources/Entities/LibraryOptionInfoDto.swift index 4bf981ec2..604aa2d69 100644 --- a/Sources/Entities/LibraryOptionInfoDto.swift +++ b/Sources/Entities/LibraryOptionInfoDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Library option info dto. -public struct LibraryOptionInfoDto: Codable { +public struct LibraryOptionInfoDto: Codable, Hashable { /// Gets or sets a value indicating whether default enabled. public var isDefaultEnabled: Bool? /// Gets or sets name. diff --git a/Sources/Entities/LibraryOptions.swift b/Sources/Entities/LibraryOptions.swift index fc21e17fe..125b51248 100644 --- a/Sources/Entities/LibraryOptions.swift +++ b/Sources/Entities/LibraryOptions.swift @@ -3,15 +3,15 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LibraryOptions: Codable { +public struct LibraryOptions: Codable, Hashable { /// An enum representing the options to disable embedded subs. public var allowEmbeddedSubtitles: EmbeddedSubtitleOptions? - public var automaticRefreshIntervalDays: Int32? + public var automaticRefreshIntervalDays: Int? public var isAutomaticallyAddToCollection: Bool? public var disabledLocalMetadataReaders: [String]? public var disabledSubtitleFetchers: [String]? @@ -43,7 +43,7 @@ public struct LibraryOptions: Codable { public init( allowEmbeddedSubtitles: EmbeddedSubtitleOptions? = nil, - automaticRefreshIntervalDays: Int32? = nil, + automaticRefreshIntervalDays: Int? = nil, isAutomaticallyAddToCollection: Bool? = nil, disabledLocalMetadataReaders: [String]? = nil, disabledSubtitleFetchers: [String]? = nil, @@ -102,7 +102,7 @@ public struct LibraryOptions: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.allowEmbeddedSubtitles = try values.decodeIfPresent(EmbeddedSubtitleOptions.self, forKey: "AllowEmbeddedSubtitles") - self.automaticRefreshIntervalDays = try values.decodeIfPresent(Int32.self, forKey: "AutomaticRefreshIntervalDays") + self.automaticRefreshIntervalDays = try values.decodeIfPresent(Int.self, forKey: "AutomaticRefreshIntervalDays") self.isAutomaticallyAddToCollection = try values.decodeIfPresent(Bool.self, forKey: "AutomaticallyAddToCollection") self.disabledLocalMetadataReaders = try values.decodeIfPresent([String].self, forKey: "DisabledLocalMetadataReaders") self.disabledSubtitleFetchers = try values.decodeIfPresent([String].self, forKey: "DisabledSubtitleFetchers") diff --git a/Sources/Entities/LibraryOptionsResultDto.swift b/Sources/Entities/LibraryOptionsResultDto.swift index 553e1a2f1..4e5f66fc4 100644 --- a/Sources/Entities/LibraryOptionsResultDto.swift +++ b/Sources/Entities/LibraryOptionsResultDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Library options result dto. -public struct LibraryOptionsResultDto: Codable { +public struct LibraryOptionsResultDto: Codable, Hashable { /// Gets or sets the metadata readers. public var metadataReaders: [LibraryOptionInfoDto]? /// Gets or sets the metadata savers. diff --git a/Sources/Entities/LibraryTypeOptionsDto.swift b/Sources/Entities/LibraryTypeOptionsDto.swift index d71eb38e5..37a591a3b 100644 --- a/Sources/Entities/LibraryTypeOptionsDto.swift +++ b/Sources/Entities/LibraryTypeOptionsDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Library type options dto. -public struct LibraryTypeOptionsDto: Codable { +public struct LibraryTypeOptionsDto: Codable, Hashable { /// Gets or sets the default image options. public var defaultImageOptions: [ImageOption]? /// Gets or sets the image fetchers. diff --git a/Sources/Entities/LibraryUpdateInfo.swift b/Sources/Entities/LibraryUpdateInfo.swift index 3be86af19..7e325e392 100644 --- a/Sources/Entities/LibraryUpdateInfo.swift +++ b/Sources/Entities/LibraryUpdateInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class LibraryUpdateInfo. -public struct LibraryUpdateInfo: Codable { +public struct LibraryUpdateInfo: Codable, Hashable { public var collectionFolders: [String]? /// Gets or sets the folders added to. public var foldersAddedTo: [String]? diff --git a/Sources/Entities/ListingsProviderInfo.swift b/Sources/Entities/ListingsProviderInfo.swift index d6ac2555b..491745ff2 100644 --- a/Sources/Entities/ListingsProviderInfo.swift +++ b/Sources/Entities/ListingsProviderInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ListingsProviderInfo: Codable, Identifiable { +public struct ListingsProviderInfo: Codable, Hashable, Identifiable { public var channelMappings: [NameValuePair]? public var country: String? public var enableAllTuners: Bool? diff --git a/Sources/Entities/LiveStreamResponse.swift b/Sources/Entities/LiveStreamResponse.swift index 11e75c1a2..e34b3d1cc 100644 --- a/Sources/Entities/LiveStreamResponse.swift +++ b/Sources/Entities/LiveStreamResponse.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LiveStreamResponse: Codable { +public struct LiveStreamResponse: Codable, Hashable { public var mediaSource: MediaSourceInfo? public init(mediaSource: MediaSourceInfo? = nil) { diff --git a/Sources/Entities/LiveTvInfo.swift b/Sources/Entities/LiveTvInfo.swift index 439feb2b5..9a5fc36d6 100644 --- a/Sources/Entities/LiveTvInfo.swift +++ b/Sources/Entities/LiveTvInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LiveTvInfo: Codable { +public struct LiveTvInfo: Codable, Hashable { /// Gets or sets the enabled users. public var enabledUsers: [String]? /// Gets or sets a value indicating whether this instance is enabled. diff --git a/Sources/Entities/LiveTvOptions.swift b/Sources/Entities/LiveTvOptions.swift index 0f483ed11..50fad867a 100644 --- a/Sources/Entities/LiveTvOptions.swift +++ b/Sources/Entities/LiveTvOptions.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LiveTvOptions: Codable { +public struct LiveTvOptions: Codable, Hashable { public var enableOriginalAudioWithEncodedRecordings: Bool? public var enableRecordingSubfolders: Bool? - public var guideDays: Int32? + public var guideDays: Int? public var listingProviders: [ListingsProviderInfo]? public var mediaLocationsCreated: [String]? public var movieRecordingPath: String? - public var postPaddingSeconds: Int32? - public var prePaddingSeconds: Int32? + public var postPaddingSeconds: Int? + public var prePaddingSeconds: Int? public var recordingPath: String? public var recordingPostProcessor: String? public var recordingPostProcessorArguments: String? @@ -26,12 +26,12 @@ public struct LiveTvOptions: Codable { public init( enableOriginalAudioWithEncodedRecordings: Bool? = nil, enableRecordingSubfolders: Bool? = nil, - guideDays: Int32? = nil, + guideDays: Int? = nil, listingProviders: [ListingsProviderInfo]? = nil, mediaLocationsCreated: [String]? = nil, movieRecordingPath: String? = nil, - postPaddingSeconds: Int32? = nil, - prePaddingSeconds: Int32? = nil, + postPaddingSeconds: Int? = nil, + prePaddingSeconds: Int? = nil, recordingPath: String? = nil, recordingPostProcessor: String? = nil, recordingPostProcessorArguments: String? = nil, @@ -60,12 +60,12 @@ public struct LiveTvOptions: Codable { forKey: "EnableOriginalAudioWithEncodedRecordings" ) self.enableRecordingSubfolders = try values.decodeIfPresent(Bool.self, forKey: "EnableRecordingSubfolders") - self.guideDays = try values.decodeIfPresent(Int32.self, forKey: "GuideDays") + self.guideDays = try values.decodeIfPresent(Int.self, forKey: "GuideDays") self.listingProviders = try values.decodeIfPresent([ListingsProviderInfo].self, forKey: "ListingProviders") self.mediaLocationsCreated = try values.decodeIfPresent([String].self, forKey: "MediaLocationsCreated") self.movieRecordingPath = try values.decodeIfPresent(String.self, forKey: "MovieRecordingPath") - self.postPaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PostPaddingSeconds") - self.prePaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PrePaddingSeconds") + self.postPaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PostPaddingSeconds") + self.prePaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PrePaddingSeconds") self.recordingPath = try values.decodeIfPresent(String.self, forKey: "RecordingPath") self.recordingPostProcessor = try values.decodeIfPresent(String.self, forKey: "RecordingPostProcessor") self.recordingPostProcessorArguments = try values.decodeIfPresent(String.self, forKey: "RecordingPostProcessorArguments") diff --git a/Sources/Entities/LiveTvServiceInfo.swift b/Sources/Entities/LiveTvServiceInfo.swift index d0681fda3..5963516a9 100644 --- a/Sources/Entities/LiveTvServiceInfo.swift +++ b/Sources/Entities/LiveTvServiceInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ServiceInfo. -public struct LiveTvServiceInfo: Codable { +public struct LiveTvServiceInfo: Codable, Hashable { /// Gets or sets a value indicating whether this instance has update available. public var hasUpdateAvailable: Bool? /// Gets or sets the home page URL. diff --git a/Sources/Entities/LiveTvServiceStatus.swift b/Sources/Entities/LiveTvServiceStatus.swift index fb2d8abe4..7b8639cd5 100644 --- a/Sources/Entities/LiveTvServiceStatus.swift +++ b/Sources/Entities/LiveTvServiceStatus.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/LocalizationOption.swift b/Sources/Entities/LocalizationOption.swift index af6a3a93f..856bbfd97 100644 --- a/Sources/Entities/LocalizationOption.swift +++ b/Sources/Entities/LocalizationOption.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LocalizationOption: Codable { +public struct LocalizationOption: Codable, Hashable { public var name: String? public var value: String? diff --git a/Sources/Entities/LocationType.swift b/Sources/Entities/LocationType.swift index f9915d16d..2f1d1391e 100644 --- a/Sources/Entities/LocationType.swift +++ b/Sources/Entities/LocationType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/LogFile.swift b/Sources/Entities/LogFile.swift index bd0e0931f..f638eacdf 100644 --- a/Sources/Entities/LogFile.swift +++ b/Sources/Entities/LogFile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct LogFile: Codable { +public struct LogFile: Codable, Hashable { /// Gets or sets the date created. public var dateCreated: Date? /// Gets or sets the date modified. @@ -16,9 +16,9 @@ public struct LogFile: Codable { /// Gets or sets the name. public var name: String? /// Gets or sets the size. - public var size: Int64? + public var size: Int? - public init(dateCreated: Date? = nil, dateModified: Date? = nil, name: String? = nil, size: Int64? = nil) { + public init(dateCreated: Date? = nil, dateModified: Date? = nil, name: String? = nil, size: Int? = nil) { self.dateCreated = dateCreated self.dateModified = dateModified self.name = name @@ -30,7 +30,7 @@ public struct LogFile: Codable { self.dateCreated = try values.decodeIfPresent(Date.self, forKey: "DateCreated") self.dateModified = try values.decodeIfPresent(Date.self, forKey: "DateModified") self.name = try values.decodeIfPresent(String.self, forKey: "Name") - self.size = try values.decodeIfPresent(Int64.self, forKey: "Size") + self.size = try values.decodeIfPresent(Int.self, forKey: "Size") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/LogLevel.swift b/Sources/Entities/LogLevel.swift index cbf41c522..d8f25e539 100644 --- a/Sources/Entities/LogLevel.swift +++ b/Sources/Entities/LogLevel.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MediaAttachment.swift b/Sources/Entities/MediaAttachment.swift index 4eb25909d..8229bd30f 100644 --- a/Sources/Entities/MediaAttachment.swift +++ b/Sources/Entities/MediaAttachment.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class MediaAttachment. -public struct MediaAttachment: Codable { +public struct MediaAttachment: Codable, Hashable { /// Gets or sets the codec. public var codec: String? /// Gets or sets the codec tag. @@ -21,7 +21,7 @@ public struct MediaAttachment: Codable { /// Gets or sets the filename. public var fileName: String? /// Gets or sets the index. - public var index: Int32? + public var index: Int? /// Gets or sets the MIME type. public var mimeType: String? @@ -31,7 +31,7 @@ public struct MediaAttachment: Codable { comment: String? = nil, deliveryURL: String? = nil, fileName: String? = nil, - index: Int32? = nil, + index: Int? = nil, mimeType: String? = nil ) { self.codec = codec @@ -50,7 +50,7 @@ public struct MediaAttachment: Codable { self.comment = try values.decodeIfPresent(String.self, forKey: "Comment") self.deliveryURL = try values.decodeIfPresent(String.self, forKey: "DeliveryUrl") self.fileName = try values.decodeIfPresent(String.self, forKey: "FileName") - self.index = try values.decodeIfPresent(Int32.self, forKey: "Index") + self.index = try values.decodeIfPresent(Int.self, forKey: "Index") self.mimeType = try values.decodeIfPresent(String.self, forKey: "MimeType") } diff --git a/Sources/Entities/MediaEncoderPathDto.swift b/Sources/Entities/MediaEncoderPathDto.swift index b0b7a3e57..4ec5e497b 100644 --- a/Sources/Entities/MediaEncoderPathDto.swift +++ b/Sources/Entities/MediaEncoderPathDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Media Encoder Path Dto. -public struct MediaEncoderPathDto: Codable { +public struct MediaEncoderPathDto: Codable, Hashable { /// Gets or sets media encoder path. public var path: String? /// Gets or sets media encoder path type. diff --git a/Sources/Entities/MediaPathDto.swift b/Sources/Entities/MediaPathDto.swift index 789366579..db91cae15 100644 --- a/Sources/Entities/MediaPathDto.swift +++ b/Sources/Entities/MediaPathDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Media Path dto. -public struct MediaPathDto: Codable { +public struct MediaPathDto: Codable, Hashable { /// Gets or sets the name of the library. public var name: String /// Gets or sets the path to add. diff --git a/Sources/Entities/MediaPathInfo.swift b/Sources/Entities/MediaPathInfo.swift index ead7d55e8..fdde0fafb 100644 --- a/Sources/Entities/MediaPathInfo.swift +++ b/Sources/Entities/MediaPathInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MediaPathInfo: Codable { +public struct MediaPathInfo: Codable, Hashable { public var networkPath: String? public var path: String? diff --git a/Sources/Entities/MediaProtocol.swift b/Sources/Entities/MediaProtocol.swift index 66894bc1f..f32aff246 100644 --- a/Sources/Entities/MediaProtocol.swift +++ b/Sources/Entities/MediaProtocol.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MediaSourceInfo.swift b/Sources/Entities/MediaSourceInfo.swift index 80cad7828..93ea7ce10 100644 --- a/Sources/Entities/MediaSourceInfo.swift +++ b/Sources/Entities/MediaSourceInfo.swift @@ -3,18 +3,18 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MediaSourceInfo: Codable, Identifiable { - public var analyzeDurationMs: Int32? - public var bitrate: Int32? - public var bufferMs: Int32? +public struct MediaSourceInfo: Codable, Hashable, Identifiable { + public var analyzeDurationMs: Int? + public var bitrate: Int? + public var bufferMs: Int? public var container: String? - public var defaultAudioStreamIndex: Int32? - public var defaultSubtitleStreamIndex: Int32? + public var defaultAudioStreamIndex: Int? + public var defaultSubtitleStreamIndex: Int? public var eTag: String? public var encoderPath: String? public var encoderProtocol: MediaProtocol? @@ -41,8 +41,8 @@ public struct MediaSourceInfo: Codable, Identifiable { public var requiresClosing: Bool? public var requiresLooping: Bool? public var requiresOpening: Bool? - public var runTimeTicks: Int64? - public var size: Int64? + public var runTimeTicks: Int? + public var size: Int? public var isSupportsDirectPlay: Bool? public var isSupportsDirectStream: Bool? public var isSupportsProbing: Bool? @@ -56,12 +56,12 @@ public struct MediaSourceInfo: Codable, Identifiable { public var videoType: VideoType? public init( - analyzeDurationMs: Int32? = nil, - bitrate: Int32? = nil, - bufferMs: Int32? = nil, + analyzeDurationMs: Int? = nil, + bitrate: Int? = nil, + bufferMs: Int? = nil, container: String? = nil, - defaultAudioStreamIndex: Int32? = nil, - defaultSubtitleStreamIndex: Int32? = nil, + defaultAudioStreamIndex: Int? = nil, + defaultSubtitleStreamIndex: Int? = nil, eTag: String? = nil, encoderPath: String? = nil, encoderProtocol: MediaProtocol? = nil, @@ -85,8 +85,8 @@ public struct MediaSourceInfo: Codable, Identifiable { requiresClosing: Bool? = nil, requiresLooping: Bool? = nil, requiresOpening: Bool? = nil, - runTimeTicks: Int64? = nil, - size: Int64? = nil, + runTimeTicks: Int? = nil, + size: Int? = nil, isSupportsDirectPlay: Bool? = nil, isSupportsDirectStream: Bool? = nil, isSupportsProbing: Bool? = nil, @@ -145,12 +145,12 @@ public struct MediaSourceInfo: Codable, Identifiable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.analyzeDurationMs = try values.decodeIfPresent(Int32.self, forKey: "AnalyzeDurationMs") - self.bitrate = try values.decodeIfPresent(Int32.self, forKey: "Bitrate") - self.bufferMs = try values.decodeIfPresent(Int32.self, forKey: "BufferMs") + self.analyzeDurationMs = try values.decodeIfPresent(Int.self, forKey: "AnalyzeDurationMs") + self.bitrate = try values.decodeIfPresent(Int.self, forKey: "Bitrate") + self.bufferMs = try values.decodeIfPresent(Int.self, forKey: "BufferMs") self.container = try values.decodeIfPresent(String.self, forKey: "Container") - self.defaultAudioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "DefaultAudioStreamIndex") - self.defaultSubtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "DefaultSubtitleStreamIndex") + self.defaultAudioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "DefaultAudioStreamIndex") + self.defaultSubtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "DefaultSubtitleStreamIndex") self.eTag = try values.decodeIfPresent(String.self, forKey: "ETag") self.encoderPath = try values.decodeIfPresent(String.self, forKey: "EncoderPath") self.encoderProtocol = try values.decodeIfPresent(MediaProtocol.self, forKey: "EncoderProtocol") @@ -174,8 +174,8 @@ public struct MediaSourceInfo: Codable, Identifiable { self.requiresClosing = try values.decodeIfPresent(Bool.self, forKey: "RequiresClosing") self.requiresLooping = try values.decodeIfPresent(Bool.self, forKey: "RequiresLooping") self.requiresOpening = try values.decodeIfPresent(Bool.self, forKey: "RequiresOpening") - self.runTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "RunTimeTicks") - self.size = try values.decodeIfPresent(Int64.self, forKey: "Size") + self.runTimeTicks = try values.decodeIfPresent(Int.self, forKey: "RunTimeTicks") + self.size = try values.decodeIfPresent(Int.self, forKey: "Size") self.isSupportsDirectPlay = try values.decodeIfPresent(Bool.self, forKey: "SupportsDirectPlay") self.isSupportsDirectStream = try values.decodeIfPresent(Bool.self, forKey: "SupportsDirectStream") self.isSupportsProbing = try values.decodeIfPresent(Bool.self, forKey: "SupportsProbing") diff --git a/Sources/Entities/MediaSourceType.swift b/Sources/Entities/MediaSourceType.swift index c52c95b69..0aed4fa29 100644 --- a/Sources/Entities/MediaSourceType.swift +++ b/Sources/Entities/MediaSourceType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MediaStream.swift b/Sources/Entities/MediaStream.swift index 71adb3b2a..48df7d703 100644 --- a/Sources/Entities/MediaStream.swift +++ b/Sources/Entities/MediaStream.swift @@ -3,27 +3,27 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class MediaStream. -public struct MediaStream: Codable { +public struct MediaStream: Codable, Hashable { /// Gets or sets the aspect ratio. public var aspectRatio: String? /// Gets or sets the average frame rate. public var averageFrameRate: Float? /// Gets or sets the bit depth. - public var bitDepth: Int32? + public var bitDepth: Int? /// Gets or sets the bit rate. - public var bitRate: Int32? + public var bitRate: Int? /// Gets or sets the Dolby Vision bl present flag. - public var blPresentFlag: Int32? + public var blPresentFlag: Int? /// Gets or sets the channel layout. public var channelLayout: String? /// Gets or sets the channels. - public var channels: Int32? + public var channels: Int? /// Gets or sets the codec. public var codec: String? /// Gets or sets the codec tag. @@ -46,21 +46,21 @@ public struct MediaStream: Codable { public var deliveryURL: String? public var displayTitle: String? /// Gets or sets the Dolby Vision bl signal compatibility id. - public var dvBlSignalCompatibilityID: Int32? + public var dvBlSignalCompatibilityID: Int? /// Gets or sets the Dolby Vision level. - public var dvLevel: Int32? + public var dvLevel: Int? /// Gets or sets the Dolby Vision profile. - public var dvProfile: Int32? + public var dvProfile: Int? /// Gets or sets the Dolby Vision version major. - public var dvVersionMajor: Int32? + public var dvVersionMajor: Int? /// Gets or sets the Dolby Vision version minor. - public var dvVersionMinor: Int32? + public var dvVersionMinor: Int? /// Gets or sets the Dolby Vision el present flag. - public var elPresentFlag: Int32? + public var elPresentFlag: Int? /// Gets or sets the height. - public var height: Int32? + public var height: Int? /// Gets or sets the index. - public var index: Int32? + public var index: Int? public var isAVC: Bool? /// Gets or sets whether this instance is anamorphic. public var isAnamorphic: Bool? @@ -85,7 +85,7 @@ public struct MediaStream: Codable { public var localizedUndefined: String? public var nalLengthSize: String? /// Gets or sets the length of the packet. - public var packetLength: Int32? + public var packetLength: Int? /// Gets or sets the filename. public var path: String? /// Gets or sets the pixel format. @@ -95,13 +95,13 @@ public struct MediaStream: Codable { /// Gets or sets the real frame rate. public var realFrameRate: Float? /// Gets or sets the reference frames. - public var refFrames: Int32? + public var refFrames: Int? /// Gets or sets the Dolby Vision rpu present flag. - public var rpuPresentFlag: Int32? + public var rpuPresentFlag: Int? /// Gets or sets the sample rate. - public var sampleRate: Int32? + public var sampleRate: Int? /// Gets or sets the score. - public var score: Int32? + public var score: Int? /// Gets or sets a value indicating whether [supports external stream]. public var isSupportsExternalStream: Bool? /// Gets or sets the time base. @@ -117,16 +117,16 @@ public struct MediaStream: Codable { /// Gets the video range type. public var videoRangeType: String? /// Gets or sets the width. - public var width: Int32? + public var width: Int? public init( aspectRatio: String? = nil, averageFrameRate: Float? = nil, - bitDepth: Int32? = nil, - bitRate: Int32? = nil, - blPresentFlag: Int32? = nil, + bitDepth: Int? = nil, + bitRate: Int? = nil, + blPresentFlag: Int? = nil, channelLayout: String? = nil, - channels: Int32? = nil, + channels: Int? = nil, codec: String? = nil, codecTag: String? = nil, codecTimeBase: String? = nil, @@ -138,14 +138,14 @@ public struct MediaStream: Codable { deliveryMethod: SubtitleDeliveryMethod? = nil, deliveryURL: String? = nil, displayTitle: String? = nil, - dvBlSignalCompatibilityID: Int32? = nil, - dvLevel: Int32? = nil, - dvProfile: Int32? = nil, - dvVersionMajor: Int32? = nil, - dvVersionMinor: Int32? = nil, - elPresentFlag: Int32? = nil, - height: Int32? = nil, - index: Int32? = nil, + dvBlSignalCompatibilityID: Int? = nil, + dvLevel: Int? = nil, + dvProfile: Int? = nil, + dvVersionMajor: Int? = nil, + dvVersionMinor: Int? = nil, + elPresentFlag: Int? = nil, + height: Int? = nil, + index: Int? = nil, isAVC: Bool? = nil, isAnamorphic: Bool? = nil, isDefault: Bool? = nil, @@ -161,15 +161,15 @@ public struct MediaStream: Codable { localizedForced: String? = nil, localizedUndefined: String? = nil, nalLengthSize: String? = nil, - packetLength: Int32? = nil, + packetLength: Int? = nil, path: String? = nil, pixelFormat: String? = nil, profile: String? = nil, realFrameRate: Float? = nil, - refFrames: Int32? = nil, - rpuPresentFlag: Int32? = nil, - sampleRate: Int32? = nil, - score: Int32? = nil, + refFrames: Int? = nil, + rpuPresentFlag: Int? = nil, + sampleRate: Int? = nil, + score: Int? = nil, isSupportsExternalStream: Bool? = nil, timeBase: String? = nil, title: String? = nil, @@ -177,7 +177,7 @@ public struct MediaStream: Codable { videoDoViTitle: String? = nil, videoRange: String? = nil, videoRangeType: String? = nil, - width: Int32? = nil + width: Int? = nil ) { self.aspectRatio = aspectRatio self.averageFrameRate = averageFrameRate @@ -243,11 +243,11 @@ public struct MediaStream: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.aspectRatio = try values.decodeIfPresent(String.self, forKey: "AspectRatio") self.averageFrameRate = try values.decodeIfPresent(Float.self, forKey: "AverageFrameRate") - self.bitDepth = try values.decodeIfPresent(Int32.self, forKey: "BitDepth") - self.bitRate = try values.decodeIfPresent(Int32.self, forKey: "BitRate") - self.blPresentFlag = try values.decodeIfPresent(Int32.self, forKey: "BlPresentFlag") + self.bitDepth = try values.decodeIfPresent(Int.self, forKey: "BitDepth") + self.bitRate = try values.decodeIfPresent(Int.self, forKey: "BitRate") + self.blPresentFlag = try values.decodeIfPresent(Int.self, forKey: "BlPresentFlag") self.channelLayout = try values.decodeIfPresent(String.self, forKey: "ChannelLayout") - self.channels = try values.decodeIfPresent(Int32.self, forKey: "Channels") + self.channels = try values.decodeIfPresent(Int.self, forKey: "Channels") self.codec = try values.decodeIfPresent(String.self, forKey: "Codec") self.codecTag = try values.decodeIfPresent(String.self, forKey: "CodecTag") self.codecTimeBase = try values.decodeIfPresent(String.self, forKey: "CodecTimeBase") @@ -259,14 +259,14 @@ public struct MediaStream: Codable { self.deliveryMethod = try values.decodeIfPresent(SubtitleDeliveryMethod.self, forKey: "DeliveryMethod") self.deliveryURL = try values.decodeIfPresent(String.self, forKey: "DeliveryUrl") self.displayTitle = try values.decodeIfPresent(String.self, forKey: "DisplayTitle") - self.dvBlSignalCompatibilityID = try values.decodeIfPresent(Int32.self, forKey: "DvBlSignalCompatibilityId") - self.dvLevel = try values.decodeIfPresent(Int32.self, forKey: "DvLevel") - self.dvProfile = try values.decodeIfPresent(Int32.self, forKey: "DvProfile") - self.dvVersionMajor = try values.decodeIfPresent(Int32.self, forKey: "DvVersionMajor") - self.dvVersionMinor = try values.decodeIfPresent(Int32.self, forKey: "DvVersionMinor") - self.elPresentFlag = try values.decodeIfPresent(Int32.self, forKey: "ElPresentFlag") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") - self.index = try values.decodeIfPresent(Int32.self, forKey: "Index") + self.dvBlSignalCompatibilityID = try values.decodeIfPresent(Int.self, forKey: "DvBlSignalCompatibilityId") + self.dvLevel = try values.decodeIfPresent(Int.self, forKey: "DvLevel") + self.dvProfile = try values.decodeIfPresent(Int.self, forKey: "DvProfile") + self.dvVersionMajor = try values.decodeIfPresent(Int.self, forKey: "DvVersionMajor") + self.dvVersionMinor = try values.decodeIfPresent(Int.self, forKey: "DvVersionMinor") + self.elPresentFlag = try values.decodeIfPresent(Int.self, forKey: "ElPresentFlag") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") + self.index = try values.decodeIfPresent(Int.self, forKey: "Index") self.isAVC = try values.decodeIfPresent(Bool.self, forKey: "IsAVC") self.isAnamorphic = try values.decodeIfPresent(Bool.self, forKey: "IsAnamorphic") self.isDefault = try values.decodeIfPresent(Bool.self, forKey: "IsDefault") @@ -282,15 +282,15 @@ public struct MediaStream: Codable { self.localizedForced = try values.decodeIfPresent(String.self, forKey: "LocalizedForced") self.localizedUndefined = try values.decodeIfPresent(String.self, forKey: "LocalizedUndefined") self.nalLengthSize = try values.decodeIfPresent(String.self, forKey: "NalLengthSize") - self.packetLength = try values.decodeIfPresent(Int32.self, forKey: "PacketLength") + self.packetLength = try values.decodeIfPresent(Int.self, forKey: "PacketLength") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.pixelFormat = try values.decodeIfPresent(String.self, forKey: "PixelFormat") self.profile = try values.decodeIfPresent(String.self, forKey: "Profile") self.realFrameRate = try values.decodeIfPresent(Float.self, forKey: "RealFrameRate") - self.refFrames = try values.decodeIfPresent(Int32.self, forKey: "RefFrames") - self.rpuPresentFlag = try values.decodeIfPresent(Int32.self, forKey: "RpuPresentFlag") - self.sampleRate = try values.decodeIfPresent(Int32.self, forKey: "SampleRate") - self.score = try values.decodeIfPresent(Int32.self, forKey: "Score") + self.refFrames = try values.decodeIfPresent(Int.self, forKey: "RefFrames") + self.rpuPresentFlag = try values.decodeIfPresent(Int.self, forKey: "RpuPresentFlag") + self.sampleRate = try values.decodeIfPresent(Int.self, forKey: "SampleRate") + self.score = try values.decodeIfPresent(Int.self, forKey: "Score") self.isSupportsExternalStream = try values.decodeIfPresent(Bool.self, forKey: "SupportsExternalStream") self.timeBase = try values.decodeIfPresent(String.self, forKey: "TimeBase") self.title = try values.decodeIfPresent(String.self, forKey: "Title") @@ -298,7 +298,7 @@ public struct MediaStream: Codable { self.videoDoViTitle = try values.decodeIfPresent(String.self, forKey: "VideoDoViTitle") self.videoRange = try values.decodeIfPresent(String.self, forKey: "VideoRange") self.videoRangeType = try values.decodeIfPresent(String.self, forKey: "VideoRangeType") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/MediaStreamType.swift b/Sources/Entities/MediaStreamType.swift index 1d9d0cac6..f66581acd 100644 --- a/Sources/Entities/MediaStreamType.swift +++ b/Sources/Entities/MediaStreamType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MediaURL.swift b/Sources/Entities/MediaURL.swift index 4eccd70f2..7d1a280f3 100644 --- a/Sources/Entities/MediaURL.swift +++ b/Sources/Entities/MediaURL.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MediaURL: Codable { +public struct MediaURL: Codable, Hashable { public var name: String? public var url: String? diff --git a/Sources/Entities/MediaUpdateInfoDto.swift b/Sources/Entities/MediaUpdateInfoDto.swift index 4e0292292..0db783f9c 100644 --- a/Sources/Entities/MediaUpdateInfoDto.swift +++ b/Sources/Entities/MediaUpdateInfoDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Media Update Info Dto. -public struct MediaUpdateInfoDto: Codable { +public struct MediaUpdateInfoDto: Codable, Hashable { /// Gets or sets the list of updates. public var updates: [MediaUpdateInfoPathDto]? diff --git a/Sources/Entities/MediaUpdateInfoPathDto.swift b/Sources/Entities/MediaUpdateInfoPathDto.swift index faeb2e55b..c2a5429e8 100644 --- a/Sources/Entities/MediaUpdateInfoPathDto.swift +++ b/Sources/Entities/MediaUpdateInfoPathDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The media update info path. -public struct MediaUpdateInfoPathDto: Codable { +public struct MediaUpdateInfoPathDto: Codable, Hashable { /// Gets or sets media path. public var path: String? /// Gets or sets media update type. diff --git a/Sources/Entities/MessageCommand.swift b/Sources/Entities/MessageCommand.swift index dc785f835..229ddb1e0 100644 --- a/Sources/Entities/MessageCommand.swift +++ b/Sources/Entities/MessageCommand.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MessageCommand: Codable { +public struct MessageCommand: Codable, Hashable { public var header: String? public var text: String - public var timeoutMs: Int64? + public var timeoutMs: Int? - public init(header: String? = nil, text: String, timeoutMs: Int64? = nil) { + public init(header: String? = nil, text: String, timeoutMs: Int? = nil) { self.header = header self.text = text self.timeoutMs = timeoutMs @@ -23,7 +23,7 @@ public struct MessageCommand: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.header = try values.decodeIfPresent(String.self, forKey: "Header") self.text = try values.decode(String.self, forKey: "Text") - self.timeoutMs = try values.decodeIfPresent(Int64.self, forKey: "TimeoutMs") + self.timeoutMs = try values.decodeIfPresent(Int.self, forKey: "TimeoutMs") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/MetadataConfiguration.swift b/Sources/Entities/MetadataConfiguration.swift index c5e9990cb..3b5514e3f 100644 --- a/Sources/Entities/MetadataConfiguration.swift +++ b/Sources/Entities/MetadataConfiguration.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MetadataConfiguration: Codable { +public struct MetadataConfiguration: Codable, Hashable { public var useFileCreationTimeForDateAdded: Bool? public init(useFileCreationTimeForDateAdded: Bool? = nil) { diff --git a/Sources/Entities/MetadataEditorInfo.swift b/Sources/Entities/MetadataEditorInfo.swift index 007c2f88d..914839ab8 100644 --- a/Sources/Entities/MetadataEditorInfo.swift +++ b/Sources/Entities/MetadataEditorInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MetadataEditorInfo: Codable { +public struct MetadataEditorInfo: Codable, Hashable { public var contentType: String? public var contentTypeOptions: [NameValuePair]? public var countries: [CountryInfo]? diff --git a/Sources/Entities/MetadataField.swift b/Sources/Entities/MetadataField.swift index 44f1d6efa..285440fb6 100644 --- a/Sources/Entities/MetadataField.swift +++ b/Sources/Entities/MetadataField.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MetadataOptions.swift b/Sources/Entities/MetadataOptions.swift index d02e2794c..9240fced4 100644 --- a/Sources/Entities/MetadataOptions.swift +++ b/Sources/Entities/MetadataOptions.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class MetadataOptions. -public struct MetadataOptions: Codable { +public struct MetadataOptions: Codable, Hashable { public var disabledImageFetchers: [String]? public var disabledMetadataFetchers: [String]? public var disabledMetadataSavers: [String]? diff --git a/Sources/Entities/MetadataRefreshMode.swift b/Sources/Entities/MetadataRefreshMode.swift index 65bb0973e..3da2834f3 100644 --- a/Sources/Entities/MetadataRefreshMode.swift +++ b/Sources/Entities/MetadataRefreshMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/MovePlaylistItemRequestDto.swift b/Sources/Entities/MovePlaylistItemRequestDto.swift index 7632aa490..41d44720f 100644 --- a/Sources/Entities/MovePlaylistItemRequestDto.swift +++ b/Sources/Entities/MovePlaylistItemRequestDto.swift @@ -3,26 +3,26 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class MovePlaylistItemRequestDto. -public struct MovePlaylistItemRequestDto: Codable { +public struct MovePlaylistItemRequestDto: Codable, Hashable { /// Gets or sets the new position. - public var newIndex: Int32? + public var newIndex: Int? /// Gets or sets the playlist identifier of the item. public var playlistItemID: String? - public init(newIndex: Int32? = nil, playlistItemID: String? = nil) { + public init(newIndex: Int? = nil, playlistItemID: String? = nil) { self.newIndex = newIndex self.playlistItemID = playlistItemID } public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.newIndex = try values.decodeIfPresent(Int32.self, forKey: "NewIndex") + self.newIndex = try values.decodeIfPresent(Int.self, forKey: "NewIndex") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") } diff --git a/Sources/Entities/MovieInfo.swift b/Sources/Entities/MovieInfo.swift index 2f78df257..3e14d28be 100644 --- a/Sources/Entities/MovieInfo.swift +++ b/Sources/Entities/MovieInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MovieInfo: Codable { - public var indexNumber: Int32? +public struct MovieInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,27 +19,27 @@ public struct MovieInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -56,17 +56,17 @@ public struct MovieInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/MovieInfoRemoteSearchQuery.swift b/Sources/Entities/MovieInfoRemoteSearchQuery.swift index 57a8990ae..007b55479 100644 --- a/Sources/Entities/MovieInfoRemoteSearchQuery.swift +++ b/Sources/Entities/MovieInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MovieInfoRemoteSearchQuery: Codable { +public struct MovieInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/MusicVideoInfo.swift b/Sources/Entities/MusicVideoInfo.swift index cc366c55f..4df162192 100644 --- a/Sources/Entities/MusicVideoInfo.swift +++ b/Sources/Entities/MusicVideoInfo.swift @@ -3,14 +3,14 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MusicVideoInfo: Codable { +public struct MusicVideoInfo: Codable, Hashable { public var artists: [String]? - public var indexNumber: Int32? + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -20,28 +20,28 @@ public struct MusicVideoInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( artists: [String]? = nil, - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.artists = artists self.indexNumber = indexNumber @@ -60,17 +60,17 @@ public struct MusicVideoInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.artists = try values.decodeIfPresent([String].self, forKey: "Artists") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/MusicVideoInfoRemoteSearchQuery.swift b/Sources/Entities/MusicVideoInfoRemoteSearchQuery.swift index 793b39293..8e906bbe6 100644 --- a/Sources/Entities/MusicVideoInfoRemoteSearchQuery.swift +++ b/Sources/Entities/MusicVideoInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct MusicVideoInfoRemoteSearchQuery: Codable { +public struct MusicVideoInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/NameGuidPair.swift b/Sources/Entities/NameGuidPair.swift index 897ff0858..695f060b1 100644 --- a/Sources/Entities/NameGuidPair.swift +++ b/Sources/Entities/NameGuidPair.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NameGuidPair: Codable, Identifiable { +public struct NameGuidPair: Codable, Hashable, Identifiable { public var id: String? public var name: String? diff --git a/Sources/Entities/NameIDPair.swift b/Sources/Entities/NameIDPair.swift index e5b155e75..e542923a7 100644 --- a/Sources/Entities/NameIDPair.swift +++ b/Sources/Entities/NameIDPair.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NameIDPair: Codable, Identifiable { +public struct NameIDPair: Codable, Hashable, Identifiable { /// Gets or sets the identifier. public var id: String? /// Gets or sets the name. diff --git a/Sources/Entities/NameValuePair.swift b/Sources/Entities/NameValuePair.swift index 64b4d87ac..1071fcb87 100644 --- a/Sources/Entities/NameValuePair.swift +++ b/Sources/Entities/NameValuePair.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NameValuePair: Codable { +public struct NameValuePair: Codable, Hashable { /// Gets or sets the name. public var name: String? /// Gets or sets the value. diff --git a/Sources/Entities/NetworkConfiguration.swift b/Sources/Entities/NetworkConfiguration.swift index bbfd83f8d..3e741a437 100644 --- a/Sources/Entities/NetworkConfiguration.swift +++ b/Sources/Entities/NetworkConfiguration.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the Jellyfin.Networking.Configuration.NetworkConfiguration. -public struct NetworkConfiguration: Codable { +public struct NetworkConfiguration: Codable, Hashable { /// Gets or sets a value indicating whether Autodiscovery is enabled. public var isAutoDiscovery: Bool? /// Gets or sets a value indicating whether Autodiscovery tracing is enabled. @@ -39,13 +39,13 @@ public struct NetworkConfiguration: Codable { /// Gets or sets a value indicating whether to enable automatic port forwarding. public var enableUPnP: Bool? /// Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. - public var gatewayMonitorPeriod: Int32? + public var gatewayMonitorPeriod: Int? /// Gets or sets the ports that HDHomerun uses. public var hDHomerunPortRange: String? /// Gets or sets the HTTP server port number. - public var httpserverPortNumber: Int32? + public var httpserverPortNumber: Int? /// Gets or sets the HTTPS server port number. - public var httpsPortNumber: Int32? + public var httpsPortNumber: Int? /// Gets or sets a value indicating whether address names that match Jellyfin.Networking.Configuration.NetworkConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding. public var isIgnoreVirtualInterfaces: Bool? /// Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. @@ -57,9 +57,9 @@ public struct NetworkConfiguration: Codable { /// Gets or sets the subnets that are deemed to make up the LAN. public var localNetworkSubnets: [String]? /// Gets or sets the public HTTPS port. - public var publicHTTPSPort: Int32? + public var publicHTTPSPort: Int? /// Gets or sets the public mapped port. - public var publicPort: Int32? + public var publicPort: Int? /// Gets or sets the PublishedServerUriBySubnet /// /// Gets or sets PublishedServerUri to advertise for specific subnets. @@ -81,9 +81,9 @@ public struct NetworkConfiguration: Codable { /// Gets or sets the UDPPortRange. public var uDPPortRange: String? /// Gets or sets the number of times SSDP UDP messages are sent. - public var uDPSendCount: Int32? + public var uDPSendCount: Int? /// Gets or sets the delay between each groups of SSDP messages (in ms). - public var uDPSendDelay: Int32? + public var uDPSendDelay: Int? /// Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. public var isUPnPCreateHTTPPortMap: Bool? /// Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . @@ -103,25 +103,25 @@ public struct NetworkConfiguration: Codable { enableRemoteAccess: Bool? = nil, enableSSDPTracing: Bool? = nil, enableUPnP: Bool? = nil, - gatewayMonitorPeriod: Int32? = nil, + gatewayMonitorPeriod: Int? = nil, hDHomerunPortRange: String? = nil, - httpserverPortNumber: Int32? = nil, - httpsPortNumber: Int32? = nil, + httpserverPortNumber: Int? = nil, + httpsPortNumber: Int? = nil, isIgnoreVirtualInterfaces: Bool? = nil, isRemoteIPFilterBlacklist: Bool? = nil, knownProxies: [String]? = nil, localNetworkAddresses: [String]? = nil, localNetworkSubnets: [String]? = nil, - publicHTTPSPort: Int32? = nil, - publicPort: Int32? = nil, + publicHTTPSPort: Int? = nil, + publicPort: Int? = nil, publishedServerUriBySubnet: [String]? = nil, remoteIPFilter: [String]? = nil, requireHTTPS: Bool? = nil, sSDPTracingFilter: String? = nil, isTrustAllIP6Interfaces: Bool? = nil, uDPPortRange: String? = nil, - uDPSendCount: Int32? = nil, - uDPSendDelay: Int32? = nil, + uDPSendCount: Int? = nil, + uDPSendDelay: Int? = nil, isUPnPCreateHTTPPortMap: Bool? = nil, virtualInterfaceNames: String? = nil ) { @@ -176,25 +176,25 @@ public struct NetworkConfiguration: Codable { self.enableRemoteAccess = try values.decodeIfPresent(Bool.self, forKey: "EnableRemoteAccess") self.enableSSDPTracing = try values.decodeIfPresent(Bool.self, forKey: "EnableSSDPTracing") self.enableUPnP = try values.decodeIfPresent(Bool.self, forKey: "EnableUPnP") - self.gatewayMonitorPeriod = try values.decodeIfPresent(Int32.self, forKey: "GatewayMonitorPeriod") + self.gatewayMonitorPeriod = try values.decodeIfPresent(Int.self, forKey: "GatewayMonitorPeriod") self.hDHomerunPortRange = try values.decodeIfPresent(String.self, forKey: "HDHomerunPortRange") - self.httpserverPortNumber = try values.decodeIfPresent(Int32.self, forKey: "HttpServerPortNumber") - self.httpsPortNumber = try values.decodeIfPresent(Int32.self, forKey: "HttpsPortNumber") + self.httpserverPortNumber = try values.decodeIfPresent(Int.self, forKey: "HttpServerPortNumber") + self.httpsPortNumber = try values.decodeIfPresent(Int.self, forKey: "HttpsPortNumber") self.isIgnoreVirtualInterfaces = try values.decodeIfPresent(Bool.self, forKey: "IgnoreVirtualInterfaces") self.isRemoteIPFilterBlacklist = try values.decodeIfPresent(Bool.self, forKey: "IsRemoteIPFilterBlacklist") self.knownProxies = try values.decodeIfPresent([String].self, forKey: "KnownProxies") self.localNetworkAddresses = try values.decodeIfPresent([String].self, forKey: "LocalNetworkAddresses") self.localNetworkSubnets = try values.decodeIfPresent([String].self, forKey: "LocalNetworkSubnets") - self.publicHTTPSPort = try values.decodeIfPresent(Int32.self, forKey: "PublicHttpsPort") - self.publicPort = try values.decodeIfPresent(Int32.self, forKey: "PublicPort") + self.publicHTTPSPort = try values.decodeIfPresent(Int.self, forKey: "PublicHttpsPort") + self.publicPort = try values.decodeIfPresent(Int.self, forKey: "PublicPort") self.publishedServerUriBySubnet = try values.decodeIfPresent([String].self, forKey: "PublishedServerUriBySubnet") self.remoteIPFilter = try values.decodeIfPresent([String].self, forKey: "RemoteIPFilter") self.requireHTTPS = try values.decodeIfPresent(Bool.self, forKey: "RequireHttps") self.sSDPTracingFilter = try values.decodeIfPresent(String.self, forKey: "SSDPTracingFilter") self.isTrustAllIP6Interfaces = try values.decodeIfPresent(Bool.self, forKey: "TrustAllIP6Interfaces") self.uDPPortRange = try values.decodeIfPresent(String.self, forKey: "UDPPortRange") - self.uDPSendCount = try values.decodeIfPresent(Int32.self, forKey: "UDPSendCount") - self.uDPSendDelay = try values.decodeIfPresent(Int32.self, forKey: "UDPSendDelay") + self.uDPSendCount = try values.decodeIfPresent(Int.self, forKey: "UDPSendCount") + self.uDPSendDelay = try values.decodeIfPresent(Int.self, forKey: "UDPSendDelay") self.isUPnPCreateHTTPPortMap = try values.decodeIfPresent(Bool.self, forKey: "UPnPCreateHttpPortMap") self.virtualInterfaceNames = try values.decodeIfPresent(String.self, forKey: "VirtualInterfaceNames") } diff --git a/Sources/Entities/NewGroupRequestDto.swift b/Sources/Entities/NewGroupRequestDto.swift index ef43b0eb3..5b204a2dc 100644 --- a/Sources/Entities/NewGroupRequestDto.swift +++ b/Sources/Entities/NewGroupRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class NewGroupRequestDto. -public struct NewGroupRequestDto: Codable { +public struct NewGroupRequestDto: Codable, Hashable { /// Gets or sets the group name. public var groupName: String? diff --git a/Sources/Entities/NextItemRequestDto.swift b/Sources/Entities/NextItemRequestDto.swift index da2c1ccfa..772cd5d54 100644 --- a/Sources/Entities/NextItemRequestDto.swift +++ b/Sources/Entities/NextItemRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class NextItemRequestDto. -public struct NextItemRequestDto: Codable { +public struct NextItemRequestDto: Codable, Hashable { /// Gets or sets the playing item identifier. public var playlistItemID: String? diff --git a/Sources/Entities/NotificationDto.swift b/Sources/Entities/NotificationDto.swift index 2b8de6392..22a803940 100644 --- a/Sources/Entities/NotificationDto.swift +++ b/Sources/Entities/NotificationDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The notification DTO. -public struct NotificationDto: Codable, Identifiable { +public struct NotificationDto: Codable, Hashable, Identifiable { /// Gets or sets the notification date. public var date: Date? /// Gets or sets the notification's description. Defaults to an empty string. diff --git a/Sources/Entities/NotificationLevel.swift b/Sources/Entities/NotificationLevel.swift index 986d32249..e8d74938a 100644 --- a/Sources/Entities/NotificationLevel.swift +++ b/Sources/Entities/NotificationLevel.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/NotificationOption.swift b/Sources/Entities/NotificationOption.swift index 14dd1df82..6c22c766e 100644 --- a/Sources/Entities/NotificationOption.swift +++ b/Sources/Entities/NotificationOption.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NotificationOption: Codable { +public struct NotificationOption: Codable, Hashable { /// Gets or sets user Ids to not monitor (it's opt out). public var disabledMonitorUsers: [String]? /// Gets or sets the disabled services. diff --git a/Sources/Entities/NotificationOptions.swift b/Sources/Entities/NotificationOptions.swift index 0db8bdc2c..b4adf87f9 100644 --- a/Sources/Entities/NotificationOptions.swift +++ b/Sources/Entities/NotificationOptions.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NotificationOptions: Codable { +public struct NotificationOptions: Codable, Hashable { public var options: [NotificationOption]? public init(options: [NotificationOption]? = nil) { diff --git a/Sources/Entities/NotificationResultDto.swift b/Sources/Entities/NotificationResultDto.swift index 79c6fc572..0198d827f 100644 --- a/Sources/Entities/NotificationResultDto.swift +++ b/Sources/Entities/NotificationResultDto.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// A list of notifications with the total record count for pagination. -public struct NotificationResultDto: Codable { +public struct NotificationResultDto: Codable, Hashable { /// Gets or sets the current page of notifications. public var notifications: [NotificationDto]? /// Gets or sets the total number of notifications. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(notifications: [NotificationDto]? = nil, totalRecordCount: Int32? = nil) { + public init(notifications: [NotificationDto]? = nil, totalRecordCount: Int? = nil) { self.notifications = notifications self.totalRecordCount = totalRecordCount } @@ -23,7 +23,7 @@ public struct NotificationResultDto: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.notifications = try values.decodeIfPresent([NotificationDto].self, forKey: "Notifications") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/NotificationTypeInfo.swift b/Sources/Entities/NotificationTypeInfo.swift index 58f7a5a63..8838eab9c 100644 --- a/Sources/Entities/NotificationTypeInfo.swift +++ b/Sources/Entities/NotificationTypeInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct NotificationTypeInfo: Codable { +public struct NotificationTypeInfo: Codable, Hashable { public var category: String? public var isEnabled: Bool? public var isBasedOnUserEvent: Bool? diff --git a/Sources/Entities/NotificationsSummaryDto.swift b/Sources/Entities/NotificationsSummaryDto.swift index a5d22b1da..3cb2e7cf0 100644 --- a/Sources/Entities/NotificationsSummaryDto.swift +++ b/Sources/Entities/NotificationsSummaryDto.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The notification summary DTO. -public struct NotificationsSummaryDto: Codable { +public struct NotificationsSummaryDto: Codable, Hashable { /// Gets or sets the maximum unread notification level. public var maxUnreadNotificationLevel: NotificationLevel? /// Gets or sets the number of unread notifications. - public var unreadCount: Int32? + public var unreadCount: Int? - public init(maxUnreadNotificationLevel: NotificationLevel? = nil, unreadCount: Int32? = nil) { + public init(maxUnreadNotificationLevel: NotificationLevel? = nil, unreadCount: Int? = nil) { self.maxUnreadNotificationLevel = maxUnreadNotificationLevel self.unreadCount = unreadCount } @@ -23,7 +23,7 @@ public struct NotificationsSummaryDto: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.maxUnreadNotificationLevel = try values.decodeIfPresent(NotificationLevel.self, forKey: "MaxUnreadNotificationLevel") - self.unreadCount = try values.decodeIfPresent(Int32.self, forKey: "UnreadCount") + self.unreadCount = try values.decodeIfPresent(Int.self, forKey: "UnreadCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ObjectGroupUpdate.swift b/Sources/Entities/ObjectGroupUpdate.swift index 381815656..2bdac57ae 100644 --- a/Sources/Entities/ObjectGroupUpdate.swift +++ b/Sources/Entities/ObjectGroupUpdate.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class GroupUpdate. -public struct ObjectGroupUpdate: Codable { +public struct ObjectGroupUpdate: Codable, Hashable { /// Gets the update data. public var data: AnyJSON? /// Gets the group identifier. diff --git a/Sources/Entities/OpenLiveStreamDto.swift b/Sources/Entities/OpenLiveStreamDto.swift index 50cff5931..634bf46d5 100644 --- a/Sources/Entities/OpenLiveStreamDto.swift +++ b/Sources/Entities/OpenLiveStreamDto.swift @@ -3,15 +3,15 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Open live stream dto. -public struct OpenLiveStreamDto: Codable { +public struct OpenLiveStreamDto: Codable, Hashable { /// Gets or sets the audio stream index. - public var audioStreamIndex: Int32? + public var audioStreamIndex: Int? /// Gets or sets the device profile. public var deviceProfile: DeviceProfile? /// Gets or sets the device play protocols. @@ -23,33 +23,33 @@ public struct OpenLiveStreamDto: Codable { /// Gets or sets the item id. public var itemID: String? /// Gets or sets the max audio channels. - public var maxAudioChannels: Int32? + public var maxAudioChannels: Int? /// Gets or sets the max streaming bitrate. - public var maxStreamingBitrate: Int32? + public var maxStreamingBitrate: Int? /// Gets or sets the open token. public var openToken: String? /// Gets or sets the play session id. public var playSessionID: String? /// Gets or sets the start time in ticks. - public var startTimeTicks: Int64? + public var startTimeTicks: Int? /// Gets or sets the subtitle stream index. - public var subtitleStreamIndex: Int32? + public var subtitleStreamIndex: Int? /// Gets or sets the user id. public var userID: String? public init( - audioStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, deviceProfile: DeviceProfile? = nil, directPlayProtocols: [MediaProtocol]? = nil, enableDirectPlay: Bool? = nil, enableDirectStream: Bool? = nil, itemID: String? = nil, - maxAudioChannels: Int32? = nil, - maxStreamingBitrate: Int32? = nil, + maxAudioChannels: Int? = nil, + maxStreamingBitrate: Int? = nil, openToken: String? = nil, playSessionID: String? = nil, - startTimeTicks: Int64? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + subtitleStreamIndex: Int? = nil, userID: String? = nil ) { self.audioStreamIndex = audioStreamIndex @@ -69,18 +69,18 @@ public struct OpenLiveStreamDto: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") self.deviceProfile = try values.decodeIfPresent(DeviceProfile.self, forKey: "DeviceProfile") self.directPlayProtocols = try values.decodeIfPresent([MediaProtocol].self, forKey: "DirectPlayProtocols") self.enableDirectPlay = try values.decodeIfPresent(Bool.self, forKey: "EnableDirectPlay") self.enableDirectStream = try values.decodeIfPresent(Bool.self, forKey: "EnableDirectStream") self.itemID = try values.decodeIfPresent(String.self, forKey: "ItemId") - self.maxAudioChannels = try values.decodeIfPresent(Int32.self, forKey: "MaxAudioChannels") - self.maxStreamingBitrate = try values.decodeIfPresent(Int32.self, forKey: "MaxStreamingBitrate") + self.maxAudioChannels = try values.decodeIfPresent(Int.self, forKey: "MaxAudioChannels") + self.maxStreamingBitrate = try values.decodeIfPresent(Int.self, forKey: "MaxStreamingBitrate") self.openToken = try values.decodeIfPresent(String.self, forKey: "OpenToken") self.playSessionID = try values.decodeIfPresent(String.self, forKey: "PlaySessionId") - self.startTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "StartTimeTicks") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") + self.startTimeTicks = try values.decodeIfPresent(Int.self, forKey: "StartTimeTicks") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") } diff --git a/Sources/Entities/PackageInfo.swift b/Sources/Entities/PackageInfo.swift index f519875c7..7575e4d59 100644 --- a/Sources/Entities/PackageInfo.swift +++ b/Sources/Entities/PackageInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PackageInfo. -public struct PackageInfo: Codable { +public struct PackageInfo: Codable, Hashable { /// Gets or sets the category. public var category: String? /// Gets or sets a long description of the plugin containing features or helpful explanations. diff --git a/Sources/Entities/ParentalRating.swift b/Sources/Entities/ParentalRating.swift index 5ac99fc8a..e12b2fed8 100644 --- a/Sources/Entities/ParentalRating.swift +++ b/Sources/Entities/ParentalRating.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ParentalRating. -public struct ParentalRating: Codable { +public struct ParentalRating: Codable, Hashable { /// Gets or sets the name. public var name: String? /// Gets or sets the value. - public var value: Int32? + public var value: Int? - public init(name: String? = nil, value: Int32? = nil) { + public init(name: String? = nil, value: Int? = nil) { self.name = name self.value = value } @@ -23,7 +23,7 @@ public struct ParentalRating: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.name = try values.decodeIfPresent(String.self, forKey: "Name") - self.value = try values.decodeIfPresent(Int32.self, forKey: "Value") + self.value = try values.decodeIfPresent(Int.self, forKey: "Value") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PathSubstitution.swift b/Sources/Entities/PathSubstitution.swift index 2fb2b242e..3d11d85fa 100644 --- a/Sources/Entities/PathSubstitution.swift +++ b/Sources/Entities/PathSubstitution.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the MediaBrowser.Model.Configuration.PathSubstitution. -public struct PathSubstitution: Codable { +public struct PathSubstitution: Codable, Hashable { /// Gets or sets the value to substitute. public var from: String? /// Gets or sets the value to substitution with. diff --git a/Sources/Entities/PersonLookupInfo.swift b/Sources/Entities/PersonLookupInfo.swift index 2bdc95b8c..d6409839a 100644 --- a/Sources/Entities/PersonLookupInfo.swift +++ b/Sources/Entities/PersonLookupInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PersonLookupInfo: Codable { - public var indexNumber: Int32? +public struct PersonLookupInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,27 +19,27 @@ public struct PersonLookupInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -56,17 +56,17 @@ public struct PersonLookupInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PersonLookupInfoRemoteSearchQuery.swift b/Sources/Entities/PersonLookupInfoRemoteSearchQuery.swift index 1e1dc49ef..aba5d3ac6 100644 --- a/Sources/Entities/PersonLookupInfoRemoteSearchQuery.swift +++ b/Sources/Entities/PersonLookupInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PersonLookupInfoRemoteSearchQuery: Codable { +public struct PersonLookupInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/PinRedeemResult.swift b/Sources/Entities/PinRedeemResult.swift index 5405d4eff..e5d75d044 100644 --- a/Sources/Entities/PinRedeemResult.swift +++ b/Sources/Entities/PinRedeemResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PinRedeemResult: Codable { +public struct PinRedeemResult: Codable, Hashable { /// Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. public var isSuccess: Bool? /// Gets or sets the users reset. diff --git a/Sources/Entities/PingRequestDto.swift b/Sources/Entities/PingRequestDto.swift index 1ba874a4d..85392b18a 100644 --- a/Sources/Entities/PingRequestDto.swift +++ b/Sources/Entities/PingRequestDto.swift @@ -3,23 +3,23 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PingRequestDto. -public struct PingRequestDto: Codable { +public struct PingRequestDto: Codable, Hashable { /// Gets or sets the ping time. - public var ping: Int64? + public var ping: Int? - public init(ping: Int64? = nil) { + public init(ping: Int? = nil) { self.ping = ping } public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.ping = try values.decodeIfPresent(Int64.self, forKey: "Ping") + self.ping = try values.decodeIfPresent(Int.self, forKey: "Ping") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlayAccess.swift b/Sources/Entities/PlayAccess.swift index 27089e836..c6c4db6ad 100644 --- a/Sources/Entities/PlayAccess.swift +++ b/Sources/Entities/PlayAccess.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PlayCommand.swift b/Sources/Entities/PlayCommand.swift index 3881d3a15..61259251e 100644 --- a/Sources/Entities/PlayCommand.swift +++ b/Sources/Entities/PlayCommand.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PlayMethod.swift b/Sources/Entities/PlayMethod.swift index 3749a105f..f703e2c9a 100644 --- a/Sources/Entities/PlayMethod.swift +++ b/Sources/Entities/PlayMethod.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PlayRequest.swift b/Sources/Entities/PlayRequest.swift index 4fdeafcd4..87fe5c6b3 100644 --- a/Sources/Entities/PlayRequest.swift +++ b/Sources/Entities/PlayRequest.swift @@ -3,14 +3,14 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlayRequest. -public struct PlayRequest: Codable { - public var audioStreamIndex: Int32? +public struct PlayRequest: Codable, Hashable { + public var audioStreamIndex: Int? /// Gets or sets the controlling user identifier. public var controllingUserID: String? /// Gets or sets the item ids. @@ -18,20 +18,20 @@ public struct PlayRequest: Codable { public var mediaSourceID: String? /// Gets or sets the play command. public var playCommand: PlayCommand? - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the start position ticks that the first item should be played at. - public var startPositionTicks: Int64? - public var subtitleStreamIndex: Int32? + public var startPositionTicks: Int? + public var subtitleStreamIndex: Int? public init( - audioStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, controllingUserID: String? = nil, itemIDs: [String]? = nil, mediaSourceID: String? = nil, playCommand: PlayCommand? = nil, - startIndex: Int32? = nil, - startPositionTicks: Int64? = nil, - subtitleStreamIndex: Int32? = nil + startIndex: Int? = nil, + startPositionTicks: Int? = nil, + subtitleStreamIndex: Int? = nil ) { self.audioStreamIndex = audioStreamIndex self.controllingUserID = controllingUserID @@ -45,14 +45,14 @@ public struct PlayRequest: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") self.controllingUserID = try values.decodeIfPresent(String.self, forKey: "ControllingUserId") self.itemIDs = try values.decodeIfPresent([String].self, forKey: "ItemIds") self.mediaSourceID = try values.decodeIfPresent(String.self, forKey: "MediaSourceId") self.playCommand = try values.decodeIfPresent(PlayCommand.self, forKey: "PlayCommand") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.startPositionTicks = try values.decodeIfPresent(Int64.self, forKey: "StartPositionTicks") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.startPositionTicks = try values.decodeIfPresent(Int.self, forKey: "StartPositionTicks") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlayRequestDto.swift b/Sources/Entities/PlayRequestDto.swift index 96ff2a9fa..1d9875d51 100644 --- a/Sources/Entities/PlayRequestDto.swift +++ b/Sources/Entities/PlayRequestDto.swift @@ -3,21 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlayRequestDto. -public struct PlayRequestDto: Codable { +public struct PlayRequestDto: Codable, Hashable { /// Gets or sets the position of the playing item in the queue. - public var playingItemPosition: Int32? + public var playingItemPosition: Int? /// Gets or sets the playing queue. public var playingQueue: [String]? /// Gets or sets the start position ticks. - public var startPositionTicks: Int64? + public var startPositionTicks: Int? - public init(playingItemPosition: Int32? = nil, playingQueue: [String]? = nil, startPositionTicks: Int64? = nil) { + public init(playingItemPosition: Int? = nil, playingQueue: [String]? = nil, startPositionTicks: Int? = nil) { self.playingItemPosition = playingItemPosition self.playingQueue = playingQueue self.startPositionTicks = startPositionTicks @@ -25,9 +25,9 @@ public struct PlayRequestDto: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.playingItemPosition = try values.decodeIfPresent(Int32.self, forKey: "PlayingItemPosition") + self.playingItemPosition = try values.decodeIfPresent(Int.self, forKey: "PlayingItemPosition") self.playingQueue = try values.decodeIfPresent([String].self, forKey: "PlayingQueue") - self.startPositionTicks = try values.decodeIfPresent(Int64.self, forKey: "StartPositionTicks") + self.startPositionTicks = try values.decodeIfPresent(Int.self, forKey: "StartPositionTicks") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlaybackErrorCode.swift b/Sources/Entities/PlaybackErrorCode.swift index 02fa7a8cd..015af9bd3 100644 --- a/Sources/Entities/PlaybackErrorCode.swift +++ b/Sources/Entities/PlaybackErrorCode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PlaybackInfoDto.swift b/Sources/Entities/PlaybackInfoDto.swift index eb1d71796..c6277d995 100644 --- a/Sources/Entities/PlaybackInfoDto.swift +++ b/Sources/Entities/PlaybackInfoDto.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Plabyback info dto. -public struct PlaybackInfoDto: Codable { +public struct PlaybackInfoDto: Codable, Hashable { /// Gets or sets a value indicating whether to allow audio stream copy. public var allowAudioStreamCopy: Bool? /// Gets or sets a value indicating whether to enable video stream copy. public var allowVideoStreamCopy: Bool? /// Gets or sets the audio stream index. - public var audioStreamIndex: Int32? + public var audioStreamIndex: Int? /// Gets or sets a value indicating whether to auto open the live stream. public var isAutoOpenLiveStream: Bool? /// Gets or sets the device profile. @@ -29,33 +29,33 @@ public struct PlaybackInfoDto: Codable { /// Gets or sets the live stream id. public var liveStreamID: String? /// Gets or sets the max audio channels. - public var maxAudioChannels: Int32? + public var maxAudioChannels: Int? /// Gets or sets the max streaming bitrate. - public var maxStreamingBitrate: Int32? + public var maxStreamingBitrate: Int? /// Gets or sets the media source id. public var mediaSourceID: String? /// Gets or sets the start time in ticks. - public var startTimeTicks: Int64? + public var startTimeTicks: Int? /// Gets or sets the subtitle stream index. - public var subtitleStreamIndex: Int32? + public var subtitleStreamIndex: Int? /// Gets or sets the playback userId. public var userID: String? public init( allowAudioStreamCopy: Bool? = nil, allowVideoStreamCopy: Bool? = nil, - audioStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, isAutoOpenLiveStream: Bool? = nil, deviceProfile: DeviceProfile? = nil, enableDirectPlay: Bool? = nil, enableDirectStream: Bool? = nil, enableTranscoding: Bool? = nil, liveStreamID: String? = nil, - maxAudioChannels: Int32? = nil, - maxStreamingBitrate: Int32? = nil, + maxAudioChannels: Int? = nil, + maxStreamingBitrate: Int? = nil, mediaSourceID: String? = nil, - startTimeTicks: Int64? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + subtitleStreamIndex: Int? = nil, userID: String? = nil ) { self.allowAudioStreamCopy = allowAudioStreamCopy @@ -79,18 +79,18 @@ public struct PlaybackInfoDto: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.allowAudioStreamCopy = try values.decodeIfPresent(Bool.self, forKey: "AllowAudioStreamCopy") self.allowVideoStreamCopy = try values.decodeIfPresent(Bool.self, forKey: "AllowVideoStreamCopy") - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") self.isAutoOpenLiveStream = try values.decodeIfPresent(Bool.self, forKey: "AutoOpenLiveStream") self.deviceProfile = try values.decodeIfPresent(DeviceProfile.self, forKey: "DeviceProfile") self.enableDirectPlay = try values.decodeIfPresent(Bool.self, forKey: "EnableDirectPlay") self.enableDirectStream = try values.decodeIfPresent(Bool.self, forKey: "EnableDirectStream") self.enableTranscoding = try values.decodeIfPresent(Bool.self, forKey: "EnableTranscoding") self.liveStreamID = try values.decodeIfPresent(String.self, forKey: "LiveStreamId") - self.maxAudioChannels = try values.decodeIfPresent(Int32.self, forKey: "MaxAudioChannels") - self.maxStreamingBitrate = try values.decodeIfPresent(Int32.self, forKey: "MaxStreamingBitrate") + self.maxAudioChannels = try values.decodeIfPresent(Int.self, forKey: "MaxAudioChannels") + self.maxStreamingBitrate = try values.decodeIfPresent(Int.self, forKey: "MaxStreamingBitrate") self.mediaSourceID = try values.decodeIfPresent(String.self, forKey: "MediaSourceId") - self.startTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "StartTimeTicks") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") + self.startTimeTicks = try values.decodeIfPresent(Int.self, forKey: "StartTimeTicks") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") self.userID = try values.decodeIfPresent(String.self, forKey: "UserId") } diff --git a/Sources/Entities/PlaybackInfoResponse.swift b/Sources/Entities/PlaybackInfoResponse.swift index 5ac39d6e7..ba8c00e4f 100644 --- a/Sources/Entities/PlaybackInfoResponse.swift +++ b/Sources/Entities/PlaybackInfoResponse.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlaybackInfoResponse. -public struct PlaybackInfoResponse: Codable { +public struct PlaybackInfoResponse: Codable, Hashable { /// Gets or sets the error code. public var errorCode: PlaybackErrorCode? /// Gets or sets the media sources. diff --git a/Sources/Entities/PlaybackProgressInfo.swift b/Sources/Entities/PlaybackProgressInfo.swift index adcb27485..b47b70234 100644 --- a/Sources/Entities/PlaybackProgressInfo.swift +++ b/Sources/Entities/PlaybackProgressInfo.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlaybackProgressInfo. -public struct PlaybackProgressInfo: Codable { +public struct PlaybackProgressInfo: Codable, Hashable { public var aspectRatio: String? /// Gets or sets the index of the audio stream. - public var audioStreamIndex: Int32? - public var brightness: Int32? + public var audioStreamIndex: Int? + public var brightness: Int? /// Gets or sets a value indicating whether this instance can seek. public var canSeek: Bool? /// Gets or sets a value indicating whether this instance is muted. @@ -33,23 +33,23 @@ public struct PlaybackProgressInfo: Codable { public var playMethod: PlayMethod? /// Gets or sets the play session identifier. public var playSessionID: String? - public var playbackStartTimeTicks: Int64? + public var playbackStartTimeTicks: Int? public var playlistItemID: String? /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets the repeat mode. public var repeatMode: RepeatMode? /// Gets or sets the session id. public var sessionID: String? /// Gets or sets the index of the subtitle stream. - public var subtitleStreamIndex: Int32? + public var subtitleStreamIndex: Int? /// Gets or sets the volume level. - public var volumeLevel: Int32? + public var volumeLevel: Int? public init( aspectRatio: String? = nil, - audioStreamIndex: Int32? = nil, - brightness: Int32? = nil, + audioStreamIndex: Int? = nil, + brightness: Int? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, @@ -60,13 +60,13 @@ public struct PlaybackProgressInfo: Codable { nowPlayingQueue: [QueueItem]? = nil, playMethod: PlayMethod? = nil, playSessionID: String? = nil, - playbackStartTimeTicks: Int64? = nil, + playbackStartTimeTicks: Int? = nil, playlistItemID: String? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, repeatMode: RepeatMode? = nil, sessionID: String? = nil, - subtitleStreamIndex: Int32? = nil, - volumeLevel: Int32? = nil + subtitleStreamIndex: Int? = nil, + volumeLevel: Int? = nil ) { self.aspectRatio = aspectRatio self.audioStreamIndex = audioStreamIndex @@ -93,8 +93,8 @@ public struct PlaybackProgressInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.aspectRatio = try values.decodeIfPresent(String.self, forKey: "AspectRatio") - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") - self.brightness = try values.decodeIfPresent(Int32.self, forKey: "Brightness") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") + self.brightness = try values.decodeIfPresent(Int.self, forKey: "Brightness") self.canSeek = try values.decodeIfPresent(Bool.self, forKey: "CanSeek") self.isMuted = try values.decodeIfPresent(Bool.self, forKey: "IsMuted") self.isPaused = try values.decodeIfPresent(Bool.self, forKey: "IsPaused") @@ -105,13 +105,13 @@ public struct PlaybackProgressInfo: Codable { self.nowPlayingQueue = try values.decodeIfPresent([QueueItem].self, forKey: "NowPlayingQueue") self.playMethod = try values.decodeIfPresent(PlayMethod.self, forKey: "PlayMethod") self.playSessionID = try values.decodeIfPresent(String.self, forKey: "PlaySessionId") - self.playbackStartTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "PlaybackStartTimeTicks") + self.playbackStartTimeTicks = try values.decodeIfPresent(Int.self, forKey: "PlaybackStartTimeTicks") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.repeatMode = try values.decodeIfPresent(RepeatMode.self, forKey: "RepeatMode") self.sessionID = try values.decodeIfPresent(String.self, forKey: "SessionId") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") - self.volumeLevel = try values.decodeIfPresent(Int32.self, forKey: "VolumeLevel") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") + self.volumeLevel = try values.decodeIfPresent(Int.self, forKey: "VolumeLevel") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlaybackStartInfo.swift b/Sources/Entities/PlaybackStartInfo.swift index 1edc9c424..8fe67945b 100644 --- a/Sources/Entities/PlaybackStartInfo.swift +++ b/Sources/Entities/PlaybackStartInfo.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlaybackStartInfo. -public struct PlaybackStartInfo: Codable { +public struct PlaybackStartInfo: Codable, Hashable { public var aspectRatio: String? /// Gets or sets the index of the audio stream. - public var audioStreamIndex: Int32? - public var brightness: Int32? + public var audioStreamIndex: Int? + public var brightness: Int? /// Gets or sets a value indicating whether this instance can seek. public var canSeek: Bool? /// Gets or sets a value indicating whether this instance is muted. @@ -33,23 +33,23 @@ public struct PlaybackStartInfo: Codable { public var playMethod: PlayMethod? /// Gets or sets the play session identifier. public var playSessionID: String? - public var playbackStartTimeTicks: Int64? + public var playbackStartTimeTicks: Int? public var playlistItemID: String? /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets the repeat mode. public var repeatMode: RepeatMode? /// Gets or sets the session id. public var sessionID: String? /// Gets or sets the index of the subtitle stream. - public var subtitleStreamIndex: Int32? + public var subtitleStreamIndex: Int? /// Gets or sets the volume level. - public var volumeLevel: Int32? + public var volumeLevel: Int? public init( aspectRatio: String? = nil, - audioStreamIndex: Int32? = nil, - brightness: Int32? = nil, + audioStreamIndex: Int? = nil, + brightness: Int? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, @@ -60,13 +60,13 @@ public struct PlaybackStartInfo: Codable { nowPlayingQueue: [QueueItem]? = nil, playMethod: PlayMethod? = nil, playSessionID: String? = nil, - playbackStartTimeTicks: Int64? = nil, + playbackStartTimeTicks: Int? = nil, playlistItemID: String? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, repeatMode: RepeatMode? = nil, sessionID: String? = nil, - subtitleStreamIndex: Int32? = nil, - volumeLevel: Int32? = nil + subtitleStreamIndex: Int? = nil, + volumeLevel: Int? = nil ) { self.aspectRatio = aspectRatio self.audioStreamIndex = audioStreamIndex @@ -93,8 +93,8 @@ public struct PlaybackStartInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.aspectRatio = try values.decodeIfPresent(String.self, forKey: "AspectRatio") - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") - self.brightness = try values.decodeIfPresent(Int32.self, forKey: "Brightness") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") + self.brightness = try values.decodeIfPresent(Int.self, forKey: "Brightness") self.canSeek = try values.decodeIfPresent(Bool.self, forKey: "CanSeek") self.isMuted = try values.decodeIfPresent(Bool.self, forKey: "IsMuted") self.isPaused = try values.decodeIfPresent(Bool.self, forKey: "IsPaused") @@ -105,13 +105,13 @@ public struct PlaybackStartInfo: Codable { self.nowPlayingQueue = try values.decodeIfPresent([QueueItem].self, forKey: "NowPlayingQueue") self.playMethod = try values.decodeIfPresent(PlayMethod.self, forKey: "PlayMethod") self.playSessionID = try values.decodeIfPresent(String.self, forKey: "PlaySessionId") - self.playbackStartTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "PlaybackStartTimeTicks") + self.playbackStartTimeTicks = try values.decodeIfPresent(Int.self, forKey: "PlaybackStartTimeTicks") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.repeatMode = try values.decodeIfPresent(RepeatMode.self, forKey: "RepeatMode") self.sessionID = try values.decodeIfPresent(String.self, forKey: "SessionId") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") - self.volumeLevel = try values.decodeIfPresent(Int32.self, forKey: "VolumeLevel") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") + self.volumeLevel = try values.decodeIfPresent(Int.self, forKey: "VolumeLevel") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlaybackStopInfo.swift b/Sources/Entities/PlaybackStopInfo.swift index 040cc8c4e..5f8ff2f00 100644 --- a/Sources/Entities/PlaybackStopInfo.swift +++ b/Sources/Entities/PlaybackStopInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PlaybackStopInfo. -public struct PlaybackStopInfo: Codable { +public struct PlaybackStopInfo: Codable, Hashable { /// Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. public var isFailed: Bool? /// Gets or sets the item. @@ -26,7 +26,7 @@ public struct PlaybackStopInfo: Codable { public var playSessionID: String? public var playlistItemID: String? /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets the session id. public var sessionID: String? @@ -40,7 +40,7 @@ public struct PlaybackStopInfo: Codable { nowPlayingQueue: [QueueItem]? = nil, playSessionID: String? = nil, playlistItemID: String? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, sessionID: String? = nil ) { self.isFailed = isFailed @@ -67,7 +67,7 @@ public struct PlaybackStopInfo: Codable { self.nowPlayingQueue = try values.decodeIfPresent([QueueItem].self, forKey: "NowPlayingQueue") self.playSessionID = try values.decodeIfPresent(String.self, forKey: "PlaySessionId") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.sessionID = try values.decodeIfPresent(String.self, forKey: "SessionId") } diff --git a/Sources/Entities/PlayerStateInfo.swift b/Sources/Entities/PlayerStateInfo.swift index 49b2d3805..5d06fac02 100644 --- a/Sources/Entities/PlayerStateInfo.swift +++ b/Sources/Entities/PlayerStateInfo.swift @@ -3,14 +3,14 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PlayerStateInfo: Codable { +public struct PlayerStateInfo: Codable, Hashable { /// Gets or sets the index of the now playing audio stream. - public var audioStreamIndex: Int32? + public var audioStreamIndex: Int? /// Gets or sets a value indicating whether this instance can seek. public var canSeek: Bool? /// Gets or sets a value indicating whether this instance is muted. @@ -24,26 +24,26 @@ public struct PlayerStateInfo: Codable { /// Gets or sets the play method. public var playMethod: PlayMethod? /// Gets or sets the now playing position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets the repeat mode. public var repeatMode: RepeatMode? /// Gets or sets the index of the now playing subtitle stream. - public var subtitleStreamIndex: Int32? + public var subtitleStreamIndex: Int? /// Gets or sets the volume level. - public var volumeLevel: Int32? + public var volumeLevel: Int? public init( - audioStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, liveStreamID: String? = nil, mediaSourceID: String? = nil, playMethod: PlayMethod? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, repeatMode: RepeatMode? = nil, - subtitleStreamIndex: Int32? = nil, - volumeLevel: Int32? = nil + subtitleStreamIndex: Int? = nil, + volumeLevel: Int? = nil ) { self.audioStreamIndex = audioStreamIndex self.canSeek = canSeek @@ -60,17 +60,17 @@ public struct PlayerStateInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.audioStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "AudioStreamIndex") + self.audioStreamIndex = try values.decodeIfPresent(Int.self, forKey: "AudioStreamIndex") self.canSeek = try values.decodeIfPresent(Bool.self, forKey: "CanSeek") self.isMuted = try values.decodeIfPresent(Bool.self, forKey: "IsMuted") self.isPaused = try values.decodeIfPresent(Bool.self, forKey: "IsPaused") self.liveStreamID = try values.decodeIfPresent(String.self, forKey: "LiveStreamId") self.mediaSourceID = try values.decodeIfPresent(String.self, forKey: "MediaSourceId") self.playMethod = try values.decodeIfPresent(PlayMethod.self, forKey: "PlayMethod") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.repeatMode = try values.decodeIfPresent(RepeatMode.self, forKey: "RepeatMode") - self.subtitleStreamIndex = try values.decodeIfPresent(Int32.self, forKey: "SubtitleStreamIndex") - self.volumeLevel = try values.decodeIfPresent(Int32.self, forKey: "VolumeLevel") + self.subtitleStreamIndex = try values.decodeIfPresent(Int.self, forKey: "SubtitleStreamIndex") + self.volumeLevel = try values.decodeIfPresent(Int.self, forKey: "VolumeLevel") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PlaylistCreationResult.swift b/Sources/Entities/PlaylistCreationResult.swift index 14048eba8..e7ba125b8 100644 --- a/Sources/Entities/PlaylistCreationResult.swift +++ b/Sources/Entities/PlaylistCreationResult.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PlaylistCreationResult: Codable, Identifiable { +public struct PlaylistCreationResult: Codable, Hashable, Identifiable { public var id: String? public init(id: String? = nil) { diff --git a/Sources/Entities/PlaystateCommand.swift b/Sources/Entities/PlaystateCommand.swift index 27c83574f..9004732e5 100644 --- a/Sources/Entities/PlaystateCommand.swift +++ b/Sources/Entities/PlaystateCommand.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PlaystateRequest.swift b/Sources/Entities/PlaystateRequest.swift index 0bb95f6d0..ec9509337 100644 --- a/Sources/Entities/PlaystateRequest.swift +++ b/Sources/Entities/PlaystateRequest.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PlaystateRequest: Codable { +public struct PlaystateRequest: Codable, Hashable { /// Enum PlaystateCommand. public var command: PlaystateCommand? /// Gets or sets the controlling user identifier. public var controllingUserID: String? - public var seekPositionTicks: Int64? + public var seekPositionTicks: Int? - public init(command: PlaystateCommand? = nil, controllingUserID: String? = nil, seekPositionTicks: Int64? = nil) { + public init(command: PlaystateCommand? = nil, controllingUserID: String? = nil, seekPositionTicks: Int? = nil) { self.command = command self.controllingUserID = controllingUserID self.seekPositionTicks = seekPositionTicks @@ -25,7 +25,7 @@ public struct PlaystateRequest: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.command = try values.decodeIfPresent(PlaystateCommand.self, forKey: "Command") self.controllingUserID = try values.decodeIfPresent(String.self, forKey: "ControllingUserId") - self.seekPositionTicks = try values.decodeIfPresent(Int64.self, forKey: "SeekPositionTicks") + self.seekPositionTicks = try values.decodeIfPresent(Int.self, forKey: "SeekPositionTicks") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/PluginInfo.swift b/Sources/Entities/PluginInfo.swift index f30fd85ae..e8973fbda 100644 --- a/Sources/Entities/PluginInfo.swift +++ b/Sources/Entities/PluginInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// This is a serializable stub class that is used by the api to provide information about installed plugins. -public struct PluginInfo: Codable, Identifiable { +public struct PluginInfo: Codable, Hashable, Identifiable { /// Gets or sets a value indicating whether the plugin can be uninstalled. public var canUninstall: Bool? /// Gets or sets the name of the configuration file. diff --git a/Sources/Entities/PluginStatus.swift b/Sources/Entities/PluginStatus.swift index c027e3c05..a31aeabc6 100644 --- a/Sources/Entities/PluginStatus.swift +++ b/Sources/Entities/PluginStatus.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PreviousItemRequestDto.swift b/Sources/Entities/PreviousItemRequestDto.swift index 401d3ebb0..67a5fa125 100644 --- a/Sources/Entities/PreviousItemRequestDto.swift +++ b/Sources/Entities/PreviousItemRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class PreviousItemRequestDto. -public struct PreviousItemRequestDto: Codable { +public struct PreviousItemRequestDto: Codable, Hashable { /// Gets or sets the playing item identifier. public var playlistItemID: String? diff --git a/Sources/Entities/ProfileCondition.swift b/Sources/Entities/ProfileCondition.swift index 60a0d52de..5b1f2dd39 100644 --- a/Sources/Entities/ProfileCondition.swift +++ b/Sources/Entities/ProfileCondition.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ProfileCondition: Codable { +public struct ProfileCondition: Codable, Hashable { public var condition: ProfileConditionType? public var isRequired: Bool? public var property: ProfileConditionValue? diff --git a/Sources/Entities/ProfileConditionType.swift b/Sources/Entities/ProfileConditionType.swift index 42946d58c..1a16d0be3 100644 --- a/Sources/Entities/ProfileConditionType.swift +++ b/Sources/Entities/ProfileConditionType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ProfileConditionValue.swift b/Sources/Entities/ProfileConditionValue.swift index 95c34e84d..d3bf9dfa9 100644 --- a/Sources/Entities/ProfileConditionValue.swift +++ b/Sources/Entities/ProfileConditionValue.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ProgramAudio.swift b/Sources/Entities/ProgramAudio.swift index 82e98d5c5..b79bd9842 100644 --- a/Sources/Entities/ProgramAudio.swift +++ b/Sources/Entities/ProgramAudio.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/PublicSystemInfo.swift b/Sources/Entities/PublicSystemInfo.swift index 971c12df0..9c9a51061 100644 --- a/Sources/Entities/PublicSystemInfo.swift +++ b/Sources/Entities/PublicSystemInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct PublicSystemInfo: Codable, Identifiable { +public struct PublicSystemInfo: Codable, Hashable, Identifiable { /// Gets or sets the id. public var id: String? /// Gets or sets the local address. diff --git a/Sources/Entities/QueryFilters.swift b/Sources/Entities/QueryFilters.swift index 211d42140..13e8c75e5 100644 --- a/Sources/Entities/QueryFilters.swift +++ b/Sources/Entities/QueryFilters.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct QueryFilters: Codable { +public struct QueryFilters: Codable, Hashable { public var genres: [NameGuidPair]? public var tags: [String]? diff --git a/Sources/Entities/QueryFiltersLegacy.swift b/Sources/Entities/QueryFiltersLegacy.swift index db9d4d3af..dfd83c33b 100644 --- a/Sources/Entities/QueryFiltersLegacy.swift +++ b/Sources/Entities/QueryFiltersLegacy.swift @@ -3,18 +3,18 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct QueryFiltersLegacy: Codable { +public struct QueryFiltersLegacy: Codable, Hashable { public var genres: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? - public init(genres: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, years: [Int32]? = nil) { + public init(genres: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, years: [Int]? = nil) { self.genres = genres self.officialRatings = officialRatings self.tags = tags @@ -26,7 +26,7 @@ public struct QueryFiltersLegacy: Codable { self.genres = try values.decodeIfPresent([String].self, forKey: "Genres") self.officialRatings = try values.decodeIfPresent([String].self, forKey: "OfficialRatings") self.tags = try values.decodeIfPresent([String].self, forKey: "Tags") - self.years = try values.decodeIfPresent([Int32].self, forKey: "Years") + self.years = try values.decodeIfPresent([Int].self, forKey: "Years") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/QueueItem.swift b/Sources/Entities/QueueItem.swift index a118716e5..c0fc652c7 100644 --- a/Sources/Entities/QueueItem.swift +++ b/Sources/Entities/QueueItem.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct QueueItem: Codable, Identifiable { +public struct QueueItem: Codable, Hashable, Identifiable { public var id: String? public var playlistItemID: String? diff --git a/Sources/Entities/QueueRequestDto.swift b/Sources/Entities/QueueRequestDto.swift index efd57ddee..e302f4fb0 100644 --- a/Sources/Entities/QueueRequestDto.swift +++ b/Sources/Entities/QueueRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class QueueRequestDto. -public struct QueueRequestDto: Codable { +public struct QueueRequestDto: Codable, Hashable { /// Gets or sets the items to enqueue. public var itemIDs: [String]? /// Gets or sets the mode in which to add the new items. diff --git a/Sources/Entities/QuickConnectDto.swift b/Sources/Entities/QuickConnectDto.swift index 21143efa6..8784e6f80 100644 --- a/Sources/Entities/QuickConnectDto.swift +++ b/Sources/Entities/QuickConnectDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The quick connect request body. -public struct QuickConnectDto: Codable { +public struct QuickConnectDto: Codable, Hashable { /// Gets or sets the quick connect secret. public var secret: String diff --git a/Sources/Entities/QuickConnectResult.swift b/Sources/Entities/QuickConnectResult.swift index 7cfc7008d..ad4f7339d 100644 --- a/Sources/Entities/QuickConnectResult.swift +++ b/Sources/Entities/QuickConnectResult.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Stores the state of an quick connect request. -public struct QuickConnectResult: Codable { +public struct QuickConnectResult: Codable, Hashable { /// Gets the requesting app name. public var appName: String? /// Gets the requesting app version. diff --git a/Sources/Entities/RatingType.swift b/Sources/Entities/RatingType.swift index d7f36a120..6f5f992ee 100644 --- a/Sources/Entities/RatingType.swift +++ b/Sources/Entities/RatingType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/ReadyRequestDto.swift b/Sources/Entities/ReadyRequestDto.swift index 667fa5782..e30c2cbfc 100644 --- a/Sources/Entities/ReadyRequestDto.swift +++ b/Sources/Entities/ReadyRequestDto.swift @@ -3,23 +3,23 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ReadyRequest. -public struct ReadyRequestDto: Codable { +public struct ReadyRequestDto: Codable, Hashable { /// Gets or sets a value indicating whether the client playback is unpaused. public var isPlaying: Bool? /// Gets or sets the playlist item identifier of the playing item. public var playlistItemID: String? /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets when the request has been made by the client. public var when: Date? - public init(isPlaying: Bool? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, when: Date? = nil) { + public init(isPlaying: Bool? = nil, playlistItemID: String? = nil, positionTicks: Int? = nil, when: Date? = nil) { self.isPlaying = isPlaying self.playlistItemID = playlistItemID self.positionTicks = positionTicks @@ -30,7 +30,7 @@ public struct ReadyRequestDto: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.isPlaying = try values.decodeIfPresent(Bool.self, forKey: "IsPlaying") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.when = try values.decodeIfPresent(Date.self, forKey: "When") } diff --git a/Sources/Entities/RecommendationDto.swift b/Sources/Entities/RecommendationDto.swift index ffb88bb0b..b7a9c2b9b 100644 --- a/Sources/Entities/RecommendationDto.swift +++ b/Sources/Entities/RecommendationDto.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct RecommendationDto: Codable { +public struct RecommendationDto: Codable, Hashable { public var baselineItemName: String? public var categoryID: String? public var items: [BaseItemDto]? diff --git a/Sources/Entities/RecommendationType.swift b/Sources/Entities/RecommendationType.swift index 3eefd399e..46ddba66b 100644 --- a/Sources/Entities/RecommendationType.swift +++ b/Sources/Entities/RecommendationType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/RecordingStatus.swift b/Sources/Entities/RecordingStatus.swift index d5e7f7f37..90a21f385 100644 --- a/Sources/Entities/RecordingStatus.swift +++ b/Sources/Entities/RecordingStatus.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/RemoteImageInfo.swift b/Sources/Entities/RemoteImageInfo.swift index 68cec3b00..6f59bb7c4 100644 --- a/Sources/Entities/RemoteImageInfo.swift +++ b/Sources/Entities/RemoteImageInfo.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class RemoteImageInfo. -public struct RemoteImageInfo: Codable { +public struct RemoteImageInfo: Codable, Hashable { /// Gets or sets the community rating. public var communityRating: Double? /// Gets or sets the height. - public var height: Int32? + public var height: Int? /// Gets or sets the language. public var language: String? /// Gets or sets the name of the provider. @@ -27,21 +27,21 @@ public struct RemoteImageInfo: Codable { /// Gets or sets the URL. public var url: String? /// Gets or sets the vote count. - public var voteCount: Int32? + public var voteCount: Int? /// Gets or sets the width. - public var width: Int32? + public var width: Int? public init( communityRating: Double? = nil, - height: Int32? = nil, + height: Int? = nil, language: String? = nil, providerName: String? = nil, ratingType: RatingType? = nil, thumbnailURL: String? = nil, type: ImageType? = nil, url: String? = nil, - voteCount: Int32? = nil, - width: Int32? = nil + voteCount: Int? = nil, + width: Int? = nil ) { self.communityRating = communityRating self.height = height @@ -58,15 +58,15 @@ public struct RemoteImageInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.communityRating = try values.decodeIfPresent(Double.self, forKey: "CommunityRating") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") self.language = try values.decodeIfPresent(String.self, forKey: "Language") self.providerName = try values.decodeIfPresent(String.self, forKey: "ProviderName") self.ratingType = try values.decodeIfPresent(RatingType.self, forKey: "RatingType") self.thumbnailURL = try values.decodeIfPresent(String.self, forKey: "ThumbnailUrl") self.type = try values.decodeIfPresent(ImageType.self, forKey: "Type") self.url = try values.decodeIfPresent(String.self, forKey: "Url") - self.voteCount = try values.decodeIfPresent(Int32.self, forKey: "VoteCount") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.voteCount = try values.decodeIfPresent(Int.self, forKey: "VoteCount") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/RemoteImageResult.swift b/Sources/Entities/RemoteImageResult.swift index ee5047d0f..74e4ead14 100644 --- a/Sources/Entities/RemoteImageResult.swift +++ b/Sources/Entities/RemoteImageResult.swift @@ -3,21 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class RemoteImageResult. -public struct RemoteImageResult: Codable { +public struct RemoteImageResult: Codable, Hashable { /// Gets or sets the images. public var images: [RemoteImageInfo]? /// Gets or sets the providers. public var providers: [String]? /// Gets or sets the total record count. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(images: [RemoteImageInfo]? = nil, providers: [String]? = nil, totalRecordCount: Int32? = nil) { + public init(images: [RemoteImageInfo]? = nil, providers: [String]? = nil, totalRecordCount: Int? = nil) { self.images = images self.providers = providers self.totalRecordCount = totalRecordCount @@ -27,7 +27,7 @@ public struct RemoteImageResult: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.images = try values.decodeIfPresent([RemoteImageInfo].self, forKey: "Images") self.providers = try values.decodeIfPresent([String].self, forKey: "Providers") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/RemoteSearchResult.swift b/Sources/Entities/RemoteSearchResult.swift index 8fb5c5587..521da1966 100644 --- a/Sources/Entities/RemoteSearchResult.swift +++ b/Sources/Entities/RemoteSearchResult.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -12,30 +12,29 @@ public final class RemoteSearchResult: Codable { public let albumArtist: RemoteSearchResult? public let artists: [RemoteSearchResult]? public let imageURL: String? - public let indexNumber: Int32? - public let indexNumberEnd: Int32? + public let indexNumber: Int? + public let indexNumberEnd: Int? /// Gets or sets the name. public let name: String? public let overview: String? - public let parentIndexNumber: Int32? + public let parentIndexNumber: Int? public let premiereDate: Date? /// Gets or sets the year. - public let productionYear: Int32? + public let productionYear: Int? /// Gets or sets the provider ids. public let providerIDs: [String: String]? public let searchProviderName: String? - public init( albumArtist: RemoteSearchResult? = nil, artists: [RemoteSearchResult]? = nil, imageURL: String? = nil, - indexNumber: Int32? = nil, - indexNumberEnd: Int32? = nil, + indexNumber: Int? = nil, + indexNumberEnd: Int? = nil, name: String? = nil, overview: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, premiereDate: Date? = nil, - productionYear: Int32? = nil, + productionYear: Int? = nil, providerIDs: [String: String]? = nil, searchProviderName: String? = nil ) { @@ -58,13 +57,13 @@ public final class RemoteSearchResult: Codable { self.albumArtist = try values.decodeIfPresent(RemoteSearchResult.self, forKey: "AlbumArtist") self.artists = try values.decodeIfPresent([RemoteSearchResult].self, forKey: "Artists") self.imageURL = try values.decodeIfPresent(String.self, forKey: "ImageUrl") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") - self.indexNumberEnd = try values.decodeIfPresent(Int32.self, forKey: "IndexNumberEnd") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") + self.indexNumberEnd = try values.decodeIfPresent(Int.self, forKey: "IndexNumberEnd") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.overview = try values.decodeIfPresent(String.self, forKey: "Overview") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") - self.productionYear = try values.decodeIfPresent(Int32.self, forKey: "ProductionYear") + self.productionYear = try values.decodeIfPresent(Int.self, forKey: "ProductionYear") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") self.searchProviderName = try values.decodeIfPresent(String.self, forKey: "SearchProviderName") } diff --git a/Sources/Entities/RemoteSubtitleInfo.swift b/Sources/Entities/RemoteSubtitleInfo.swift index abf41e388..531b50581 100644 --- a/Sources/Entities/RemoteSubtitleInfo.swift +++ b/Sources/Entities/RemoteSubtitleInfo.swift @@ -3,17 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct RemoteSubtitleInfo: Codable, Identifiable { +public struct RemoteSubtitleInfo: Codable, Hashable, Identifiable { public var author: String? public var comment: String? public var communityRating: Float? public var dateCreated: Date? - public var downloadCount: Int32? + public var downloadCount: Int? public var format: String? public var id: String? public var isHashMatch: Bool? @@ -26,7 +26,7 @@ public struct RemoteSubtitleInfo: Codable, Identifiable { comment: String? = nil, communityRating: Float? = nil, dateCreated: Date? = nil, - downloadCount: Int32? = nil, + downloadCount: Int? = nil, format: String? = nil, id: String? = nil, isHashMatch: Bool? = nil, @@ -53,7 +53,7 @@ public struct RemoteSubtitleInfo: Codable, Identifiable { self.comment = try values.decodeIfPresent(String.self, forKey: "Comment") self.communityRating = try values.decodeIfPresent(Float.self, forKey: "CommunityRating") self.dateCreated = try values.decodeIfPresent(Date.self, forKey: "DateCreated") - self.downloadCount = try values.decodeIfPresent(Int32.self, forKey: "DownloadCount") + self.downloadCount = try values.decodeIfPresent(Int.self, forKey: "DownloadCount") self.format = try values.decodeIfPresent(String.self, forKey: "Format") self.id = try values.decodeIfPresent(String.self, forKey: "Id") self.isHashMatch = try values.decodeIfPresent(Bool.self, forKey: "IsHashMatch") diff --git a/Sources/Entities/RemoveFromPlaylistRequestDto.swift b/Sources/Entities/RemoveFromPlaylistRequestDto.swift index 8deb1f823..02f32abab 100644 --- a/Sources/Entities/RemoveFromPlaylistRequestDto.swift +++ b/Sources/Entities/RemoveFromPlaylistRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class RemoveFromPlaylistRequestDto. -public struct RemoveFromPlaylistRequestDto: Codable { +public struct RemoveFromPlaylistRequestDto: Codable, Hashable { /// Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. public var isClearPlayingItem: Bool? /// Gets or sets a value indicating whether the entire playlist should be cleared. diff --git a/Sources/Entities/RepeatMode.swift b/Sources/Entities/RepeatMode.swift index c028259e7..a78d08b32 100644 --- a/Sources/Entities/RepeatMode.swift +++ b/Sources/Entities/RepeatMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/RepositoryInfo.swift b/Sources/Entities/RepositoryInfo.swift index f0bc89221..b1e52d074 100644 --- a/Sources/Entities/RepositoryInfo.swift +++ b/Sources/Entities/RepositoryInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class RepositoryInfo. -public struct RepositoryInfo: Codable { +public struct RepositoryInfo: Codable, Hashable { /// Gets or sets a value indicating whether the repository is enabled. public var isEnabled: Bool? /// Gets or sets the name. diff --git a/Sources/Entities/ResponseProfile.swift b/Sources/Entities/ResponseProfile.swift index d6d3caa47..f4af3d55c 100644 --- a/Sources/Entities/ResponseProfile.swift +++ b/Sources/Entities/ResponseProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct ResponseProfile: Codable { +public struct ResponseProfile: Codable, Hashable { public var audioCodec: String? public var conditions: [ProfileCondition]? public var container: String? diff --git a/Sources/Entities/ScrollDirection.swift b/Sources/Entities/ScrollDirection.swift index eea8bc94b..1309b760c 100644 --- a/Sources/Entities/ScrollDirection.swift +++ b/Sources/Entities/ScrollDirection.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SearchHint.swift b/Sources/Entities/SearchHint.swift index f09feef90..34b12f030 100644 --- a/Sources/Entities/SearchHint.swift +++ b/Sources/Entities/SearchHint.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SearchHintResult. -public struct SearchHint: Codable, Identifiable { +public struct SearchHint: Codable, Hashable, Identifiable { /// Gets or sets the album. public var album: String? /// Gets or sets the album artist. @@ -27,10 +27,10 @@ public struct SearchHint: Codable, Identifiable { public var channelName: String? public var endDate: Date? /// Gets or sets the episode count. - public var episodeCount: Int32? + public var episodeCount: Int? public var id: String? /// Gets or sets the index number. - public var indexNumber: Int32? + public var indexNumber: Int? public var isFolder: Bool? /// Gets or sets the item id. public var itemID: String? @@ -41,19 +41,19 @@ public struct SearchHint: Codable, Identifiable { /// Gets or sets the name. public var name: String? /// Gets or sets the parent index number. - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the primary image aspect ratio. public var primaryImageAspectRatio: Double? /// Gets or sets the image tag. public var primaryImageTag: String? /// Gets or sets the production year. - public var productionYear: Int32? + public var productionYear: Int? /// Gets or sets the run time ticks. - public var runTimeTicks: Int64? + public var runTimeTicks: Int? /// Gets or sets the series. public var series: String? /// Gets or sets the song count. - public var songCount: Int32? + public var songCount: Int? public var startDate: Date? public var status: String? /// Gets or sets the thumb image item identifier. @@ -73,21 +73,21 @@ public struct SearchHint: Codable, Identifiable { channelID: String? = nil, channelName: String? = nil, endDate: Date? = nil, - episodeCount: Int32? = nil, + episodeCount: Int? = nil, id: String? = nil, - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isFolder: Bool? = nil, itemID: String? = nil, matchedTerm: String? = nil, mediaType: String? = nil, name: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, primaryImageAspectRatio: Double? = nil, primaryImageTag: String? = nil, - productionYear: Int32? = nil, - runTimeTicks: Int64? = nil, + productionYear: Int? = nil, + runTimeTicks: Int? = nil, series: String? = nil, - songCount: Int32? = nil, + songCount: Int? = nil, startDate: Date? = nil, status: String? = nil, thumbImageItemID: String? = nil, @@ -136,21 +136,21 @@ public struct SearchHint: Codable, Identifiable { self.channelID = try values.decodeIfPresent(String.self, forKey: "ChannelId") self.channelName = try values.decodeIfPresent(String.self, forKey: "ChannelName") self.endDate = try values.decodeIfPresent(Date.self, forKey: "EndDate") - self.episodeCount = try values.decodeIfPresent(Int32.self, forKey: "EpisodeCount") + self.episodeCount = try values.decodeIfPresent(Int.self, forKey: "EpisodeCount") self.id = try values.decodeIfPresent(String.self, forKey: "Id") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isFolder = try values.decodeIfPresent(Bool.self, forKey: "IsFolder") self.itemID = try values.decodeIfPresent(String.self, forKey: "ItemId") self.matchedTerm = try values.decodeIfPresent(String.self, forKey: "MatchedTerm") self.mediaType = try values.decodeIfPresent(String.self, forKey: "MediaType") self.name = try values.decodeIfPresent(String.self, forKey: "Name") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.primaryImageAspectRatio = try values.decodeIfPresent(Double.self, forKey: "PrimaryImageAspectRatio") self.primaryImageTag = try values.decodeIfPresent(String.self, forKey: "PrimaryImageTag") - self.productionYear = try values.decodeIfPresent(Int32.self, forKey: "ProductionYear") - self.runTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "RunTimeTicks") + self.productionYear = try values.decodeIfPresent(Int.self, forKey: "ProductionYear") + self.runTimeTicks = try values.decodeIfPresent(Int.self, forKey: "RunTimeTicks") self.series = try values.decodeIfPresent(String.self, forKey: "Series") - self.songCount = try values.decodeIfPresent(Int32.self, forKey: "SongCount") + self.songCount = try values.decodeIfPresent(Int.self, forKey: "SongCount") self.startDate = try values.decodeIfPresent(Date.self, forKey: "StartDate") self.status = try values.decodeIfPresent(String.self, forKey: "Status") self.thumbImageItemID = try values.decodeIfPresent(String.self, forKey: "ThumbImageItemId") diff --git a/Sources/Entities/SearchHintResult.swift b/Sources/Entities/SearchHintResult.swift index ab4eddc7a..4c4455069 100644 --- a/Sources/Entities/SearchHintResult.swift +++ b/Sources/Entities/SearchHintResult.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SearchHintResult. -public struct SearchHintResult: Codable { +public struct SearchHintResult: Codable, Hashable { /// Gets the search hints. public var searchHints: [SearchHint]? /// Gets the total record count. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(searchHints: [SearchHint]? = nil, totalRecordCount: Int32? = nil) { + public init(searchHints: [SearchHint]? = nil, totalRecordCount: Int? = nil) { self.searchHints = searchHints self.totalRecordCount = totalRecordCount } @@ -23,7 +23,7 @@ public struct SearchHintResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.searchHints = try values.decodeIfPresent([SearchHint].self, forKey: "SearchHints") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/SeekRequestDto.swift b/Sources/Entities/SeekRequestDto.swift index 3b09093e8..2729b11b4 100644 --- a/Sources/Entities/SeekRequestDto.swift +++ b/Sources/Entities/SeekRequestDto.swift @@ -3,23 +3,23 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SeekRequestDto. -public struct SeekRequestDto: Codable { +public struct SeekRequestDto: Codable, Hashable { /// Gets or sets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? - public init(positionTicks: Int64? = nil) { + public init(positionTicks: Int? = nil) { self.positionTicks = positionTicks } public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/SendCommand.swift b/Sources/Entities/SendCommand.swift index 6a6f2465b..875413509 100644 --- a/Sources/Entities/SendCommand.swift +++ b/Sources/Entities/SendCommand.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SendCommand. -public struct SendCommand: Codable { +public struct SendCommand: Codable, Hashable { /// Gets the command. public var command: SendCommandType? /// Gets the UTC time when this command has been emitted. @@ -19,7 +19,7 @@ public struct SendCommand: Codable { /// Gets the playlist identifier of the playing item. public var playlistItemID: String? /// Gets the position ticks. - public var positionTicks: Int64? + public var positionTicks: Int? /// Gets or sets the UTC time when to execute the command. public var when: Date? @@ -28,7 +28,7 @@ public struct SendCommand: Codable { emittedAt: Date? = nil, groupID: String? = nil, playlistItemID: String? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, when: Date? = nil ) { self.command = command @@ -45,7 +45,7 @@ public struct SendCommand: Codable { self.emittedAt = try values.decodeIfPresent(Date.self, forKey: "EmittedAt") self.groupID = try values.decodeIfPresent(String.self, forKey: "GroupId") self.playlistItemID = try values.decodeIfPresent(String.self, forKey: "PlaylistItemId") - self.positionTicks = try values.decodeIfPresent(Int64.self, forKey: "PositionTicks") + self.positionTicks = try values.decodeIfPresent(Int.self, forKey: "PositionTicks") self.when = try values.decodeIfPresent(Date.self, forKey: "When") } diff --git a/Sources/Entities/SendCommandType.swift b/Sources/Entities/SendCommandType.swift index ae9ee9127..aa26d7ee2 100644 --- a/Sources/Entities/SendCommandType.swift +++ b/Sources/Entities/SendCommandType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SendToUserType.swift b/Sources/Entities/SendToUserType.swift index ccded2b6d..33603f488 100644 --- a/Sources/Entities/SendToUserType.swift +++ b/Sources/Entities/SendToUserType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SeriesInfo.swift b/Sources/Entities/SeriesInfo.swift index 73fbe1f01..ca2b05fae 100644 --- a/Sources/Entities/SeriesInfo.swift +++ b/Sources/Entities/SeriesInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SeriesInfo: Codable { - public var indexNumber: Int32? +public struct SeriesInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,27 +19,27 @@ public struct SeriesInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -56,17 +56,17 @@ public struct SeriesInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/SeriesInfoRemoteSearchQuery.swift b/Sources/Entities/SeriesInfoRemoteSearchQuery.swift index 403f9e0b7..809389cf8 100644 --- a/Sources/Entities/SeriesInfoRemoteSearchQuery.swift +++ b/Sources/Entities/SeriesInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SeriesInfoRemoteSearchQuery: Codable { +public struct SeriesInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/SeriesStatus.swift b/Sources/Entities/SeriesStatus.swift index c5e0994c7..7e80e3b96 100644 --- a/Sources/Entities/SeriesStatus.swift +++ b/Sources/Entities/SeriesStatus.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SeriesTimerInfoDto.swift b/Sources/Entities/SeriesTimerInfoDto.swift index d008e61e1..588a99d10 100644 --- a/Sources/Entities/SeriesTimerInfoDto.swift +++ b/Sources/Entities/SeriesTimerInfoDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SeriesTimerInfoDto. -public struct SeriesTimerInfoDto: Codable, Identifiable { +public struct SeriesTimerInfoDto: Codable, Hashable, Identifiable { /// Gets or sets the channel id of the recording. public var channelID: String? /// Gets or sets the channel name of the recording. @@ -36,7 +36,7 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { /// Gets or sets a value indicating whether this instance is pre padding required. public var isPrePaddingRequired: Bool? public var keepUntil: KeepUntil? - public var keepUpTo: Int32? + public var keepUpTo: Int? /// Gets or sets the name of the recording. public var name: String? /// Gets or sets the description of the recording. @@ -54,11 +54,11 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { /// Gets or sets the parent thumb item id. public var parentThumbItemID: String? /// Gets or sets the post padding seconds. - public var postPaddingSeconds: Int32? + public var postPaddingSeconds: Int? /// Gets or sets the pre padding seconds. - public var prePaddingSeconds: Int32? + public var prePaddingSeconds: Int? /// Gets or sets the priority. - public var priority: Int32? + public var priority: Int? /// Gets or sets the program identifier. public var programID: String? /// Gets or sets a value indicating whether [record any channel]. @@ -91,7 +91,7 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { isPostPaddingRequired: Bool? = nil, isPrePaddingRequired: Bool? = nil, keepUntil: KeepUntil? = nil, - keepUpTo: Int32? = nil, + keepUpTo: Int? = nil, name: String? = nil, overview: String? = nil, parentBackdropImageTags: [String]? = nil, @@ -100,9 +100,9 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { parentPrimaryImageTag: String? = nil, parentThumbImageTag: String? = nil, parentThumbItemID: String? = nil, - postPaddingSeconds: Int32? = nil, - prePaddingSeconds: Int32? = nil, - priority: Int32? = nil, + postPaddingSeconds: Int? = nil, + prePaddingSeconds: Int? = nil, + priority: Int? = nil, programID: String? = nil, isRecordAnyChannel: Bool? = nil, isRecordAnyTime: Bool? = nil, @@ -166,7 +166,7 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { self.isPostPaddingRequired = try values.decodeIfPresent(Bool.self, forKey: "IsPostPaddingRequired") self.isPrePaddingRequired = try values.decodeIfPresent(Bool.self, forKey: "IsPrePaddingRequired") self.keepUntil = try values.decodeIfPresent(KeepUntil.self, forKey: "KeepUntil") - self.keepUpTo = try values.decodeIfPresent(Int32.self, forKey: "KeepUpTo") + self.keepUpTo = try values.decodeIfPresent(Int.self, forKey: "KeepUpTo") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.overview = try values.decodeIfPresent(String.self, forKey: "Overview") self.parentBackdropImageTags = try values.decodeIfPresent([String].self, forKey: "ParentBackdropImageTags") @@ -175,9 +175,9 @@ public struct SeriesTimerInfoDto: Codable, Identifiable { self.parentPrimaryImageTag = try values.decodeIfPresent(String.self, forKey: "ParentPrimaryImageTag") self.parentThumbImageTag = try values.decodeIfPresent(String.self, forKey: "ParentThumbImageTag") self.parentThumbItemID = try values.decodeIfPresent(String.self, forKey: "ParentThumbItemId") - self.postPaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PostPaddingSeconds") - self.prePaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PrePaddingSeconds") - self.priority = try values.decodeIfPresent(Int32.self, forKey: "Priority") + self.postPaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PostPaddingSeconds") + self.prePaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PrePaddingSeconds") + self.priority = try values.decodeIfPresent(Int.self, forKey: "Priority") self.programID = try values.decodeIfPresent(String.self, forKey: "ProgramId") self.isRecordAnyChannel = try values.decodeIfPresent(Bool.self, forKey: "RecordAnyChannel") self.isRecordAnyTime = try values.decodeIfPresent(Bool.self, forKey: "RecordAnyTime") diff --git a/Sources/Entities/SeriesTimerInfoDtoQueryResult.swift b/Sources/Entities/SeriesTimerInfoDtoQueryResult.swift index 505532bdf..3952bbbd4 100644 --- a/Sources/Entities/SeriesTimerInfoDtoQueryResult.swift +++ b/Sources/Entities/SeriesTimerInfoDtoQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SeriesTimerInfoDtoQueryResult: Codable { +public struct SeriesTimerInfoDtoQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [SeriesTimerInfoDto]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [SeriesTimerInfoDto]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [SeriesTimerInfoDto]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct SeriesTimerInfoDtoQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([SeriesTimerInfoDto].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/ServerConfiguration.swift b/Sources/Entities/ServerConfiguration.swift index 993120fdf..d69247f4c 100644 --- a/Sources/Entities/ServerConfiguration.swift +++ b/Sources/Entities/ServerConfiguration.swift @@ -3,15 +3,15 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Represents the server configuration. -public struct ServerConfiguration: Codable { +public struct ServerConfiguration: Codable, Hashable { /// Gets or sets the number of days we should retain activity logs. - public var activityLogRetentionDays: Int32? + public var activityLogRetentionDays: Int? /// Gets or sets a value indicating whether clients should be allowed to upload logs. public var allowClientLogUpload: Bool? /// Gets or sets the cache path. @@ -32,7 +32,7 @@ public struct ServerConfiguration: Codable { public var enableNormalizedItemByNameIDs: Bool? /// Gets or sets a value indicating whether slow server responses should be logged as a warning. public var enableSlowResponseWarning: Bool? - public var imageExtractionTimeoutMs: Int32? + public var imageExtractionTimeoutMs: Int? /// Gets or sets the image saving convention. public var imageSavingConvention: ImageSavingConvention? /// Gets or sets a value indicating whether this instance is port authorized. @@ -40,21 +40,21 @@ public struct ServerConfiguration: Codable { /// Gets or sets a value indicating whether this instance is first run. public var isStartupWizardCompleted: Bool? /// Gets or sets the how many metadata refreshes can run concurrently. - public var libraryMetadataRefreshConcurrency: Int32? + public var libraryMetadataRefreshConcurrency: Int? /// Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed /// /// Some delay is necessary with some items because their creation is not atomic. It involves the creation of several /// /// different directories and files. - public var libraryMonitorDelay: Int32? + public var libraryMonitorDelay: Int? /// Gets or sets the how the library scan fans out. - public var libraryScanFanoutConcurrency: Int32? + public var libraryScanFanoutConcurrency: Int? /// Gets or sets the number of days we should retain log files. - public var logFileRetentionDays: Int32? + public var logFileRetentionDays: Int? /// Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - public var maxAudiobookResume: Int32? + public var maxAudiobookResume: Int? /// Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - public var maxResumePct: Int32? + public var maxResumePct: Int? /// Gets or sets the metadata country code. public var metadataCountryCode: String? public var metadataNetworkPath: String? @@ -62,11 +62,11 @@ public struct ServerConfiguration: Codable { /// Gets or sets the metadata path. public var metadataPath: String? /// Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. - public var minAudiobookResume: Int32? + public var minAudiobookResume: Int? /// Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. - public var minResumeDurationSeconds: Int32? + public var minResumeDurationSeconds: Int? /// Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. - public var minResumePct: Int32? + public var minResumePct: Int? public var pathSubstitutions: [PathSubstitution]? public var pluginRepositories: [RepositoryInfo]? /// Gets or sets the preferred metadata language. @@ -79,14 +79,14 @@ public struct ServerConfiguration: Codable { public var previousVersionStr: String? /// Gets or sets a value indicating whether quick connect is available for use on this server. public var isQuickConnectAvailable: Bool? - public var remoteClientBitrateLimit: Int32? + public var remoteClientBitrateLimit: Int? /// Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. public var isRemoveOldPlugins: Bool? public var isSaveMetadataHidden: Bool? public var serverName: String? public var isSkipDeserializationForBasicTypes: Bool? /// Gets or sets the threshold for the slow response time warning in ms. - public var slowResponseThresholdMs: Int64? + public var slowResponseThresholdMs: Int? /// Gets or sets characters to be removed from strings to create a sort name. public var sortRemoveCharacters: [String]? /// Gets or sets words to be removed from strings to create a sort name. @@ -96,7 +96,7 @@ public struct ServerConfiguration: Codable { public var uICulture: String? public init( - activityLogRetentionDays: Int32? = nil, + activityLogRetentionDays: Int? = nil, allowClientLogUpload: Bool? = nil, cachePath: String? = nil, codecsUsed: [String]? = nil, @@ -111,35 +111,35 @@ public struct ServerConfiguration: Codable { enableMetrics: Bool? = nil, enableNormalizedItemByNameIDs: Bool? = nil, enableSlowResponseWarning: Bool? = nil, - imageExtractionTimeoutMs: Int32? = nil, + imageExtractionTimeoutMs: Int? = nil, imageSavingConvention: ImageSavingConvention? = nil, isPortAuthorized: Bool? = nil, isStartupWizardCompleted: Bool? = nil, - libraryMetadataRefreshConcurrency: Int32? = nil, - libraryMonitorDelay: Int32? = nil, - libraryScanFanoutConcurrency: Int32? = nil, - logFileRetentionDays: Int32? = nil, - maxAudiobookResume: Int32? = nil, - maxResumePct: Int32? = nil, + libraryMetadataRefreshConcurrency: Int? = nil, + libraryMonitorDelay: Int? = nil, + libraryScanFanoutConcurrency: Int? = nil, + logFileRetentionDays: Int? = nil, + maxAudiobookResume: Int? = nil, + maxResumePct: Int? = nil, metadataCountryCode: String? = nil, metadataNetworkPath: String? = nil, metadataOptions: [MetadataOptions]? = nil, metadataPath: String? = nil, - minAudiobookResume: Int32? = nil, - minResumeDurationSeconds: Int32? = nil, - minResumePct: Int32? = nil, + minAudiobookResume: Int? = nil, + minResumeDurationSeconds: Int? = nil, + minResumePct: Int? = nil, pathSubstitutions: [PathSubstitution]? = nil, pluginRepositories: [RepositoryInfo]? = nil, preferredMetadataLanguage: String? = nil, previousVersion: String? = nil, previousVersionStr: String? = nil, isQuickConnectAvailable: Bool? = nil, - remoteClientBitrateLimit: Int32? = nil, + remoteClientBitrateLimit: Int? = nil, isRemoveOldPlugins: Bool? = nil, isSaveMetadataHidden: Bool? = nil, serverName: String? = nil, isSkipDeserializationForBasicTypes: Bool? = nil, - slowResponseThresholdMs: Int64? = nil, + slowResponseThresholdMs: Int? = nil, sortRemoveCharacters: [String]? = nil, sortRemoveWords: [String]? = nil, sortReplaceCharacters: [String]? = nil, @@ -197,7 +197,7 @@ public struct ServerConfiguration: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.activityLogRetentionDays = try values.decodeIfPresent(Int32.self, forKey: "ActivityLogRetentionDays") + self.activityLogRetentionDays = try values.decodeIfPresent(Int.self, forKey: "ActivityLogRetentionDays") self.allowClientLogUpload = try values.decodeIfPresent(Bool.self, forKey: "AllowClientLogUpload") self.cachePath = try values.decodeIfPresent(String.self, forKey: "CachePath") self.codecsUsed = try values.decodeIfPresent([String].self, forKey: "CodecsUsed") @@ -212,35 +212,35 @@ public struct ServerConfiguration: Codable { self.enableMetrics = try values.decodeIfPresent(Bool.self, forKey: "EnableMetrics") self.enableNormalizedItemByNameIDs = try values.decodeIfPresent(Bool.self, forKey: "EnableNormalizedItemByNameIds") self.enableSlowResponseWarning = try values.decodeIfPresent(Bool.self, forKey: "EnableSlowResponseWarning") - self.imageExtractionTimeoutMs = try values.decodeIfPresent(Int32.self, forKey: "ImageExtractionTimeoutMs") + self.imageExtractionTimeoutMs = try values.decodeIfPresent(Int.self, forKey: "ImageExtractionTimeoutMs") self.imageSavingConvention = try values.decodeIfPresent(ImageSavingConvention.self, forKey: "ImageSavingConvention") self.isPortAuthorized = try values.decodeIfPresent(Bool.self, forKey: "IsPortAuthorized") self.isStartupWizardCompleted = try values.decodeIfPresent(Bool.self, forKey: "IsStartupWizardCompleted") - self.libraryMetadataRefreshConcurrency = try values.decodeIfPresent(Int32.self, forKey: "LibraryMetadataRefreshConcurrency") - self.libraryMonitorDelay = try values.decodeIfPresent(Int32.self, forKey: "LibraryMonitorDelay") - self.libraryScanFanoutConcurrency = try values.decodeIfPresent(Int32.self, forKey: "LibraryScanFanoutConcurrency") - self.logFileRetentionDays = try values.decodeIfPresent(Int32.self, forKey: "LogFileRetentionDays") - self.maxAudiobookResume = try values.decodeIfPresent(Int32.self, forKey: "MaxAudiobookResume") - self.maxResumePct = try values.decodeIfPresent(Int32.self, forKey: "MaxResumePct") + self.libraryMetadataRefreshConcurrency = try values.decodeIfPresent(Int.self, forKey: "LibraryMetadataRefreshConcurrency") + self.libraryMonitorDelay = try values.decodeIfPresent(Int.self, forKey: "LibraryMonitorDelay") + self.libraryScanFanoutConcurrency = try values.decodeIfPresent(Int.self, forKey: "LibraryScanFanoutConcurrency") + self.logFileRetentionDays = try values.decodeIfPresent(Int.self, forKey: "LogFileRetentionDays") + self.maxAudiobookResume = try values.decodeIfPresent(Int.self, forKey: "MaxAudiobookResume") + self.maxResumePct = try values.decodeIfPresent(Int.self, forKey: "MaxResumePct") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataNetworkPath = try values.decodeIfPresent(String.self, forKey: "MetadataNetworkPath") self.metadataOptions = try values.decodeIfPresent([MetadataOptions].self, forKey: "MetadataOptions") self.metadataPath = try values.decodeIfPresent(String.self, forKey: "MetadataPath") - self.minAudiobookResume = try values.decodeIfPresent(Int32.self, forKey: "MinAudiobookResume") - self.minResumeDurationSeconds = try values.decodeIfPresent(Int32.self, forKey: "MinResumeDurationSeconds") - self.minResumePct = try values.decodeIfPresent(Int32.self, forKey: "MinResumePct") + self.minAudiobookResume = try values.decodeIfPresent(Int.self, forKey: "MinAudiobookResume") + self.minResumeDurationSeconds = try values.decodeIfPresent(Int.self, forKey: "MinResumeDurationSeconds") + self.minResumePct = try values.decodeIfPresent(Int.self, forKey: "MinResumePct") self.pathSubstitutions = try values.decodeIfPresent([PathSubstitution].self, forKey: "PathSubstitutions") self.pluginRepositories = try values.decodeIfPresent([RepositoryInfo].self, forKey: "PluginRepositories") self.preferredMetadataLanguage = try values.decodeIfPresent(String.self, forKey: "PreferredMetadataLanguage") self.previousVersion = try values.decodeIfPresent(String.self, forKey: "PreviousVersion") self.previousVersionStr = try values.decodeIfPresent(String.self, forKey: "PreviousVersionStr") self.isQuickConnectAvailable = try values.decodeIfPresent(Bool.self, forKey: "QuickConnectAvailable") - self.remoteClientBitrateLimit = try values.decodeIfPresent(Int32.self, forKey: "RemoteClientBitrateLimit") + self.remoteClientBitrateLimit = try values.decodeIfPresent(Int.self, forKey: "RemoteClientBitrateLimit") self.isRemoveOldPlugins = try values.decodeIfPresent(Bool.self, forKey: "RemoveOldPlugins") self.isSaveMetadataHidden = try values.decodeIfPresent(Bool.self, forKey: "SaveMetadataHidden") self.serverName = try values.decodeIfPresent(String.self, forKey: "ServerName") self.isSkipDeserializationForBasicTypes = try values.decodeIfPresent(Bool.self, forKey: "SkipDeserializationForBasicTypes") - self.slowResponseThresholdMs = try values.decodeIfPresent(Int64.self, forKey: "SlowResponseThresholdMs") + self.slowResponseThresholdMs = try values.decodeIfPresent(Int.self, forKey: "SlowResponseThresholdMs") self.sortRemoveCharacters = try values.decodeIfPresent([String].self, forKey: "SortRemoveCharacters") self.sortRemoveWords = try values.decodeIfPresent([String].self, forKey: "SortRemoveWords") self.sortReplaceCharacters = try values.decodeIfPresent([String].self, forKey: "SortReplaceCharacters") diff --git a/Sources/Entities/ServerDiscoveryInfo.swift b/Sources/Entities/ServerDiscoveryInfo.swift index 1cf97fb10..741142190 100644 --- a/Sources/Entities/ServerDiscoveryInfo.swift +++ b/Sources/Entities/ServerDiscoveryInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The server discovery info model. -public struct ServerDiscoveryInfo: Codable, Identifiable { +public struct ServerDiscoveryInfo: Codable, Hashable, Identifiable { /// Gets the address. public var address: String? /// Gets the endpoint address. diff --git a/Sources/Entities/SessionInfo.swift b/Sources/Entities/SessionInfo.swift index b7aef031c..2656f7dfd 100644 --- a/Sources/Entities/SessionInfo.swift +++ b/Sources/Entities/SessionInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SessionInfo. -public struct SessionInfo: Codable, Identifiable { +public struct SessionInfo: Codable, Hashable, Identifiable { public var additionalUsers: [SessionUserInfo]? /// Gets or sets the application version. public var applicationVersion: String? @@ -33,7 +33,9 @@ public struct SessionInfo: Codable, Identifiable { public var lastActivityDate: Date? /// Gets or sets the last playback check in. public var lastPlaybackCheckIn: Date? - /// Gets or sets the now playing item. + /// This is strictly used as a data transfer object from the api layer. + /// + /// This holds information about a BaseItem in a format that is convenient for the client. public var nowPlayingItem: BaseItemDto? public var nowPlayingQueue: [QueueItem]? public var nowPlayingQueueFullItems: [BaseItemDto]? diff --git a/Sources/Entities/SessionMessageType.swift b/Sources/Entities/SessionMessageType.swift index 93e073516..9a94a15ef 100644 --- a/Sources/Entities/SessionMessageType.swift +++ b/Sources/Entities/SessionMessageType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SessionUserInfo.swift b/Sources/Entities/SessionUserInfo.swift index a61ea5601..b5447bb0d 100644 --- a/Sources/Entities/SessionUserInfo.swift +++ b/Sources/Entities/SessionUserInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SessionUserInfo. -public struct SessionUserInfo: Codable { +public struct SessionUserInfo: Codable, Hashable { /// Gets or sets the user identifier. public var userID: String? /// Gets or sets the name of the user. diff --git a/Sources/Entities/SetChannelMappingDto.swift b/Sources/Entities/SetChannelMappingDto.swift index df07001b2..783cbfcb8 100644 --- a/Sources/Entities/SetChannelMappingDto.swift +++ b/Sources/Entities/SetChannelMappingDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Set channel mapping dto. -public struct SetChannelMappingDto: Codable { +public struct SetChannelMappingDto: Codable, Hashable { /// Gets or sets the provider channel id. public var providerChannelID: String /// Gets or sets the provider id. diff --git a/Sources/Entities/SetPlaylistItemRequestDto.swift b/Sources/Entities/SetPlaylistItemRequestDto.swift index 7cd6502e4..ad10ebf53 100644 --- a/Sources/Entities/SetPlaylistItemRequestDto.swift +++ b/Sources/Entities/SetPlaylistItemRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SetPlaylistItemRequestDto. -public struct SetPlaylistItemRequestDto: Codable { +public struct SetPlaylistItemRequestDto: Codable, Hashable { /// Gets or sets the playlist identifier of the playing item. public var playlistItemID: String? diff --git a/Sources/Entities/SetRepeatModeRequestDto.swift b/Sources/Entities/SetRepeatModeRequestDto.swift index c3e851d28..da442936b 100644 --- a/Sources/Entities/SetRepeatModeRequestDto.swift +++ b/Sources/Entities/SetRepeatModeRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SetRepeatModeRequestDto. -public struct SetRepeatModeRequestDto: Codable { +public struct SetRepeatModeRequestDto: Codable, Hashable { /// Gets or sets the repeat mode. public var mode: GroupRepeatMode? diff --git a/Sources/Entities/SetShuffleModeRequestDto.swift b/Sources/Entities/SetShuffleModeRequestDto.swift index 1802363ee..580e6e756 100644 --- a/Sources/Entities/SetShuffleModeRequestDto.swift +++ b/Sources/Entities/SetShuffleModeRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SetShuffleModeRequestDto. -public struct SetShuffleModeRequestDto: Codable { +public struct SetShuffleModeRequestDto: Codable, Hashable { /// Gets or sets the shuffle mode. public var mode: GroupShuffleMode? diff --git a/Sources/Entities/SongInfo.swift b/Sources/Entities/SongInfo.swift index bff0f9be2..4fa63a8f1 100644 --- a/Sources/Entities/SongInfo.swift +++ b/Sources/Entities/SongInfo.swift @@ -3,16 +3,16 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SongInfo: Codable { +public struct SongInfo: Codable, Hashable { public var album: String? public var albumArtists: [String]? public var artists: [String]? - public var indexNumber: Int32? + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -22,30 +22,30 @@ public struct SongInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( album: String? = nil, albumArtists: [String]? = nil, artists: [String]? = nil, - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.album = album self.albumArtists = albumArtists @@ -68,17 +68,17 @@ public struct SongInfo: Codable { self.album = try values.decodeIfPresent(String.self, forKey: "Album") self.albumArtists = try values.decodeIfPresent([String].self, forKey: "AlbumArtists") self.artists = try values.decodeIfPresent([String].self, forKey: "Artists") - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/SortOrder.swift b/Sources/Entities/SortOrder.swift index 3054c786a..7a4446d08 100644 --- a/Sources/Entities/SortOrder.swift +++ b/Sources/Entities/SortOrder.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SpecialFeatureType.swift b/Sources/Entities/SpecialFeatureType.swift new file mode 100644 index 000000000..53db065e2 --- /dev/null +++ b/Sources/Entities/SpecialFeatureType.swift @@ -0,0 +1,22 @@ +// +// jellyfin-sdk-swift is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, you can obtain one at https://mozilla.org/MPL/2.0/. +// +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors +// + +import Foundation + +public enum SpecialFeatureType: String, Codable, CaseIterable { + case unknown = "Unknown" + case clip = "Clip" + case trailer = "Trailer" + case behindTheScenes = "BehindTheScenes" + case deletedScene = "DeletedScene" + case interview = "Interview" + case scene = "Scene" + case sample = "Sample" + case themeSong = "ThemeSong" + case themeVideo = "ThemeVideo" +} diff --git a/Sources/Entities/SpecialViewOptionDto.swift b/Sources/Entities/SpecialViewOptionDto.swift index 1bb3bfa5f..07928433d 100644 --- a/Sources/Entities/SpecialViewOptionDto.swift +++ b/Sources/Entities/SpecialViewOptionDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Special view option dto. -public struct SpecialViewOptionDto: Codable, Identifiable { +public struct SpecialViewOptionDto: Codable, Hashable, Identifiable { /// Gets or sets view option id. public var id: String? /// Gets or sets view option name. diff --git a/Sources/Entities/StartupConfigurationDto.swift b/Sources/Entities/StartupConfigurationDto.swift index 813ccbe03..dc157b8a4 100644 --- a/Sources/Entities/StartupConfigurationDto.swift +++ b/Sources/Entities/StartupConfigurationDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The startup configuration DTO. -public struct StartupConfigurationDto: Codable { +public struct StartupConfigurationDto: Codable, Hashable { /// Gets or sets the metadata country code. public var metadataCountryCode: String? /// Gets or sets the preferred language for the metadata. diff --git a/Sources/Entities/StartupRemoteAccessDto.swift b/Sources/Entities/StartupRemoteAccessDto.swift index 39694df90..e7e198831 100644 --- a/Sources/Entities/StartupRemoteAccessDto.swift +++ b/Sources/Entities/StartupRemoteAccessDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Startup remote access dto. -public struct StartupRemoteAccessDto: Codable { +public struct StartupRemoteAccessDto: Codable, Hashable { /// Gets or sets a value indicating whether enable automatic port mapping. public var enableAutomaticPortMapping: Bool /// Gets or sets a value indicating whether enable remote access. diff --git a/Sources/Entities/StartupUserDto.swift b/Sources/Entities/StartupUserDto.swift index 660234f20..ed7797f44 100644 --- a/Sources/Entities/StartupUserDto.swift +++ b/Sources/Entities/StartupUserDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The startup user DTO. -public struct StartupUserDto: Codable { +public struct StartupUserDto: Codable, Hashable { /// Gets or sets the username. public var name: String? /// Gets or sets the user's password. diff --git a/Sources/Entities/SubtitleDeliveryMethod.swift b/Sources/Entities/SubtitleDeliveryMethod.swift index b0d263916..d2fab825b 100644 --- a/Sources/Entities/SubtitleDeliveryMethod.swift +++ b/Sources/Entities/SubtitleDeliveryMethod.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SubtitleOptions.swift b/Sources/Entities/SubtitleOptions.swift index 675f2988f..420615967 100644 --- a/Sources/Entities/SubtitleOptions.swift +++ b/Sources/Entities/SubtitleOptions.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SubtitleOptions: Codable { +public struct SubtitleOptions: Codable, Hashable { public var isDownloadEpisodeSubtitles: Bool? public var downloadLanguages: [String]? public var isDownloadMovieSubtitles: Bool? diff --git a/Sources/Entities/SubtitlePlaybackMode.swift b/Sources/Entities/SubtitlePlaybackMode.swift index 6e41b25fc..314754783 100644 --- a/Sources/Entities/SubtitlePlaybackMode.swift +++ b/Sources/Entities/SubtitlePlaybackMode.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SubtitleProfile.swift b/Sources/Entities/SubtitleProfile.swift index e13cd527a..418013f06 100644 --- a/Sources/Entities/SubtitleProfile.swift +++ b/Sources/Entities/SubtitleProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct SubtitleProfile: Codable { +public struct SubtitleProfile: Codable, Hashable { public var container: String? public var didlMode: String? public var format: String? diff --git a/Sources/Entities/SyncPlayUserAccessType.swift b/Sources/Entities/SyncPlayUserAccessType.swift index 15637a31b..1ec30366f 100644 --- a/Sources/Entities/SyncPlayUserAccessType.swift +++ b/Sources/Entities/SyncPlayUserAccessType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/SystemInfo.swift b/Sources/Entities/SystemInfo.swift index b6e25b692..9257178ab 100644 --- a/Sources/Entities/SystemInfo.swift +++ b/Sources/Entities/SystemInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class SystemInfo. -public struct SystemInfo: Codable, Identifiable { +public struct SystemInfo: Codable, Hashable, Identifiable { /// Gets or sets the cache path. public var cachePath: String? public var canLaunchWebBrowser: Bool? @@ -62,7 +62,7 @@ public struct SystemInfo: Codable, Identifiable { /// Gets or sets the web UI resources path. public var webPath: String? /// Gets or sets the web socket port number. - public var webSocketPortNumber: Int32? + public var webSocketPortNumber: Int? public init( cachePath: String? = nil, @@ -90,7 +90,7 @@ public struct SystemInfo: Codable, Identifiable { transcodingTempPath: String? = nil, version: String? = nil, webPath: String? = nil, - webSocketPortNumber: Int32? = nil + webSocketPortNumber: Int? = nil ) { self.cachePath = cachePath self.canLaunchWebBrowser = canLaunchWebBrowser @@ -147,7 +147,7 @@ public struct SystemInfo: Codable, Identifiable { self.transcodingTempPath = try values.decodeIfPresent(String.self, forKey: "TranscodingTempPath") self.version = try values.decodeIfPresent(String.self, forKey: "Version") self.webPath = try values.decodeIfPresent(String.self, forKey: "WebPath") - self.webSocketPortNumber = try values.decodeIfPresent(Int32.self, forKey: "WebSocketPortNumber") + self.webSocketPortNumber = try values.decodeIfPresent(Int.self, forKey: "WebSocketPortNumber") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/TaskCompletionStatus.swift b/Sources/Entities/TaskCompletionStatus.swift index 459c994aa..007818326 100644 --- a/Sources/Entities/TaskCompletionStatus.swift +++ b/Sources/Entities/TaskCompletionStatus.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/TaskInfo.swift b/Sources/Entities/TaskInfo.swift index c31dea146..936173145 100644 --- a/Sources/Entities/TaskInfo.swift +++ b/Sources/Entities/TaskInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class TaskInfo. -public struct TaskInfo: Codable, Identifiable { +public struct TaskInfo: Codable, Hashable, Identifiable { /// Gets or sets the category. public var category: String? /// Gets or sets the progress. diff --git a/Sources/Entities/TaskResult.swift b/Sources/Entities/TaskResult.swift index 2c816ef53..333c49469 100644 --- a/Sources/Entities/TaskResult.swift +++ b/Sources/Entities/TaskResult.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class TaskExecutionInfo. -public struct TaskResult: Codable, Identifiable { +public struct TaskResult: Codable, Hashable, Identifiable { /// Gets or sets the end time UTC. public var endTimeUtc: Date? /// Gets or sets the error message. diff --git a/Sources/Entities/TaskState.swift b/Sources/Entities/TaskState.swift index 2d7efe8ee..fe8b158b0 100644 --- a/Sources/Entities/TaskState.swift +++ b/Sources/Entities/TaskState.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/TaskTriggerInfo.swift b/Sources/Entities/TaskTriggerInfo.swift index 9c5e69a25..ec31a0f84 100644 --- a/Sources/Entities/TaskTriggerInfo.swift +++ b/Sources/Entities/TaskTriggerInfo.swift @@ -3,29 +3,29 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class TaskTriggerInfo. -public struct TaskTriggerInfo: Codable { +public struct TaskTriggerInfo: Codable, Hashable { /// Gets or sets the day of week. public var dayOfWeek: DayOfWeek? /// Gets or sets the interval. - public var intervalTicks: Int64? + public var intervalTicks: Int? /// Gets or sets the maximum runtime ticks. - public var maxRuntimeTicks: Int64? + public var maxRuntimeTicks: Int? /// Gets or sets the time of day. - public var timeOfDayTicks: Int64? + public var timeOfDayTicks: Int? /// Gets or sets the type. public var type: String? public init( dayOfWeek: DayOfWeek? = nil, - intervalTicks: Int64? = nil, - maxRuntimeTicks: Int64? = nil, - timeOfDayTicks: Int64? = nil, + intervalTicks: Int? = nil, + maxRuntimeTicks: Int? = nil, + timeOfDayTicks: Int? = nil, type: String? = nil ) { self.dayOfWeek = dayOfWeek @@ -38,9 +38,9 @@ public struct TaskTriggerInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.dayOfWeek = try values.decodeIfPresent(DayOfWeek.self, forKey: "DayOfWeek") - self.intervalTicks = try values.decodeIfPresent(Int64.self, forKey: "IntervalTicks") - self.maxRuntimeTicks = try values.decodeIfPresent(Int64.self, forKey: "MaxRuntimeTicks") - self.timeOfDayTicks = try values.decodeIfPresent(Int64.self, forKey: "TimeOfDayTicks") + self.intervalTicks = try values.decodeIfPresent(Int.self, forKey: "IntervalTicks") + self.maxRuntimeTicks = try values.decodeIfPresent(Int.self, forKey: "MaxRuntimeTicks") + self.timeOfDayTicks = try values.decodeIfPresent(Int.self, forKey: "TimeOfDayTicks") self.type = try values.decodeIfPresent(String.self, forKey: "Type") } diff --git a/Sources/Entities/ThemeMediaResult.swift b/Sources/Entities/ThemeMediaResult.swift index b4808dea3..80336beb2 100644 --- a/Sources/Entities/ThemeMediaResult.swift +++ b/Sources/Entities/ThemeMediaResult.swift @@ -3,23 +3,23 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class ThemeMediaResult. -public struct ThemeMediaResult: Codable { +public struct ThemeMediaResult: Codable, Hashable { /// Gets or sets the items. public var items: [BaseItemDto]? /// Gets or sets the owner id. public var ownerID: String? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [BaseItemDto]? = nil, ownerID: String? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [BaseItemDto]? = nil, ownerID: String? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.ownerID = ownerID self.startIndex = startIndex @@ -30,8 +30,8 @@ public struct ThemeMediaResult: Codable { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([BaseItemDto].self, forKey: "Items") self.ownerID = try values.decodeIfPresent(String.self, forKey: "OwnerId") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/TimerEventInfo.swift b/Sources/Entities/TimerEventInfo.swift index d5df3bebb..0af12ea06 100644 --- a/Sources/Entities/TimerEventInfo.swift +++ b/Sources/Entities/TimerEventInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TimerEventInfo: Codable, Identifiable { +public struct TimerEventInfo: Codable, Hashable, Identifiable { public var id: String? public var programID: String? diff --git a/Sources/Entities/TimerInfoDto.swift b/Sources/Entities/TimerInfoDto.swift index d59db1a2d..3e0254e41 100644 --- a/Sources/Entities/TimerInfoDto.swift +++ b/Sources/Entities/TimerInfoDto.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TimerInfoDto: Codable, Identifiable { +public struct TimerInfoDto: Codable, Hashable, Identifiable { /// Gets or sets the channel id of the recording. public var channelID: String? /// Gets or sets the channel name of the recording. @@ -40,17 +40,17 @@ public struct TimerInfoDto: Codable, Identifiable { /// Gets or sets the Id of the Parent that has a backdrop if the item does not have one. public var parentBackdropItemID: String? /// Gets or sets the post padding seconds. - public var postPaddingSeconds: Int32? + public var postPaddingSeconds: Int? /// Gets or sets the pre padding seconds. - public var prePaddingSeconds: Int32? + public var prePaddingSeconds: Int? /// Gets or sets the priority. - public var priority: Int32? + public var priority: Int? /// Gets or sets the program identifier. public var programID: String? /// Gets or sets the program information. public var programInfo: BaseItemDto? /// Gets or sets the run time ticks. - public var runTimeTicks: Int64? + public var runTimeTicks: Int? /// Gets or sets the series timer identifier. public var seriesTimerID: String? /// Gets or sets the server identifier. @@ -80,12 +80,12 @@ public struct TimerInfoDto: Codable, Identifiable { overview: String? = nil, parentBackdropImageTags: [String]? = nil, parentBackdropItemID: String? = nil, - postPaddingSeconds: Int32? = nil, - prePaddingSeconds: Int32? = nil, - priority: Int32? = nil, + postPaddingSeconds: Int? = nil, + prePaddingSeconds: Int? = nil, + priority: Int? = nil, programID: String? = nil, programInfo: BaseItemDto? = nil, - runTimeTicks: Int64? = nil, + runTimeTicks: Int? = nil, seriesTimerID: String? = nil, serverID: String? = nil, serviceName: String? = nil, @@ -141,12 +141,12 @@ public struct TimerInfoDto: Codable, Identifiable { self.overview = try values.decodeIfPresent(String.self, forKey: "Overview") self.parentBackdropImageTags = try values.decodeIfPresent([String].self, forKey: "ParentBackdropImageTags") self.parentBackdropItemID = try values.decodeIfPresent(String.self, forKey: "ParentBackdropItemId") - self.postPaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PostPaddingSeconds") - self.prePaddingSeconds = try values.decodeIfPresent(Int32.self, forKey: "PrePaddingSeconds") - self.priority = try values.decodeIfPresent(Int32.self, forKey: "Priority") + self.postPaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PostPaddingSeconds") + self.prePaddingSeconds = try values.decodeIfPresent(Int.self, forKey: "PrePaddingSeconds") + self.priority = try values.decodeIfPresent(Int.self, forKey: "Priority") self.programID = try values.decodeIfPresent(String.self, forKey: "ProgramId") self.programInfo = try values.decodeIfPresent(BaseItemDto.self, forKey: "ProgramInfo") - self.runTimeTicks = try values.decodeIfPresent(Int64.self, forKey: "RunTimeTicks") + self.runTimeTicks = try values.decodeIfPresent(Int.self, forKey: "RunTimeTicks") self.seriesTimerID = try values.decodeIfPresent(String.self, forKey: "SeriesTimerId") self.serverID = try values.decodeIfPresent(String.self, forKey: "ServerId") self.serviceName = try values.decodeIfPresent(String.self, forKey: "ServiceName") diff --git a/Sources/Entities/TimerInfoDtoQueryResult.swift b/Sources/Entities/TimerInfoDtoQueryResult.swift index 073c428be..c9e2b45ee 100644 --- a/Sources/Entities/TimerInfoDtoQueryResult.swift +++ b/Sources/Entities/TimerInfoDtoQueryResult.swift @@ -3,20 +3,20 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TimerInfoDtoQueryResult: Codable { +public struct TimerInfoDtoQueryResult: Codable, Hashable { /// Gets or sets the items. public var items: [TimerInfoDto]? /// Gets or sets the index of the first record in Items. - public var startIndex: Int32? + public var startIndex: Int? /// Gets or sets the total number of records available. - public var totalRecordCount: Int32? + public var totalRecordCount: Int? - public init(items: [TimerInfoDto]? = nil, startIndex: Int32? = nil, totalRecordCount: Int32? = nil) { + public init(items: [TimerInfoDto]? = nil, startIndex: Int? = nil, totalRecordCount: Int? = nil) { self.items = items self.startIndex = startIndex self.totalRecordCount = totalRecordCount @@ -25,8 +25,8 @@ public struct TimerInfoDtoQueryResult: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.items = try values.decodeIfPresent([TimerInfoDto].self, forKey: "Items") - self.startIndex = try values.decodeIfPresent(Int32.self, forKey: "StartIndex") - self.totalRecordCount = try values.decodeIfPresent(Int32.self, forKey: "TotalRecordCount") + self.startIndex = try values.decodeIfPresent(Int.self, forKey: "StartIndex") + self.totalRecordCount = try values.decodeIfPresent(Int.self, forKey: "TotalRecordCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/TrailerInfo.swift b/Sources/Entities/TrailerInfo.swift index 4d5cf49ec..38af6a3e9 100644 --- a/Sources/Entities/TrailerInfo.swift +++ b/Sources/Entities/TrailerInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TrailerInfo: Codable { - public var indexNumber: Int32? +public struct TrailerInfo: Codable, Hashable { + public var indexNumber: Int? public var isAutomated: Bool? /// Gets or sets the metadata country code. public var metadataCountryCode: String? @@ -19,27 +19,27 @@ public struct TrailerInfo: Codable { public var name: String? /// Gets or sets the original title. public var originalTitle: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? /// Gets or sets the path. public var path: String? public var premiereDate: Date? /// Gets or sets the provider ids. public var providerIDs: [String: String]? /// Gets or sets the year. - public var year: Int32? + public var year: Int? public init( - indexNumber: Int32? = nil, + indexNumber: Int? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, - year: Int32? = nil + year: Int? = nil ) { self.indexNumber = indexNumber self.isAutomated = isAutomated @@ -56,17 +56,17 @@ public struct TrailerInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.indexNumber = try values.decodeIfPresent(Int32.self, forKey: "IndexNumber") + self.indexNumber = try values.decodeIfPresent(Int.self, forKey: "IndexNumber") self.isAutomated = try values.decodeIfPresent(Bool.self, forKey: "IsAutomated") self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode") self.metadataLanguage = try values.decodeIfPresent(String.self, forKey: "MetadataLanguage") self.name = try values.decodeIfPresent(String.self, forKey: "Name") self.originalTitle = try values.decodeIfPresent(String.self, forKey: "OriginalTitle") - self.parentIndexNumber = try values.decodeIfPresent(Int32.self, forKey: "ParentIndexNumber") + self.parentIndexNumber = try values.decodeIfPresent(Int.self, forKey: "ParentIndexNumber") self.path = try values.decodeIfPresent(String.self, forKey: "Path") self.premiereDate = try values.decodeIfPresent(Date.self, forKey: "PremiereDate") self.providerIDs = try values.decodeIfPresent([String: String].self, forKey: "ProviderIds") - self.year = try values.decodeIfPresent(Int32.self, forKey: "Year") + self.year = try values.decodeIfPresent(Int.self, forKey: "Year") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/TrailerInfoRemoteSearchQuery.swift b/Sources/Entities/TrailerInfoRemoteSearchQuery.swift index bfab21c48..826b71d78 100644 --- a/Sources/Entities/TrailerInfoRemoteSearchQuery.swift +++ b/Sources/Entities/TrailerInfoRemoteSearchQuery.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TrailerInfoRemoteSearchQuery: Codable { +public struct TrailerInfoRemoteSearchQuery: Codable, Hashable { /// Gets or sets a value indicating whether disabled providers should be included. public var isIncludeDisabledProviders: Bool? public var itemID: String? diff --git a/Sources/Entities/TranscodeReason.swift b/Sources/Entities/TranscodeReason.swift index bc613aee9..9e9b575cd 100644 --- a/Sources/Entities/TranscodeReason.swift +++ b/Sources/Entities/TranscodeReason.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/TranscodeSeekInfo.swift b/Sources/Entities/TranscodeSeekInfo.swift index 25190df45..75482ddc0 100644 --- a/Sources/Entities/TranscodeSeekInfo.swift +++ b/Sources/Entities/TranscodeSeekInfo.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/TranscodingInfo.swift b/Sources/Entities/TranscodingInfo.swift index fa9be7fc7..78b2c65f8 100644 --- a/Sources/Entities/TranscodingInfo.swift +++ b/Sources/Entities/TranscodingInfo.swift @@ -3,40 +3,40 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TranscodingInfo: Codable { - public var audioChannels: Int32? +public struct TranscodingInfo: Codable, Hashable { + public var audioChannels: Int? public var audioCodec: String? - public var bitrate: Int32? + public var bitrate: Int? public var completionPercentage: Double? public var container: String? public var framerate: Float? public var hardwareAccelerationType: HardwareEncodingType? - public var height: Int32? + public var height: Int? public var isAudioDirect: Bool? public var isVideoDirect: Bool? public var transcodeReasons: [TranscodeReason]? public var videoCodec: String? - public var width: Int32? + public var width: Int? public init( - audioChannels: Int32? = nil, + audioChannels: Int? = nil, audioCodec: String? = nil, - bitrate: Int32? = nil, + bitrate: Int? = nil, completionPercentage: Double? = nil, container: String? = nil, framerate: Float? = nil, hardwareAccelerationType: HardwareEncodingType? = nil, - height: Int32? = nil, + height: Int? = nil, isAudioDirect: Bool? = nil, isVideoDirect: Bool? = nil, transcodeReasons: [TranscodeReason]? = nil, videoCodec: String? = nil, - width: Int32? = nil + width: Int? = nil ) { self.audioChannels = audioChannels self.audioCodec = audioCodec @@ -55,19 +55,19 @@ public struct TranscodingInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) - self.audioChannels = try values.decodeIfPresent(Int32.self, forKey: "AudioChannels") + self.audioChannels = try values.decodeIfPresent(Int.self, forKey: "AudioChannels") self.audioCodec = try values.decodeIfPresent(String.self, forKey: "AudioCodec") - self.bitrate = try values.decodeIfPresent(Int32.self, forKey: "Bitrate") + self.bitrate = try values.decodeIfPresent(Int.self, forKey: "Bitrate") self.completionPercentage = try values.decodeIfPresent(Double.self, forKey: "CompletionPercentage") self.container = try values.decodeIfPresent(String.self, forKey: "Container") self.framerate = try values.decodeIfPresent(Float.self, forKey: "Framerate") self.hardwareAccelerationType = try values.decodeIfPresent(HardwareEncodingType.self, forKey: "HardwareAccelerationType") - self.height = try values.decodeIfPresent(Int32.self, forKey: "Height") + self.height = try values.decodeIfPresent(Int.self, forKey: "Height") self.isAudioDirect = try values.decodeIfPresent(Bool.self, forKey: "IsAudioDirect") self.isVideoDirect = try values.decodeIfPresent(Bool.self, forKey: "IsVideoDirect") self.transcodeReasons = try values.decodeIfPresent([TranscodeReason].self, forKey: "TranscodeReasons") self.videoCodec = try values.decodeIfPresent(String.self, forKey: "VideoCodec") - self.width = try values.decodeIfPresent(Int32.self, forKey: "Width") + self.width = try values.decodeIfPresent(Int.self, forKey: "Width") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/TranscodingProfile.swift b/Sources/Entities/TranscodingProfile.swift index 1f9746517..92a7aca39 100644 --- a/Sources/Entities/TranscodingProfile.swift +++ b/Sources/Entities/TranscodingProfile.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TranscodingProfile: Codable { +public struct TranscodingProfile: Codable, Hashable { public var audioCodec: String? public var isBreakOnNonKeyFrames: Bool public var conditions: [ProfileCondition]? @@ -19,9 +19,9 @@ public struct TranscodingProfile: Codable { public var enableSubtitlesInManifest: Bool public var isEstimateContentLength: Bool public var maxAudioChannels: String? - public var minSegments: Int32? + public var minSegments: Int? public var `protocol`: String? - public var segmentLength: Int32? + public var segmentLength: Int? public var transcodeSeekInfo: TranscodeSeekInfo? public var type: DlnaProfileType? public var videoCodec: String? @@ -37,9 +37,9 @@ public struct TranscodingProfile: Codable { enableSubtitlesInManifest: Bool? = nil, isEstimateContentLength: Bool? = nil, maxAudioChannels: String? = nil, - minSegments: Int32? = nil, + minSegments: Int? = nil, protocol: String? = nil, - segmentLength: Int32? = nil, + segmentLength: Int? = nil, transcodeSeekInfo: TranscodeSeekInfo? = nil, type: DlnaProfileType? = nil, videoCodec: String? = nil @@ -74,9 +74,9 @@ public struct TranscodingProfile: Codable { self.enableSubtitlesInManifest = try values.decodeIfPresent(Bool.self, forKey: "EnableSubtitlesInManifest") ?? false self.isEstimateContentLength = try values.decodeIfPresent(Bool.self, forKey: "EstimateContentLength") ?? false self.maxAudioChannels = try values.decodeIfPresent(String.self, forKey: "MaxAudioChannels") - self.minSegments = try values.decodeIfPresent(Int32.self, forKey: "MinSegments") + self.minSegments = try values.decodeIfPresent(Int.self, forKey: "MinSegments") self.protocol = try values.decodeIfPresent(String.self, forKey: "Protocol") - self.segmentLength = try values.decodeIfPresent(Int32.self, forKey: "SegmentLength") + self.segmentLength = try values.decodeIfPresent(Int.self, forKey: "SegmentLength") self.transcodeSeekInfo = try values.decodeIfPresent(TranscodeSeekInfo.self, forKey: "TranscodeSeekInfo") self.type = try values.decodeIfPresent(DlnaProfileType.self, forKey: "Type") self.videoCodec = try values.decodeIfPresent(String.self, forKey: "VideoCodec") diff --git a/Sources/Entities/TransportStreamTimestamp.swift b/Sources/Entities/TransportStreamTimestamp.swift index c30eafdbd..eab8060fe 100644 --- a/Sources/Entities/TransportStreamTimestamp.swift +++ b/Sources/Entities/TransportStreamTimestamp.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/TunerChannelMapping.swift b/Sources/Entities/TunerChannelMapping.swift index 7413d4f98..a0316a680 100644 --- a/Sources/Entities/TunerChannelMapping.swift +++ b/Sources/Entities/TunerChannelMapping.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TunerChannelMapping: Codable, Identifiable { +public struct TunerChannelMapping: Codable, Hashable, Identifiable { public var id: String? public var name: String? public var providerChannelID: String? diff --git a/Sources/Entities/TunerHostInfo.swift b/Sources/Entities/TunerHostInfo.swift index 9bb557e6f..60a2c7c80 100644 --- a/Sources/Entities/TunerHostInfo.swift +++ b/Sources/Entities/TunerHostInfo.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TunerHostInfo: Codable, Identifiable { +public struct TunerHostInfo: Codable, Hashable, Identifiable { public var allowHWTranscoding: Bool? public var deviceID: String? public var enableStreamLooping: Bool? @@ -16,7 +16,7 @@ public struct TunerHostInfo: Codable, Identifiable { public var id: String? public var isImportFavoritesOnly: Bool? public var source: String? - public var tunerCount: Int32? + public var tunerCount: Int? public var type: String? public var url: String? public var userAgent: String? @@ -29,7 +29,7 @@ public struct TunerHostInfo: Codable, Identifiable { id: String? = nil, isImportFavoritesOnly: Bool? = nil, source: String? = nil, - tunerCount: Int32? = nil, + tunerCount: Int? = nil, type: String? = nil, url: String? = nil, userAgent: String? = nil @@ -56,7 +56,7 @@ public struct TunerHostInfo: Codable, Identifiable { self.id = try values.decodeIfPresent(String.self, forKey: "Id") self.isImportFavoritesOnly = try values.decodeIfPresent(Bool.self, forKey: "ImportFavoritesOnly") self.source = try values.decodeIfPresent(String.self, forKey: "Source") - self.tunerCount = try values.decodeIfPresent(Int32.self, forKey: "TunerCount") + self.tunerCount = try values.decodeIfPresent(Int.self, forKey: "TunerCount") self.type = try values.decodeIfPresent(String.self, forKey: "Type") self.url = try values.decodeIfPresent(String.self, forKey: "Url") self.userAgent = try values.decodeIfPresent(String.self, forKey: "UserAgent") diff --git a/Sources/Entities/TypeOptions.swift b/Sources/Entities/TypeOptions.swift index 0e37ab7d9..ed6b914ff 100644 --- a/Sources/Entities/TypeOptions.swift +++ b/Sources/Entities/TypeOptions.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct TypeOptions: Codable { +public struct TypeOptions: Codable, Hashable { public var imageFetcherOrder: [String]? public var imageFetchers: [String]? public var imageOptions: [ImageOption]? diff --git a/Sources/Entities/UnratedItem.swift b/Sources/Entities/UnratedItem.swift index 71fe220a3..510ab3c9c 100644 --- a/Sources/Entities/UnratedItem.swift +++ b/Sources/Entities/UnratedItem.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/UpdateLibraryOptionsDto.swift b/Sources/Entities/UpdateLibraryOptionsDto.swift index 4582a89a1..4951709e0 100644 --- a/Sources/Entities/UpdateLibraryOptionsDto.swift +++ b/Sources/Entities/UpdateLibraryOptionsDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Update library options dto. -public struct UpdateLibraryOptionsDto: Codable, Identifiable { +public struct UpdateLibraryOptionsDto: Codable, Hashable, Identifiable { /// Gets or sets the library item id. public var id: String? /// Gets or sets library options. diff --git a/Sources/Entities/UpdateMediaPathRequestDto.swift b/Sources/Entities/UpdateMediaPathRequestDto.swift index cf63bd383..f12892990 100644 --- a/Sources/Entities/UpdateMediaPathRequestDto.swift +++ b/Sources/Entities/UpdateMediaPathRequestDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Update library options dto. -public struct UpdateMediaPathRequestDto: Codable { +public struct UpdateMediaPathRequestDto: Codable, Hashable { /// Gets or sets the library name. public var name: String /// Gets or sets library folder path information. diff --git a/Sources/Entities/UpdateUserEasyPassword.swift b/Sources/Entities/UpdateUserEasyPassword.swift index e607b2225..6f2a27c18 100644 --- a/Sources/Entities/UpdateUserEasyPassword.swift +++ b/Sources/Entities/UpdateUserEasyPassword.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The update user easy password request body. -public struct UpdateUserEasyPassword: Codable { +public struct UpdateUserEasyPassword: Codable, Hashable { /// Gets or sets the new sha1-hashed password. public var newPassword: String? /// Gets or sets the new password. diff --git a/Sources/Entities/UpdateUserPassword.swift b/Sources/Entities/UpdateUserPassword.swift index b2d78a01e..8a6c3f019 100644 --- a/Sources/Entities/UpdateUserPassword.swift +++ b/Sources/Entities/UpdateUserPassword.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// The update user password request body. -public struct UpdateUserPassword: Codable { +public struct UpdateUserPassword: Codable, Hashable { /// Gets or sets the current sha1-hashed password. public var currentPassword: String? /// Gets or sets the current plain text password. diff --git a/Sources/Entities/UploadSubtitleDto.swift b/Sources/Entities/UploadSubtitleDto.swift index 308a08239..ce68de160 100644 --- a/Sources/Entities/UploadSubtitleDto.swift +++ b/Sources/Entities/UploadSubtitleDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Upload subtitles dto. -public struct UploadSubtitleDto: Codable { +public struct UploadSubtitleDto: Codable, Hashable { /// Gets or sets the subtitle data. public var data: String /// Gets or sets the subtitle format. diff --git a/Sources/Entities/UserConfiguration.swift b/Sources/Entities/UserConfiguration.swift index d11d86cbf..e7bc06d6b 100644 --- a/Sources/Entities/UserConfiguration.swift +++ b/Sources/Entities/UserConfiguration.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class UserConfiguration. -public struct UserConfiguration: Codable { +public struct UserConfiguration: Codable, Hashable { /// Gets or sets the audio language preference. public var audioLanguagePreference: String? public var isDisplayCollectionsView: Bool? diff --git a/Sources/Entities/UserDto.swift b/Sources/Entities/UserDto.swift index 72603a093..a04e4712a 100644 --- a/Sources/Entities/UserDto.swift +++ b/Sources/Entities/UserDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class UserDto. -public struct UserDto: Codable, Identifiable { +public struct UserDto: Codable, Hashable, Identifiable { /// Gets or sets the configuration. public var configuration: UserConfiguration? /// Gets or sets whether async login is enabled or not. diff --git a/Sources/Entities/UserItemDataDto.swift b/Sources/Entities/UserItemDataDto.swift index ca363d641..1f199c07c 100644 --- a/Sources/Entities/UserItemDataDto.swift +++ b/Sources/Entities/UserItemDataDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class UserItemDataDto. -public struct UserItemDataDto: Codable { +public struct UserItemDataDto: Codable, Hashable { /// Gets or sets a value indicating whether this instance is favorite. public var isFavorite: Bool? /// Gets or sets the item identifier. @@ -21,9 +21,9 @@ public struct UserItemDataDto: Codable { /// Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. public var isLikes: Bool? /// Gets or sets the play count. - public var playCount: Int32? + public var playCount: Int? /// Gets or sets the playback position ticks. - public var playbackPositionTicks: Int64? + public var playbackPositionTicks: Int? /// Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. public var isPlayed: Bool? /// Gets or sets the played percentage. @@ -31,7 +31,7 @@ public struct UserItemDataDto: Codable { /// Gets or sets the rating. public var rating: Double? /// Gets or sets the unplayed item count. - public var unplayedItemCount: Int32? + public var unplayedItemCount: Int? public init( isFavorite: Bool? = nil, @@ -39,12 +39,12 @@ public struct UserItemDataDto: Codable { key: String? = nil, lastPlayedDate: Date? = nil, isLikes: Bool? = nil, - playCount: Int32? = nil, - playbackPositionTicks: Int64? = nil, + playCount: Int? = nil, + playbackPositionTicks: Int? = nil, isPlayed: Bool? = nil, playedPercentage: Double? = nil, rating: Double? = nil, - unplayedItemCount: Int32? = nil + unplayedItemCount: Int? = nil ) { self.isFavorite = isFavorite self.itemID = itemID @@ -66,12 +66,12 @@ public struct UserItemDataDto: Codable { self.key = try values.decodeIfPresent(String.self, forKey: "Key") self.lastPlayedDate = try values.decodeIfPresent(Date.self, forKey: "LastPlayedDate") self.isLikes = try values.decodeIfPresent(Bool.self, forKey: "Likes") - self.playCount = try values.decodeIfPresent(Int32.self, forKey: "PlayCount") - self.playbackPositionTicks = try values.decodeIfPresent(Int64.self, forKey: "PlaybackPositionTicks") + self.playCount = try values.decodeIfPresent(Int.self, forKey: "PlayCount") + self.playbackPositionTicks = try values.decodeIfPresent(Int.self, forKey: "PlaybackPositionTicks") self.isPlayed = try values.decodeIfPresent(Bool.self, forKey: "Played") self.playedPercentage = try values.decodeIfPresent(Double.self, forKey: "PlayedPercentage") self.rating = try values.decodeIfPresent(Double.self, forKey: "Rating") - self.unplayedItemCount = try values.decodeIfPresent(Int32.self, forKey: "UnplayedItemCount") + self.unplayedItemCount = try values.decodeIfPresent(Int.self, forKey: "UnplayedItemCount") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/UserPolicy.swift b/Sources/Entities/UserPolicy.swift index 9f705d3c4..6fe5bc796 100644 --- a/Sources/Entities/UserPolicy.swift +++ b/Sources/Entities/UserPolicy.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct UserPolicy: Codable { +public struct UserPolicy: Codable, Hashable { public var accessSchedules: [AccessSchedule]? public var authenticationProviderID: String? public var blockUnratedItems: [UnratedItem]? @@ -39,20 +39,20 @@ public struct UserPolicy: Codable { public var enabledDevices: [String]? public var enabledFolders: [String]? public var isForceRemoteSourceTranscoding: Bool? - public var invalidLoginAttemptCount: Int32? + public var invalidLoginAttemptCount: Int? /// Gets or sets a value indicating whether this instance is administrator. public var isAdministrator: Bool? /// Gets or sets a value indicating whether this instance is disabled. public var isDisabled: Bool? /// Gets or sets a value indicating whether this instance is hidden. public var isHidden: Bool? - public var loginAttemptsBeforeLockout: Int32? - public var maxActiveSessions: Int32? + public var loginAttemptsBeforeLockout: Int? + public var maxActiveSessions: Int? /// Gets or sets the max parental rating. - public var maxParentalRating: Int32? + public var maxParentalRating: Int? public var passwordResetProviderID: String? - public var remoteClientBitrateLimit: Int32? - /// Enum SyncPlayUserAccessType. + public var remoteClientBitrateLimit: Int? + /// Gets or sets a value indicating what SyncPlay features the user can access. public var syncPlayAccess: SyncPlayUserAccessType? public init( @@ -85,15 +85,15 @@ public struct UserPolicy: Codable { enabledDevices: [String]? = nil, enabledFolders: [String]? = nil, isForceRemoteSourceTranscoding: Bool? = nil, - invalidLoginAttemptCount: Int32? = nil, + invalidLoginAttemptCount: Int? = nil, isAdministrator: Bool? = nil, isDisabled: Bool? = nil, isHidden: Bool? = nil, - loginAttemptsBeforeLockout: Int32? = nil, - maxActiveSessions: Int32? = nil, - maxParentalRating: Int32? = nil, + loginAttemptsBeforeLockout: Int? = nil, + maxActiveSessions: Int? = nil, + maxParentalRating: Int? = nil, passwordResetProviderID: String? = nil, - remoteClientBitrateLimit: Int32? = nil, + remoteClientBitrateLimit: Int? = nil, syncPlayAccess: SyncPlayUserAccessType? = nil ) { self.accessSchedules = accessSchedules @@ -168,15 +168,15 @@ public struct UserPolicy: Codable { self.enabledDevices = try values.decodeIfPresent([String].self, forKey: "EnabledDevices") self.enabledFolders = try values.decodeIfPresent([String].self, forKey: "EnabledFolders") self.isForceRemoteSourceTranscoding = try values.decodeIfPresent(Bool.self, forKey: "ForceRemoteSourceTranscoding") - self.invalidLoginAttemptCount = try values.decodeIfPresent(Int32.self, forKey: "InvalidLoginAttemptCount") + self.invalidLoginAttemptCount = try values.decodeIfPresent(Int.self, forKey: "InvalidLoginAttemptCount") self.isAdministrator = try values.decodeIfPresent(Bool.self, forKey: "IsAdministrator") self.isDisabled = try values.decodeIfPresent(Bool.self, forKey: "IsDisabled") self.isHidden = try values.decodeIfPresent(Bool.self, forKey: "IsHidden") - self.loginAttemptsBeforeLockout = try values.decodeIfPresent(Int32.self, forKey: "LoginAttemptsBeforeLockout") - self.maxActiveSessions = try values.decodeIfPresent(Int32.self, forKey: "MaxActiveSessions") - self.maxParentalRating = try values.decodeIfPresent(Int32.self, forKey: "MaxParentalRating") + self.loginAttemptsBeforeLockout = try values.decodeIfPresent(Int.self, forKey: "LoginAttemptsBeforeLockout") + self.maxActiveSessions = try values.decodeIfPresent(Int.self, forKey: "MaxActiveSessions") + self.maxParentalRating = try values.decodeIfPresent(Int.self, forKey: "MaxParentalRating") self.passwordResetProviderID = try values.decodeIfPresent(String.self, forKey: "PasswordResetProviderId") - self.remoteClientBitrateLimit = try values.decodeIfPresent(Int32.self, forKey: "RemoteClientBitrateLimit") + self.remoteClientBitrateLimit = try values.decodeIfPresent(Int.self, forKey: "RemoteClientBitrateLimit") self.syncPlayAccess = try values.decodeIfPresent(SyncPlayUserAccessType.self, forKey: "SyncPlayAccess") } diff --git a/Sources/Entities/UtcTimeResponse.swift b/Sources/Entities/UtcTimeResponse.swift index 92a57bf38..feec44ea2 100644 --- a/Sources/Entities/UtcTimeResponse.swift +++ b/Sources/Entities/UtcTimeResponse.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Class UtcTimeResponse. -public struct UtcTimeResponse: Codable { +public struct UtcTimeResponse: Codable, Hashable { /// Gets the UTC time when request has been received. public var requestReceptionTime: Date? /// Gets the UTC time when response has been sent. diff --git a/Sources/Entities/ValidatePathDto.swift b/Sources/Entities/ValidatePathDto.swift index bb05d834c..2c93938d6 100644 --- a/Sources/Entities/ValidatePathDto.swift +++ b/Sources/Entities/ValidatePathDto.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Validate path object. -public struct ValidatePathDto: Codable { +public struct ValidatePathDto: Codable, Hashable { /// Gets or sets is path file. public var isFile: Bool? /// Gets or sets the path. diff --git a/Sources/Entities/VersionInfo.swift b/Sources/Entities/VersionInfo.swift index 25fabb167..07534092e 100644 --- a/Sources/Entities/VersionInfo.swift +++ b/Sources/Entities/VersionInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the MediaBrowser.Model.Updates.VersionInfo class. -public struct VersionInfo: Codable { +public struct VersionInfo: Codable, Hashable { /// Gets the version as a System.Version. public var versionNumber: String? /// Gets or sets the changelog for this version. diff --git a/Sources/Entities/Video3DFormat.swift b/Sources/Entities/Video3DFormat.swift index c6841641a..b2c9948c0 100644 --- a/Sources/Entities/Video3DFormat.swift +++ b/Sources/Entities/Video3DFormat.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/VideoType.swift b/Sources/Entities/VideoType.swift index 1592ea1e2..3edcb46af 100644 --- a/Sources/Entities/VideoType.swift +++ b/Sources/Entities/VideoType.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Entities/VirtualFolderInfo.swift b/Sources/Entities/VirtualFolderInfo.swift index eb0bcf5c3..336c12063 100644 --- a/Sources/Entities/VirtualFolderInfo.swift +++ b/Sources/Entities/VirtualFolderInfo.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Used to hold information about a user's list of configured virtual folders. -public struct VirtualFolderInfo: Codable { +public struct VirtualFolderInfo: Codable, Hashable { /// Gets or sets the type of the collection. public var collectionType: CollectionTypeOptions? /// Gets or sets the item identifier. diff --git a/Sources/Entities/WakeOnLanInfo.swift b/Sources/Entities/WakeOnLanInfo.swift index e9e587c8d..645241601 100644 --- a/Sources/Entities/WakeOnLanInfo.swift +++ b/Sources/Entities/WakeOnLanInfo.swift @@ -3,19 +3,19 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Provides the MAC address and port for wake-on-LAN functionality. -public struct WakeOnLanInfo: Codable { +public struct WakeOnLanInfo: Codable, Hashable { /// Gets the MAC address of the device. public var macAddress: String? /// Gets or sets the wake-on-LAN port. - public var port: Int32? + public var port: Int? - public init(macAddress: String? = nil, port: Int32? = nil) { + public init(macAddress: String? = nil, port: Int? = nil) { self.macAddress = macAddress self.port = port } @@ -23,7 +23,7 @@ public struct WakeOnLanInfo: Codable { public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: StringCodingKey.self) self.macAddress = try values.decodeIfPresent(String.self, forKey: "MacAddress") - self.port = try values.decodeIfPresent(Int32.self, forKey: "Port") + self.port = try values.decodeIfPresent(Int.self, forKey: "Port") } public func encode(to encoder: Encoder) throws { diff --git a/Sources/Entities/XbmcMetadataOptions.swift b/Sources/Entities/XbmcMetadataOptions.swift index 6a831d769..a3f2fa5cc 100644 --- a/Sources/Entities/XbmcMetadataOptions.swift +++ b/Sources/Entities/XbmcMetadataOptions.swift @@ -3,12 +3,12 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public struct XbmcMetadataOptions: Codable { +public struct XbmcMetadataOptions: Codable, Hashable { public var enableExtraThumbsDuplication: Bool? public var enablePathSubstitution: Bool? public var releaseDateFormat: String? diff --git a/Sources/Entities/XmlAttribute.swift b/Sources/Entities/XmlAttribute.swift index a8b3f722c..9719e2ee0 100644 --- a/Sources/Entities/XmlAttribute.swift +++ b/Sources/Entities/XmlAttribute.swift @@ -3,13 +3,13 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation /// Defines the MediaBrowser.Model.Dlna.XmlAttribute. -public struct XmlAttribute: Codable { +public struct XmlAttribute: Codable, Hashable { /// Gets or sets the name of the attribute. public var name: String? /// Gets or sets the value of the attribute. diff --git a/Sources/Extensions/AnyJSON.swift b/Sources/Extensions/AnyJSON.swift index fa8862c4a..b12dc1191 100644 --- a/Sources/Extensions/AnyJSON.swift +++ b/Sources/Extensions/AnyJSON.swift @@ -3,18 +3,17 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation -public enum AnyJSON: Equatable, Codable { +public enum AnyJSON: Hashable, Codable { case string(String) case number(Double) case object([String: AnyJSON]) case array([AnyJSON]) case bool(Bool) - var value: Any { switch self { case let .string(string): return string diff --git a/Sources/Extensions/Paths.swift b/Sources/Extensions/Paths.swift index f3b243e30..dbf4240b7 100644 --- a/Sources/Extensions/Paths.swift +++ b/Sources/Extensions/Paths.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Extensions/StringCodingKey.swift b/Sources/Extensions/StringCodingKey.swift index 106642010..e42a2eb2a 100644 --- a/Sources/Extensions/StringCodingKey.swift +++ b/Sources/Extensions/StringCodingKey.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/JellyfinClient.swift b/Sources/JellyfinClient.swift index 254ad2f0a..fca783306 100644 --- a/Sources/JellyfinClient.swift +++ b/Sources/JellyfinClient.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -248,14 +248,36 @@ public extension JellyfinClient { return response } - /// Signs out the current user with the server by revoking the current access token + /// Signs in a user given a Quick Connect secret. /// - /// - Throws: `ClientError.noAccessTokenSet` if no access token has currently been set + /// - Note: Overrides the current access token if one was previously set. Save this token locally or revoke it with `signOut` for proper access token management. + /// + /// - Parameters: + /// - quickConnectSecret: current Quick Connect secret + /// + /// - Throws: `ClientError.noAccessTokenInResponse` if no access token was supplied in a successful authentication response + @discardableResult + func signIn(quickConnectSecret: String) async throws -> AuthenticationResult { + let quickConnectRequest = Paths.authenticateWithQuickConnect(.init(secret: quickConnectSecret)) + let response = try await send(quickConnectRequest).value + + if let accessToken = response.accessToken { + self.accessToken = accessToken + } else { + throw ClientError.noAccessTokenInResponse + } + + return response + } + + /// Signs out the current user with the server by revoking the current access token if one is set. + /// Overrides the current access token if the revoke was successful. func signOut() async throws { - guard let accessToken = self.accessToken else { throw ClientError.noAccessTokenSet } + if let accessToken { + let revokeKeyRequest = Paths.revokeKey(key: accessToken) + try await send(revokeKeyRequest) + } - let revokeKeyRequest = Paths.revokeKey(key: accessToken) - try await send(revokeKeyRequest) self.accessToken = nil } } @@ -266,14 +288,11 @@ extension JellyfinClient { enum ClientError: Error { case noAccessTokenInResponse - case noAccessTokenSet var localizedDescription: String { switch self { case .noAccessTokenInResponse: return "No access token in authenticated response" - case .noAccessTokenSet: - return "No access token to revoke" } } } diff --git a/Sources/OpenISO8601Formatter.swift b/Sources/OpenISO8601Formatter.swift index bd145e072..6e5635935 100644 --- a/Sources/OpenISO8601Formatter.swift +++ b/Sources/OpenISO8601Formatter.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddListingProviderAPI.swift b/Sources/Paths/AddListingProviderAPI.swift index 97db5caae..b02fd0006 100644 --- a/Sources/Paths/AddListingProviderAPI.swift +++ b/Sources/Paths/AddListingProviderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddMediaPathAPI.swift b/Sources/Paths/AddMediaPathAPI.swift index 67aea87b2..705f93064 100644 --- a/Sources/Paths/AddMediaPathAPI.swift +++ b/Sources/Paths/AddMediaPathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddToCollectionAPI.swift b/Sources/Paths/AddToCollectionAPI.swift index 012c6ed40..79614fbcd 100644 --- a/Sources/Paths/AddToCollectionAPI.swift +++ b/Sources/Paths/AddToCollectionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddToPlaylistAPI.swift b/Sources/Paths/AddToPlaylistAPI.swift index 7364f4af1..4ab36142d 100644 --- a/Sources/Paths/AddToPlaylistAPI.swift +++ b/Sources/Paths/AddToPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddTunerHostAPI.swift b/Sources/Paths/AddTunerHostAPI.swift index e49b613e3..c8647171d 100644 --- a/Sources/Paths/AddTunerHostAPI.swift +++ b/Sources/Paths/AddTunerHostAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddUserToSessionAPI.swift b/Sources/Paths/AddUserToSessionAPI.swift index 613dd9a7a..d441af395 100644 --- a/Sources/Paths/AddUserToSessionAPI.swift +++ b/Sources/Paths/AddUserToSessionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AddVirtualFolderAPI.swift b/Sources/Paths/AddVirtualFolderAPI.swift index 03369d709..bfdf27be1 100644 --- a/Sources/Paths/AddVirtualFolderAPI.swift +++ b/Sources/Paths/AddVirtualFolderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ApplySearchCriteriaAPI.swift b/Sources/Paths/ApplySearchCriteriaAPI.swift index 17f6b3c92..6070c7bbe 100644 --- a/Sources/Paths/ApplySearchCriteriaAPI.swift +++ b/Sources/Paths/ApplySearchCriteriaAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AuthenticateUserAPI.swift b/Sources/Paths/AuthenticateUserAPI.swift index aa863738b..1e6150b0c 100644 --- a/Sources/Paths/AuthenticateUserAPI.swift +++ b/Sources/Paths/AuthenticateUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AuthenticateUserByNameAPI.swift b/Sources/Paths/AuthenticateUserByNameAPI.swift index 250c6157a..5e95bc28f 100644 --- a/Sources/Paths/AuthenticateUserByNameAPI.swift +++ b/Sources/Paths/AuthenticateUserByNameAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AuthenticateWithQuickConnectAPI.swift b/Sources/Paths/AuthenticateWithQuickConnectAPI.swift index 7a0b8fae6..eec3ea5ea 100644 --- a/Sources/Paths/AuthenticateWithQuickConnectAPI.swift +++ b/Sources/Paths/AuthenticateWithQuickConnectAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/AuthorizeAPI.swift b/Sources/Paths/AuthorizeAPI.swift index 613757615..538796351 100644 --- a/Sources/Paths/AuthorizeAPI.swift +++ b/Sources/Paths/AuthorizeAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CancelPackageInstallationAPI.swift b/Sources/Paths/CancelPackageInstallationAPI.swift index 1977d65dc..36da68b0a 100644 --- a/Sources/Paths/CancelPackageInstallationAPI.swift +++ b/Sources/Paths/CancelPackageInstallationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CancelSeriesTimerAPI.swift b/Sources/Paths/CancelSeriesTimerAPI.swift index e10774e0e..efb656728 100644 --- a/Sources/Paths/CancelSeriesTimerAPI.swift +++ b/Sources/Paths/CancelSeriesTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CancelTimerAPI.swift b/Sources/Paths/CancelTimerAPI.swift index 3a287232b..962770db9 100644 --- a/Sources/Paths/CancelTimerAPI.swift +++ b/Sources/Paths/CancelTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CloseLiveStreamAPI.swift b/Sources/Paths/CloseLiveStreamAPI.swift index dae0bf3ab..9a8295451 100644 --- a/Sources/Paths/CloseLiveStreamAPI.swift +++ b/Sources/Paths/CloseLiveStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CompleteWizardAPI.swift b/Sources/Paths/CompleteWizardAPI.swift index 089ed6f98..80a7b85cb 100644 --- a/Sources/Paths/CompleteWizardAPI.swift +++ b/Sources/Paths/CompleteWizardAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ConnectAPI.swift b/Sources/Paths/ConnectAPI.swift index ba5310e9d..1d333713d 100644 --- a/Sources/Paths/ConnectAPI.swift +++ b/Sources/Paths/ConnectAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateAdminNotificationAPI.swift b/Sources/Paths/CreateAdminNotificationAPI.swift index 15d3eccc9..883f5a0c9 100644 --- a/Sources/Paths/CreateAdminNotificationAPI.swift +++ b/Sources/Paths/CreateAdminNotificationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateCollectionAPI.swift b/Sources/Paths/CreateCollectionAPI.swift index 7c6722eb4..76a16c187 100644 --- a/Sources/Paths/CreateCollectionAPI.swift +++ b/Sources/Paths/CreateCollectionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateKeyAPI.swift b/Sources/Paths/CreateKeyAPI.swift index 13f03ec7d..a29b6d5a2 100644 --- a/Sources/Paths/CreateKeyAPI.swift +++ b/Sources/Paths/CreateKeyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreatePlaylistAPI.swift b/Sources/Paths/CreatePlaylistAPI.swift index 02fb71b89..9c3a07e6c 100644 --- a/Sources/Paths/CreatePlaylistAPI.swift +++ b/Sources/Paths/CreatePlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateProfileAPI.swift b/Sources/Paths/CreateProfileAPI.swift index f8ecc3ca5..79d0352b4 100644 --- a/Sources/Paths/CreateProfileAPI.swift +++ b/Sources/Paths/CreateProfileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateSeriesTimerAPI.swift b/Sources/Paths/CreateSeriesTimerAPI.swift index 3095055c1..eeb8afd4b 100644 --- a/Sources/Paths/CreateSeriesTimerAPI.swift +++ b/Sources/Paths/CreateSeriesTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateTimerAPI.swift b/Sources/Paths/CreateTimerAPI.swift index 622e2f2a1..fdb9610f1 100644 --- a/Sources/Paths/CreateTimerAPI.swift +++ b/Sources/Paths/CreateTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/CreateUserByNameAPI.swift b/Sources/Paths/CreateUserByNameAPI.swift index 6f2765af4..51e0bd6b7 100644 --- a/Sources/Paths/CreateUserByNameAPI.swift +++ b/Sources/Paths/CreateUserByNameAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteAlternateSourcesAPI.swift b/Sources/Paths/DeleteAlternateSourcesAPI.swift index 38ee20bf8..203bbcae2 100644 --- a/Sources/Paths/DeleteAlternateSourcesAPI.swift +++ b/Sources/Paths/DeleteAlternateSourcesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteCustomSplashscreenAPI.swift b/Sources/Paths/DeleteCustomSplashscreenAPI.swift index 7694195ab..6dddf841d 100644 --- a/Sources/Paths/DeleteCustomSplashscreenAPI.swift +++ b/Sources/Paths/DeleteCustomSplashscreenAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteDeviceAPI.swift b/Sources/Paths/DeleteDeviceAPI.swift index adcd4d8a0..2359ad94b 100644 --- a/Sources/Paths/DeleteDeviceAPI.swift +++ b/Sources/Paths/DeleteDeviceAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteItemAPI.swift b/Sources/Paths/DeleteItemAPI.swift index 50213fe33..3db16672f 100644 --- a/Sources/Paths/DeleteItemAPI.swift +++ b/Sources/Paths/DeleteItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteItemImageAPI.swift b/Sources/Paths/DeleteItemImageAPI.swift index 70c48f0ad..f656741fb 100644 --- a/Sources/Paths/DeleteItemImageAPI.swift +++ b/Sources/Paths/DeleteItemImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -12,7 +12,7 @@ import URLQueryEncoder extension Paths { /// Delete an item's image. - public static func deleteItemImage(itemID: String, imageType: String, imageIndex: Int32? = nil) -> Request { + public static func deleteItemImage(itemID: String, imageType: String, imageIndex: Int? = nil) -> Request { Request( method: "DELETE", url: "/Items/\(itemID)/Images/\(imageType)", @@ -21,7 +21,7 @@ extension Paths { ) } - private static func makeDeleteItemImageQuery(_ imageIndex: Int32?) -> [(String, String?)] { + private static func makeDeleteItemImageQuery(_ imageIndex: Int?) -> [(String, String?)] { let encoder = URLQueryEncoder() encoder.encode(imageIndex, forKey: "imageIndex") return encoder.items diff --git a/Sources/Paths/DeleteItemImageByIndexAPI.swift b/Sources/Paths/DeleteItemImageByIndexAPI.swift index 0f6c23475..5d3c0bcbc 100644 --- a/Sources/Paths/DeleteItemImageByIndexAPI.swift +++ b/Sources/Paths/DeleteItemImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteItemsAPI.swift b/Sources/Paths/DeleteItemsAPI.swift index bcc4af984..7f1d16c29 100644 --- a/Sources/Paths/DeleteItemsAPI.swift +++ b/Sources/Paths/DeleteItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteListingProviderAPI.swift b/Sources/Paths/DeleteListingProviderAPI.swift index fadf188f4..7fe6b2c77 100644 --- a/Sources/Paths/DeleteListingProviderAPI.swift +++ b/Sources/Paths/DeleteListingProviderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteProfileAPI.swift b/Sources/Paths/DeleteProfileAPI.swift index f0517759b..c3a9af438 100644 --- a/Sources/Paths/DeleteProfileAPI.swift +++ b/Sources/Paths/DeleteProfileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteRecordingAPI.swift b/Sources/Paths/DeleteRecordingAPI.swift index 0f69184ef..9028c62d9 100644 --- a/Sources/Paths/DeleteRecordingAPI.swift +++ b/Sources/Paths/DeleteRecordingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteSubtitleAPI.swift b/Sources/Paths/DeleteSubtitleAPI.swift index 552726384..8703bc993 100644 --- a/Sources/Paths/DeleteSubtitleAPI.swift +++ b/Sources/Paths/DeleteSubtitleAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteTunerHostAPI.swift b/Sources/Paths/DeleteTunerHostAPI.swift index 95c95cc01..3017ff758 100644 --- a/Sources/Paths/DeleteTunerHostAPI.swift +++ b/Sources/Paths/DeleteTunerHostAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteUserAPI.swift b/Sources/Paths/DeleteUserAPI.swift index 305456a15..97237eda7 100644 --- a/Sources/Paths/DeleteUserAPI.swift +++ b/Sources/Paths/DeleteUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteUserImageAPI.swift b/Sources/Paths/DeleteUserImageAPI.swift index 9902bb0e9..348c7ffa0 100644 --- a/Sources/Paths/DeleteUserImageAPI.swift +++ b/Sources/Paths/DeleteUserImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -12,7 +12,7 @@ import URLQueryEncoder extension Paths { /// Delete the user's image. - public static func deleteUserImage(userID: String, imageType: String, index: Int32? = nil) -> Request { + public static func deleteUserImage(userID: String, imageType: String, index: Int? = nil) -> Request { Request( method: "DELETE", url: "/Users/\(userID)/Images/\(imageType)", @@ -21,7 +21,7 @@ extension Paths { ) } - private static func makeDeleteUserImageQuery(_ index: Int32?) -> [(String, String?)] { + private static func makeDeleteUserImageQuery(_ index: Int?) -> [(String, String?)] { let encoder = URLQueryEncoder() encoder.encode(index, forKey: "index") return encoder.items diff --git a/Sources/Paths/DeleteUserImageByIndexAPI.swift b/Sources/Paths/DeleteUserImageByIndexAPI.swift index 5580e7c69..ef89f07cc 100644 --- a/Sources/Paths/DeleteUserImageByIndexAPI.swift +++ b/Sources/Paths/DeleteUserImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DeleteUserItemRatingAPI.swift b/Sources/Paths/DeleteUserItemRatingAPI.swift index 45e5c05a3..33eaa9c89 100644 --- a/Sources/Paths/DeleteUserItemRatingAPI.swift +++ b/Sources/Paths/DeleteUserItemRatingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DisablePluginAPI.swift b/Sources/Paths/DisablePluginAPI.swift index 3d6328fcb..abf578dc7 100644 --- a/Sources/Paths/DisablePluginAPI.swift +++ b/Sources/Paths/DisablePluginAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DiscoverTunersAPI.swift b/Sources/Paths/DiscoverTunersAPI.swift index 4fe7bcae7..b22619afb 100644 --- a/Sources/Paths/DiscoverTunersAPI.swift +++ b/Sources/Paths/DiscoverTunersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DiscvoverTunersAPI.swift b/Sources/Paths/DiscvoverTunersAPI.swift index f8b8ca881..a61d42d17 100644 --- a/Sources/Paths/DiscvoverTunersAPI.swift +++ b/Sources/Paths/DiscvoverTunersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DisplayContentAPI.swift b/Sources/Paths/DisplayContentAPI.swift index 56410bd2f..b5fc0a188 100644 --- a/Sources/Paths/DisplayContentAPI.swift +++ b/Sources/Paths/DisplayContentAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DownloadRemoteImageAPI.swift b/Sources/Paths/DownloadRemoteImageAPI.swift index da2bc103b..d47e945dc 100644 --- a/Sources/Paths/DownloadRemoteImageAPI.swift +++ b/Sources/Paths/DownloadRemoteImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/DownloadRemoteSubtitlesAPI.swift b/Sources/Paths/DownloadRemoteSubtitlesAPI.swift index ddbcfb709..b0edf47fb 100644 --- a/Sources/Paths/DownloadRemoteSubtitlesAPI.swift +++ b/Sources/Paths/DownloadRemoteSubtitlesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/EnablePluginAPI.swift b/Sources/Paths/EnablePluginAPI.swift index 531e74bb9..93ced0997 100644 --- a/Sources/Paths/EnablePluginAPI.swift +++ b/Sources/Paths/EnablePluginAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ForgotPasswordAPI.swift b/Sources/Paths/ForgotPasswordAPI.swift index f1df7021a..4e6f2a58e 100644 --- a/Sources/Paths/ForgotPasswordAPI.swift +++ b/Sources/Paths/ForgotPasswordAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ForgotPasswordPinAPI.swift b/Sources/Paths/ForgotPasswordPinAPI.swift index 99d436efd..4d6f19573 100644 --- a/Sources/Paths/ForgotPasswordPinAPI.swift +++ b/Sources/Paths/ForgotPasswordPinAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetAPI.swift b/Sources/Paths/GetAPI.swift index c64cc4c3b..f4be5e580 100644 --- a/Sources/Paths/GetAPI.swift +++ b/Sources/Paths/GetAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,8 +17,8 @@ public extension Paths { } struct GetParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var userID: String? public var searchTerm: String public var includeItemTypes: [JellyfinAPI.BaseItemKind]? @@ -37,8 +37,8 @@ public extension Paths { public var isIncludeArtists: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, userID: String? = nil, searchTerm: String, includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, diff --git a/Sources/Paths/GetAdditionalPartAPI.swift b/Sources/Paths/GetAdditionalPartAPI.swift index d6d21e0e3..33f991e3b 100644 --- a/Sources/Paths/GetAdditionalPartAPI.swift +++ b/Sources/Paths/GetAdditionalPartAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetAlbumArtistsAPI.swift b/Sources/Paths/GetAlbumArtistsAPI.swift index 9b5dd9a1e..ecff4d524 100644 --- a/Sources/Paths/GetAlbumArtistsAPI.swift +++ b/Sources/Paths/GetAlbumArtistsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,8 +18,8 @@ public extension Paths { struct GetAlbumArtistsParameters { public var minCommunityRating: Double? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? @@ -32,9 +32,9 @@ public extension Paths { public var genreIDs: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var person: String? public var personIDs: [String]? @@ -52,8 +52,8 @@ public extension Paths { public init( minCommunityRating: Double? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, @@ -66,9 +66,9 @@ public extension Paths { genreIDs: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, - years: [Int32]? = nil, + years: [Int]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, person: String? = nil, personIDs: [String]? = nil, diff --git a/Sources/Paths/GetAllChannelFeaturesAPI.swift b/Sources/Paths/GetAllChannelFeaturesAPI.swift index eeb9bbc91..313b4fc04 100644 --- a/Sources/Paths/GetAllChannelFeaturesAPI.swift +++ b/Sources/Paths/GetAllChannelFeaturesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetAncestorsAPI.swift b/Sources/Paths/GetAncestorsAPI.swift index 4bb9915c2..9ab5bfe19 100644 --- a/Sources/Paths/GetAncestorsAPI.swift +++ b/Sources/Paths/GetAncestorsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetArtistByNameAPI.swift b/Sources/Paths/GetArtistByNameAPI.swift index 1ed9da8a4..45c3d458d 100644 --- a/Sources/Paths/GetArtistByNameAPI.swift +++ b/Sources/Paths/GetArtistByNameAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetArtistImageAPI.swift b/Sources/Paths/GetArtistImageAPI.swift index 986414051..4fd21052a 100644 --- a/Sources/Paths/GetArtistImageAPI.swift +++ b/Sources/Paths/GetArtistImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,18 +24,18 @@ public extension Paths { struct GetArtistImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -44,18 +44,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetArtistsAPI.swift b/Sources/Paths/GetArtistsAPI.swift index 1c8b05cb5..366a07d28 100644 --- a/Sources/Paths/GetArtistsAPI.swift +++ b/Sources/Paths/GetArtistsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,8 +18,8 @@ public extension Paths { struct GetArtistsParameters { public var minCommunityRating: Double? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? @@ -32,9 +32,9 @@ public extension Paths { public var genreIDs: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var person: String? public var personIDs: [String]? @@ -52,8 +52,8 @@ public extension Paths { public init( minCommunityRating: Double? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, @@ -66,9 +66,9 @@ public extension Paths { genreIDs: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, - years: [Int32]? = nil, + years: [Int]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, person: String? = nil, personIDs: [String]? = nil, diff --git a/Sources/Paths/GetAttachmentAPI.swift b/Sources/Paths/GetAttachmentAPI.swift index e0e2aafac..7db0d5506 100644 --- a/Sources/Paths/GetAttachmentAPI.swift +++ b/Sources/Paths/GetAttachmentAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetAudioStreamAPI.swift b/Sources/Paths/GetAudioStreamAPI.swift index 480ee10ef..934f57af3 100644 --- a/Sources/Paths/GetAudioStreamAPI.swift +++ b/Sources/Paths/GetAudioStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,8 +24,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -33,36 +33,36 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -80,8 +80,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -89,36 +89,36 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetAudioStreamByContainerAPI.swift b/Sources/Paths/GetAudioStreamByContainerAPI.swift index 21e0fce26..f2254209b 100644 --- a/Sources/Paths/GetAudioStreamByContainerAPI.swift +++ b/Sources/Paths/GetAudioStreamByContainerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,8 +27,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -36,36 +36,36 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -82,8 +82,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -91,36 +91,36 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetAuthProvidersAPI.swift b/Sources/Paths/GetAuthProvidersAPI.swift index 47a0f5aa4..899d635a0 100644 --- a/Sources/Paths/GetAuthProvidersAPI.swift +++ b/Sources/Paths/GetAuthProvidersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetBitrateTestBytesAPI.swift b/Sources/Paths/GetBitrateTestBytesAPI.swift index 7595dcb27..51b21ca57 100644 --- a/Sources/Paths/GetBitrateTestBytesAPI.swift +++ b/Sources/Paths/GetBitrateTestBytesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -12,11 +12,11 @@ import URLQueryEncoder extension Paths { /// Tests the network with a request with the size of the bitrate. - public static func getBitrateTestBytes(size: Int32? = nil) -> Request { + public static func getBitrateTestBytes(size: Int? = nil) -> Request { Request(method: "GET", url: "/Playback/BitrateTest", query: makeGetBitrateTestBytesQuery(size), id: "GetBitrateTestBytes") } - private static func makeGetBitrateTestBytesQuery(_ size: Int32?) -> [(String, String?)] { + private static func makeGetBitrateTestBytesQuery(_ size: Int?) -> [(String, String?)] { let encoder = URLQueryEncoder() encoder.encode(size, forKey: "size") return encoder.items diff --git a/Sources/Paths/GetBookRemoteSearchResultsAPI.swift b/Sources/Paths/GetBookRemoteSearchResultsAPI.swift index 4564c9eb4..0c1b23a9c 100644 --- a/Sources/Paths/GetBookRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetBookRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetBoxSetRemoteSearchResultsAPI.swift b/Sources/Paths/GetBoxSetRemoteSearchResultsAPI.swift index a585e0df4..d163b3687 100644 --- a/Sources/Paths/GetBoxSetRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetBoxSetRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetBrandingCss2API.swift b/Sources/Paths/GetBrandingCss2API.swift index e675bf92a..8a7d5ec3e 100644 --- a/Sources/Paths/GetBrandingCss2API.swift +++ b/Sources/Paths/GetBrandingCss2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetBrandingCssAPI.swift b/Sources/Paths/GetBrandingCssAPI.swift index 227af63bd..a7f882547 100644 --- a/Sources/Paths/GetBrandingCssAPI.swift +++ b/Sources/Paths/GetBrandingCssAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetBrandingOptionsAPI.swift b/Sources/Paths/GetBrandingOptionsAPI.swift index a663b18aa..5df871d0d 100644 --- a/Sources/Paths/GetBrandingOptionsAPI.swift +++ b/Sources/Paths/GetBrandingOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetChannelAPI.swift b/Sources/Paths/GetChannelAPI.swift index 3a6974725..f90986065 100644 --- a/Sources/Paths/GetChannelAPI.swift +++ b/Sources/Paths/GetChannelAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetChannelFeaturesAPI.swift b/Sources/Paths/GetChannelFeaturesAPI.swift index b58d206bf..8d1d66e18 100644 --- a/Sources/Paths/GetChannelFeaturesAPI.swift +++ b/Sources/Paths/GetChannelFeaturesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetChannelItemsAPI.swift b/Sources/Paths/GetChannelItemsAPI.swift index fbedee565..8bb6f735b 100644 --- a/Sources/Paths/GetChannelItemsAPI.swift +++ b/Sources/Paths/GetChannelItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,8 +22,8 @@ public extension Paths { struct GetChannelItemsParameters { public var folderID: String? public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var sortOrder: [JellyfinAPI.SortOrder]? public var filters: [JellyfinAPI.ItemFilter]? public var sortBy: [String]? @@ -32,8 +32,8 @@ public extension Paths { public init( folderID: String? = nil, userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, filters: [JellyfinAPI.ItemFilter]? = nil, sortBy: [String]? = nil, diff --git a/Sources/Paths/GetChannelMappingOptionsAPI.swift b/Sources/Paths/GetChannelMappingOptionsAPI.swift index ac3ab23dd..132586aa7 100644 --- a/Sources/Paths/GetChannelMappingOptionsAPI.swift +++ b/Sources/Paths/GetChannelMappingOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetChannelsAPI.swift b/Sources/Paths/GetChannelsAPI.swift index adde3cbf2..9005993c2 100644 --- a/Sources/Paths/GetChannelsAPI.swift +++ b/Sources/Paths/GetChannelsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,16 +18,16 @@ public extension Paths { struct GetChannelsParameters { public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var isSupportsLatestItems: Bool? public var isSupportsMediaDeletion: Bool? public var isFavorite: Bool? public init( userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, isSupportsLatestItems: Bool? = nil, isSupportsMediaDeletion: Bool? = nil, isFavorite: Bool? = nil diff --git a/Sources/Paths/GetConfigurationAPI.swift b/Sources/Paths/GetConfigurationAPI.swift index 4f1d5a6d4..d23806ba7 100644 --- a/Sources/Paths/GetConfigurationAPI.swift +++ b/Sources/Paths/GetConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetConfigurationPagesAPI.swift b/Sources/Paths/GetConfigurationPagesAPI.swift index 7bd41a27d..3cdb3a057 100644 --- a/Sources/Paths/GetConfigurationPagesAPI.swift +++ b/Sources/Paths/GetConfigurationPagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetConnectionManager2API.swift b/Sources/Paths/GetConnectionManager2API.swift index 264e7dde3..47cb7c976 100644 --- a/Sources/Paths/GetConnectionManager2API.swift +++ b/Sources/Paths/GetConnectionManager2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetConnectionManager3API.swift b/Sources/Paths/GetConnectionManager3API.swift index 506d8297d..24adbb513 100644 --- a/Sources/Paths/GetConnectionManager3API.swift +++ b/Sources/Paths/GetConnectionManager3API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetConnectionManagerAPI.swift b/Sources/Paths/GetConnectionManagerAPI.swift index f99f13e58..a96bcb877 100644 --- a/Sources/Paths/GetConnectionManagerAPI.swift +++ b/Sources/Paths/GetConnectionManagerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetContentDirectory2API.swift b/Sources/Paths/GetContentDirectory2API.swift index afb78ccaa..4c0cabfeb 100644 --- a/Sources/Paths/GetContentDirectory2API.swift +++ b/Sources/Paths/GetContentDirectory2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetContentDirectory3API.swift b/Sources/Paths/GetContentDirectory3API.swift index db3740181..fdc45f64a 100644 --- a/Sources/Paths/GetContentDirectory3API.swift +++ b/Sources/Paths/GetContentDirectory3API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetContentDirectoryAPI.swift b/Sources/Paths/GetContentDirectoryAPI.swift index 63bb99753..9f37ffe9d 100644 --- a/Sources/Paths/GetContentDirectoryAPI.swift +++ b/Sources/Paths/GetContentDirectoryAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetCountriesAPI.swift b/Sources/Paths/GetCountriesAPI.swift index 3696be624..389e6f0b0 100644 --- a/Sources/Paths/GetCountriesAPI.swift +++ b/Sources/Paths/GetCountriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetCriticReviewsAPI.swift b/Sources/Paths/GetCriticReviewsAPI.swift index 9cdacf25d..d19661235 100644 --- a/Sources/Paths/GetCriticReviewsAPI.swift +++ b/Sources/Paths/GetCriticReviewsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetCulturesAPI.swift b/Sources/Paths/GetCulturesAPI.swift index 6d90499fc..3eb36f72d 100644 --- a/Sources/Paths/GetCulturesAPI.swift +++ b/Sources/Paths/GetCulturesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetCurrentUserAPI.swift b/Sources/Paths/GetCurrentUserAPI.swift index 12b3fe83c..baf5da45d 100644 --- a/Sources/Paths/GetCurrentUserAPI.swift +++ b/Sources/Paths/GetCurrentUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDashboardConfigurationPageAPI.swift b/Sources/Paths/GetDashboardConfigurationPageAPI.swift index eabeedf9c..c1c6261b6 100644 --- a/Sources/Paths/GetDashboardConfigurationPageAPI.swift +++ b/Sources/Paths/GetDashboardConfigurationPageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDefaultDirectoryBrowserAPI.swift b/Sources/Paths/GetDefaultDirectoryBrowserAPI.swift index a816fd033..b8343e4d9 100644 --- a/Sources/Paths/GetDefaultDirectoryBrowserAPI.swift +++ b/Sources/Paths/GetDefaultDirectoryBrowserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDefaultListingProviderAPI.swift b/Sources/Paths/GetDefaultListingProviderAPI.swift index cad4a5af2..140869507 100644 --- a/Sources/Paths/GetDefaultListingProviderAPI.swift +++ b/Sources/Paths/GetDefaultListingProviderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDefaultMetadataOptionsAPI.swift b/Sources/Paths/GetDefaultMetadataOptionsAPI.swift index 3d78cbb0e..c09df8f9c 100644 --- a/Sources/Paths/GetDefaultMetadataOptionsAPI.swift +++ b/Sources/Paths/GetDefaultMetadataOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDefaultProfileAPI.swift b/Sources/Paths/GetDefaultProfileAPI.swift index 52b4b4f34..628d4c082 100644 --- a/Sources/Paths/GetDefaultProfileAPI.swift +++ b/Sources/Paths/GetDefaultProfileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDefaultTimerAPI.swift b/Sources/Paths/GetDefaultTimerAPI.swift index 0d840187a..a60ee23a8 100644 --- a/Sources/Paths/GetDefaultTimerAPI.swift +++ b/Sources/Paths/GetDefaultTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDescriptionXml2API.swift b/Sources/Paths/GetDescriptionXml2API.swift index 969c04d1d..435a4aef9 100644 --- a/Sources/Paths/GetDescriptionXml2API.swift +++ b/Sources/Paths/GetDescriptionXml2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDescriptionXmlAPI.swift b/Sources/Paths/GetDescriptionXmlAPI.swift index 6329c0468..c2366ed74 100644 --- a/Sources/Paths/GetDescriptionXmlAPI.swift +++ b/Sources/Paths/GetDescriptionXmlAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDeviceInfoAPI.swift b/Sources/Paths/GetDeviceInfoAPI.swift index a371c7733..e7332ac6a 100644 --- a/Sources/Paths/GetDeviceInfoAPI.swift +++ b/Sources/Paths/GetDeviceInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDeviceOptionsAPI.swift b/Sources/Paths/GetDeviceOptionsAPI.swift index 8ad98b666..bf26d64f4 100644 --- a/Sources/Paths/GetDeviceOptionsAPI.swift +++ b/Sources/Paths/GetDeviceOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDevicesAPI.swift b/Sources/Paths/GetDevicesAPI.swift index b366cad26..bbefb0202 100644 --- a/Sources/Paths/GetDevicesAPI.swift +++ b/Sources/Paths/GetDevicesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDirectoryContentsAPI.swift b/Sources/Paths/GetDirectoryContentsAPI.swift index 8269885c5..f85fffb45 100644 --- a/Sources/Paths/GetDirectoryContentsAPI.swift +++ b/Sources/Paths/GetDirectoryContentsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDisplayPreferencesAPI.swift b/Sources/Paths/GetDisplayPreferencesAPI.swift index 3fa6f8f2a..7edabf442 100644 --- a/Sources/Paths/GetDisplayPreferencesAPI.swift +++ b/Sources/Paths/GetDisplayPreferencesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDownloadAPI.swift b/Sources/Paths/GetDownloadAPI.swift index 4b58a6091..20394c553 100644 --- a/Sources/Paths/GetDownloadAPI.swift +++ b/Sources/Paths/GetDownloadAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetDrivesAPI.swift b/Sources/Paths/GetDrivesAPI.swift index 3a7861968..ba9279786 100644 --- a/Sources/Paths/GetDrivesAPI.swift +++ b/Sources/Paths/GetDrivesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetEnabledAPI.swift b/Sources/Paths/GetEnabledAPI.swift index 583d29109..d7c514c17 100644 --- a/Sources/Paths/GetEnabledAPI.swift +++ b/Sources/Paths/GetEnabledAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetEndpointInfoAPI.swift b/Sources/Paths/GetEndpointInfoAPI.swift index 2eadb0743..4186779f9 100644 --- a/Sources/Paths/GetEndpointInfoAPI.swift +++ b/Sources/Paths/GetEndpointInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetEpisodesAPI.swift b/Sources/Paths/GetEpisodesAPI.swift index 88a119652..327e446c5 100644 --- a/Sources/Paths/GetEpisodesAPI.swift +++ b/Sources/Paths/GetEpisodesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,15 +19,15 @@ public extension Paths { struct GetEpisodesParameters { public var userID: String? public var fields: [JellyfinAPI.ItemFields]? - public var season: Int32? + public var season: Int? public var seasonID: String? public var isMissing: Bool? public var adjacentTo: String? public var startItemID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? public var sortBy: String? @@ -35,15 +35,15 @@ public extension Paths { public init( userID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, - season: Int32? = nil, + season: Int? = nil, seasonID: String? = nil, isMissing: Bool? = nil, adjacentTo: String? = nil, startItemID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil, sortBy: String? = nil diff --git a/Sources/Paths/GetExternalIDInfosAPI.swift b/Sources/Paths/GetExternalIDInfosAPI.swift index 0c8ab709e..24d9beb7b 100644 --- a/Sources/Paths/GetExternalIDInfosAPI.swift +++ b/Sources/Paths/GetExternalIDInfosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetFallbackFontAPI.swift b/Sources/Paths/GetFallbackFontAPI.swift index c99e59607..44d2df26f 100644 --- a/Sources/Paths/GetFallbackFontAPI.swift +++ b/Sources/Paths/GetFallbackFontAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetFallbackFontListAPI.swift b/Sources/Paths/GetFallbackFontListAPI.swift index f8576c8fb..b0fe963fb 100644 --- a/Sources/Paths/GetFallbackFontListAPI.swift +++ b/Sources/Paths/GetFallbackFontListAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetFileAPI.swift b/Sources/Paths/GetFileAPI.swift index b86738d70..c5ad0e96c 100644 --- a/Sources/Paths/GetFileAPI.swift +++ b/Sources/Paths/GetFileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetFirstUser2API.swift b/Sources/Paths/GetFirstUser2API.swift index bb05f24cf..bf48514da 100644 --- a/Sources/Paths/GetFirstUser2API.swift +++ b/Sources/Paths/GetFirstUser2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetFirstUserAPI.swift b/Sources/Paths/GetFirstUserAPI.swift index eb854f249..7c81fb92d 100644 --- a/Sources/Paths/GetFirstUserAPI.swift +++ b/Sources/Paths/GetFirstUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetGeneralImageAPI.swift b/Sources/Paths/GetGeneralImageAPI.swift index 99d5460e7..53c6f3d84 100644 --- a/Sources/Paths/GetGeneralImageAPI.swift +++ b/Sources/Paths/GetGeneralImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetGeneralImagesAPI.swift b/Sources/Paths/GetGeneralImagesAPI.swift index 55ffd360d..1042ca703 100644 --- a/Sources/Paths/GetGeneralImagesAPI.swift +++ b/Sources/Paths/GetGeneralImagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetGenreAPI.swift b/Sources/Paths/GetGenreAPI.swift index 3985d07f0..bb388fc55 100644 --- a/Sources/Paths/GetGenreAPI.swift +++ b/Sources/Paths/GetGenreAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetGenreImageAPI.swift b/Sources/Paths/GetGenreImageAPI.swift index d48056071..dbbba0455 100644 --- a/Sources/Paths/GetGenreImageAPI.swift +++ b/Sources/Paths/GetGenreImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct GetGenreImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetGenreImageByIndexAPI.swift b/Sources/Paths/GetGenreImageByIndexAPI.swift index adff34a3f..bf61765e1 100644 --- a/Sources/Paths/GetGenreImageByIndexAPI.swift +++ b/Sources/Paths/GetGenreImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct GetGenreImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetGenresAPI.swift b/Sources/Paths/GetGenresAPI.swift index 1de145d06..7c67d99c8 100644 --- a/Sources/Paths/GetGenresAPI.swift +++ b/Sources/Paths/GetGenresAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,15 +17,15 @@ public extension Paths { } struct GetGenresParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? public var excludeItemTypes: [JellyfinAPI.BaseItemKind]? public var includeItemTypes: [JellyfinAPI.BaseItemKind]? public var isFavorite: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var userID: String? public var nameStartsWithOrGreater: String? @@ -37,15 +37,15 @@ public extension Paths { public var enableTotalRecordCount: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, excludeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, isFavorite: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, userID: String? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetGroupingOptionsAPI.swift b/Sources/Paths/GetGroupingOptionsAPI.swift index 47f26b4f6..2d22369f0 100644 --- a/Sources/Paths/GetGroupingOptionsAPI.swift +++ b/Sources/Paths/GetGroupingOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetGuideInfoAPI.swift b/Sources/Paths/GetGuideInfoAPI.swift index 37e60d1d7..c4febc288 100644 --- a/Sources/Paths/GetGuideInfoAPI.swift +++ b/Sources/Paths/GetGuideInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetHlsAudioSegmentAPI.swift b/Sources/Paths/GetHlsAudioSegmentAPI.swift index c460c5015..704283c14 100644 --- a/Sources/Paths/GetHlsAudioSegmentAPI.swift +++ b/Sources/Paths/GetHlsAudioSegmentAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -28,16 +28,16 @@ public extension Paths { } struct GetHlsAudioSegmentParameters { - public var runtimeTicks: Int64 - public var actualSegmentLengthTicks: Int64 + public var runtimeTicks: Int + public var actualSegmentLengthTicks: Int public var isStatic: Bool? public var params: String? public var tag: String? public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -45,37 +45,37 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -86,16 +86,16 @@ public extension Paths { public typealias StreamOptions = [String: String] public init( - runtimeTicks: Int64, - actualSegmentLengthTicks: Int64, + runtimeTicks: Int, + actualSegmentLengthTicks: Int, isStatic: Bool? = nil, params: String? = nil, tag: String? = nil, deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -103,37 +103,37 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetHlsAudioSegmentLegacyAacAPI.swift b/Sources/Paths/GetHlsAudioSegmentLegacyAacAPI.swift index 96ba0310c..8354bf136 100644 --- a/Sources/Paths/GetHlsAudioSegmentLegacyAacAPI.swift +++ b/Sources/Paths/GetHlsAudioSegmentLegacyAacAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetHlsAudioSegmentLegacyMp3API.swift b/Sources/Paths/GetHlsAudioSegmentLegacyMp3API.swift index b27825a2b..d9103819a 100644 --- a/Sources/Paths/GetHlsAudioSegmentLegacyMp3API.swift +++ b/Sources/Paths/GetHlsAudioSegmentLegacyMp3API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetHlsPlaylistLegacyAPI.swift b/Sources/Paths/GetHlsPlaylistLegacyAPI.swift index a8ac084f3..5593e9d92 100644 --- a/Sources/Paths/GetHlsPlaylistLegacyAPI.swift +++ b/Sources/Paths/GetHlsPlaylistLegacyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetHlsVideoSegmentAPI.swift b/Sources/Paths/GetHlsVideoSegmentAPI.swift index 7e411ff12..4ba421906 100644 --- a/Sources/Paths/GetHlsVideoSegmentAPI.swift +++ b/Sources/Paths/GetHlsVideoSegmentAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -28,16 +28,16 @@ public extension Paths { } struct GetHlsVideoSegmentParameters { - public var runtimeTicks: Int64 - public var actualSegmentLengthTicks: Int64 + public var runtimeTicks: Int + public var actualSegmentLengthTicks: Int public var isStatic: Bool? public var params: String? public var tag: String? public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -45,38 +45,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -87,16 +87,16 @@ public extension Paths { public typealias StreamOptions = [String: String] public init( - runtimeTicks: Int64, - actualSegmentLengthTicks: Int64, + runtimeTicks: Int, + actualSegmentLengthTicks: Int, isStatic: Bool? = nil, params: String? = nil, tag: String? = nil, deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -104,38 +104,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetHlsVideoSegmentLegacyAPI.swift b/Sources/Paths/GetHlsVideoSegmentLegacyAPI.swift index 106231274..c6b803c8d 100644 --- a/Sources/Paths/GetHlsVideoSegmentLegacyAPI.swift +++ b/Sources/Paths/GetHlsVideoSegmentLegacyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetIconAPI.swift b/Sources/Paths/GetIconAPI.swift index 92aa42dbe..3a4e6cfdd 100644 --- a/Sources/Paths/GetIconAPI.swift +++ b/Sources/Paths/GetIconAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetIconIDAPI.swift b/Sources/Paths/GetIconIDAPI.swift index 03701c90f..781ce5074 100644 --- a/Sources/Paths/GetIconIDAPI.swift +++ b/Sources/Paths/GetIconIDAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetInstantMixFromAlbumAPI.swift b/Sources/Paths/GetInstantMixFromAlbumAPI.swift index eb4a56af3..87ca9e3c9 100644 --- a/Sources/Paths/GetInstantMixFromAlbumAPI.swift +++ b/Sources/Paths/GetInstantMixFromAlbumAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromAlbumParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetInstantMixFromArtists2API.swift b/Sources/Paths/GetInstantMixFromArtists2API.swift index 0f6540193..a246abe50 100644 --- a/Sources/Paths/GetInstantMixFromArtists2API.swift +++ b/Sources/Paths/GetInstantMixFromArtists2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -20,21 +20,21 @@ public extension Paths { struct GetInstantMixFromArtists2Parameters { public var id: String public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( id: String, userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.id = id diff --git a/Sources/Paths/GetInstantMixFromArtistsAPI.swift b/Sources/Paths/GetInstantMixFromArtistsAPI.swift index 1dd84281e..afdea7b6b 100644 --- a/Sources/Paths/GetInstantMixFromArtistsAPI.swift +++ b/Sources/Paths/GetInstantMixFromArtistsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromArtistsParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetInstantMixFromItemAPI.swift b/Sources/Paths/GetInstantMixFromItemAPI.swift index 759db832f..024202260 100644 --- a/Sources/Paths/GetInstantMixFromItemAPI.swift +++ b/Sources/Paths/GetInstantMixFromItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromItemParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetInstantMixFromMusicGenreByIDAPI.swift b/Sources/Paths/GetInstantMixFromMusicGenreByIDAPI.swift index c103a8f40..b16950339 100644 --- a/Sources/Paths/GetInstantMixFromMusicGenreByIDAPI.swift +++ b/Sources/Paths/GetInstantMixFromMusicGenreByIDAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -20,21 +20,21 @@ public extension Paths { struct GetInstantMixFromMusicGenreByIDParameters { public var id: String public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( id: String, userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.id = id diff --git a/Sources/Paths/GetInstantMixFromMusicGenreByNameAPI.swift b/Sources/Paths/GetInstantMixFromMusicGenreByNameAPI.swift index 2cd687703..7ba1f0760 100644 --- a/Sources/Paths/GetInstantMixFromMusicGenreByNameAPI.swift +++ b/Sources/Paths/GetInstantMixFromMusicGenreByNameAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromMusicGenreByNameParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetInstantMixFromPlaylistAPI.swift b/Sources/Paths/GetInstantMixFromPlaylistAPI.swift index 214633afe..4af44cfde 100644 --- a/Sources/Paths/GetInstantMixFromPlaylistAPI.swift +++ b/Sources/Paths/GetInstantMixFromPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromPlaylistParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetInstantMixFromSongAPI.swift b/Sources/Paths/GetInstantMixFromSongAPI.swift index eb67dafea..1af21eab4 100644 --- a/Sources/Paths/GetInstantMixFromSongAPI.swift +++ b/Sources/Paths/GetInstantMixFromSongAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,20 +21,20 @@ public extension Paths { struct GetInstantMixFromSongParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetIntrosAPI.swift b/Sources/Paths/GetIntrosAPI.swift index f36cd5df9..5f7a88e47 100644 --- a/Sources/Paths/GetIntrosAPI.swift +++ b/Sources/Paths/GetIntrosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetItemAPI.swift b/Sources/Paths/GetItemAPI.swift index c3c8b7679..e78e7ffaa 100644 --- a/Sources/Paths/GetItemAPI.swift +++ b/Sources/Paths/GetItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetItemCountsAPI.swift b/Sources/Paths/GetItemCountsAPI.swift index f5fecb20b..d6dc1c005 100644 --- a/Sources/Paths/GetItemCountsAPI.swift +++ b/Sources/Paths/GetItemCountsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetItemImage2API.swift b/Sources/Paths/GetItemImage2API.swift index b2738f4f5..255b89ae5 100644 --- a/Sources/Paths/GetItemImage2API.swift +++ b/Sources/Paths/GetItemImage2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -33,26 +33,26 @@ public extension Paths { } struct GetItemImage2Parameters { - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? public init( - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetItemImageAPI.swift b/Sources/Paths/GetItemImageAPI.swift index e3fee9839..be64655f7 100644 --- a/Sources/Paths/GetItemImageAPI.swift +++ b/Sources/Paths/GetItemImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,44 +17,44 @@ public extension Paths { } struct GetItemImageParameters { - public var maxWidth: Int32? - public var maxHeight: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var tag: String? public var isCropWhitespace: Bool? public var format: Format? public var isAddPlayedIndicator: Bool? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var blur: Int32? + public var unplayedCount: Int? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, tag: String? = nil, isCropWhitespace: Bool? = nil, format: Format? = nil, isAddPlayedIndicator: Bool? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - blur: Int32? = nil, + unplayedCount: Int? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.maxWidth = maxWidth self.maxHeight = maxHeight diff --git a/Sources/Paths/GetItemImageByIndexAPI.swift b/Sources/Paths/GetItemImageByIndexAPI.swift index e1e348d00..29d63cd2d 100644 --- a/Sources/Paths/GetItemImageByIndexAPI.swift +++ b/Sources/Paths/GetItemImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,40 +27,40 @@ public extension Paths { } struct GetItemImageByIndexParameters { - public var maxWidth: Int32? - public var maxHeight: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var tag: String? public var isCropWhitespace: Bool? public var format: Format? public var isAddPlayedIndicator: Bool? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var blur: Int32? + public var unplayedCount: Int? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? public typealias Format = JellyfinAPI.ImageFormat public init( - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, tag: String? = nil, isCropWhitespace: Bool? = nil, format: Format? = nil, isAddPlayedIndicator: Bool? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - blur: Int32? = nil, + unplayedCount: Int? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetItemImageInfosAPI.swift b/Sources/Paths/GetItemImageInfosAPI.swift index 18e5d0524..79558bbc7 100644 --- a/Sources/Paths/GetItemImageInfosAPI.swift +++ b/Sources/Paths/GetItemImageInfosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetItemsAPI.swift b/Sources/Paths/GetItemsAPI.swift index 95ff139fa..0f896f3ec 100644 --- a/Sources/Paths/GetItemsAPI.swift +++ b/Sources/Paths/GetItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -25,7 +25,7 @@ public extension Paths { public var hasSpecialFeature: Bool? public var hasTrailer: Bool? public var adjacentTo: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? public var hasParentalRating: Bool? public var isHd: Bool? public var isIs4K: Bool? @@ -49,8 +49,8 @@ public extension Paths { public var isKids: Bool? public var isSports: Bool? public var excludeItemIDs: [String]? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var isRecursive: Bool? public var searchTerm: String? public var sortOrder: [JellyfinAPI.SortOrder]? @@ -67,9 +67,9 @@ public extension Paths { public var genres: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var person: String? public var personIDs: [String]? @@ -89,10 +89,10 @@ public extension Paths { public var isPlaceHolder: Bool? public var hasOfficialRating: Bool? public var isCollapseBoxSetItems: Bool? - public var minWidth: Int32? - public var minHeight: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var minWidth: Int? + public var minHeight: Int? + public var maxWidth: Int? + public var maxHeight: Int? public var isIs3D: Bool? public var seriesStatus: [JellyfinAPI.SeriesStatus]? public var nameStartsWithOrGreater: String? @@ -112,7 +112,7 @@ public extension Paths { hasSpecialFeature: Bool? = nil, hasTrailer: Bool? = nil, adjacentTo: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, hasParentalRating: Bool? = nil, isHd: Bool? = nil, isIs4K: Bool? = nil, @@ -136,8 +136,8 @@ public extension Paths { isKids: Bool? = nil, isSports: Bool? = nil, excludeItemIDs: [String]? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, isRecursive: Bool? = nil, searchTerm: String? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, @@ -154,9 +154,9 @@ public extension Paths { genres: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, - years: [Int32]? = nil, + years: [Int]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, person: String? = nil, personIDs: [String]? = nil, @@ -176,10 +176,10 @@ public extension Paths { isPlaceHolder: Bool? = nil, hasOfficialRating: Bool? = nil, isCollapseBoxSetItems: Bool? = nil, - minWidth: Int32? = nil, - minHeight: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + minWidth: Int? = nil, + minHeight: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, isIs3D: Bool? = nil, seriesStatus: [JellyfinAPI.SeriesStatus]? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetItemsByUserIDAPI.swift b/Sources/Paths/GetItemsByUserIDAPI.swift index 69e947aa8..b1ac37ecd 100644 --- a/Sources/Paths/GetItemsByUserIDAPI.swift +++ b/Sources/Paths/GetItemsByUserIDAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,7 +27,7 @@ public extension Paths { public var hasSpecialFeature: Bool? public var hasTrailer: Bool? public var adjacentTo: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? public var hasParentalRating: Bool? public var isHd: Bool? public var isIs4K: Bool? @@ -51,8 +51,8 @@ public extension Paths { public var isKids: Bool? public var isSports: Bool? public var excludeItemIDs: [String]? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var isRecursive: Bool? public var searchTerm: String? public var sortOrder: [JellyfinAPI.SortOrder]? @@ -69,9 +69,9 @@ public extension Paths { public var genres: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var person: String? public var personIDs: [String]? @@ -91,10 +91,10 @@ public extension Paths { public var isPlaceHolder: Bool? public var hasOfficialRating: Bool? public var isCollapseBoxSetItems: Bool? - public var minWidth: Int32? - public var minHeight: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var minWidth: Int? + public var minHeight: Int? + public var maxWidth: Int? + public var maxHeight: Int? public var isIs3D: Bool? public var seriesStatus: [JellyfinAPI.SeriesStatus]? public var nameStartsWithOrGreater: String? @@ -113,7 +113,7 @@ public extension Paths { hasSpecialFeature: Bool? = nil, hasTrailer: Bool? = nil, adjacentTo: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, hasParentalRating: Bool? = nil, isHd: Bool? = nil, isIs4K: Bool? = nil, @@ -137,8 +137,8 @@ public extension Paths { isKids: Bool? = nil, isSports: Bool? = nil, excludeItemIDs: [String]? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, isRecursive: Bool? = nil, searchTerm: String? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, @@ -155,9 +155,9 @@ public extension Paths { genres: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, - years: [Int32]? = nil, + years: [Int]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, person: String? = nil, personIDs: [String]? = nil, @@ -177,10 +177,10 @@ public extension Paths { isPlaceHolder: Bool? = nil, hasOfficialRating: Bool? = nil, isCollapseBoxSetItems: Bool? = nil, - minWidth: Int32? = nil, - minHeight: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + minWidth: Int? = nil, + minHeight: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, isIs3D: Bool? = nil, seriesStatus: [JellyfinAPI.SeriesStatus]? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetKeysAPI.swift b/Sources/Paths/GetKeysAPI.swift index 623640c4d..ca7baa4b4 100644 --- a/Sources/Paths/GetKeysAPI.swift +++ b/Sources/Paths/GetKeysAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLatestChannelItemsAPI.swift b/Sources/Paths/GetLatestChannelItemsAPI.swift index 37bd055cb..d5d534568 100644 --- a/Sources/Paths/GetLatestChannelItemsAPI.swift +++ b/Sources/Paths/GetLatestChannelItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,16 +18,16 @@ public extension Paths { struct GetLatestChannelItemsParameters { public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var filters: [JellyfinAPI.ItemFilter]? public var fields: [JellyfinAPI.ItemFields]? public var channelIDs: [String]? public init( userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, filters: [JellyfinAPI.ItemFilter]? = nil, fields: [JellyfinAPI.ItemFields]? = nil, channelIDs: [String]? = nil diff --git a/Sources/Paths/GetLatestMediaAPI.swift b/Sources/Paths/GetLatestMediaAPI.swift index 976961e5f..4d3382a1d 100644 --- a/Sources/Paths/GetLatestMediaAPI.swift +++ b/Sources/Paths/GetLatestMediaAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,10 +22,10 @@ public extension Paths { public var includeItemTypes: [JellyfinAPI.BaseItemKind]? public var isPlayed: Bool? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? - public var limit: Int32? + public var limit: Int? public var isGroupItems: Bool? public init( @@ -34,10 +34,10 @@ public extension Paths { includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, isPlayed: Bool? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil, - limit: Int32? = nil, + limit: Int? = nil, isGroupItems: Bool? = nil ) { self.parentID = parentID diff --git a/Sources/Paths/GetLibraryOptionsInfoAPI.swift b/Sources/Paths/GetLibraryOptionsInfoAPI.swift index f408ab764..797b8a01a 100644 --- a/Sources/Paths/GetLibraryOptionsInfoAPI.swift +++ b/Sources/Paths/GetLibraryOptionsInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLineupsAPI.swift b/Sources/Paths/GetLineupsAPI.swift index be6f8536d..38f24c776 100644 --- a/Sources/Paths/GetLineupsAPI.swift +++ b/Sources/Paths/GetLineupsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLiveHlsStreamAPI.swift b/Sources/Paths/GetLiveHlsStreamAPI.swift index 53e41a989..3dd8a6351 100644 --- a/Sources/Paths/GetLiveHlsStreamAPI.swift +++ b/Sources/Paths/GetLiveHlsStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,8 +24,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -33,40 +33,40 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var enableSubtitlesInManifest: Bool? public typealias SubtitleMethod = JellyfinAPI.SubtitleDeliveryMethod @@ -83,8 +83,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -92,40 +92,40 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, enableSubtitlesInManifest: Bool? = nil ) { self.container = container diff --git a/Sources/Paths/GetLiveRecordingFileAPI.swift b/Sources/Paths/GetLiveRecordingFileAPI.swift index 7f6f35707..cd34bda78 100644 --- a/Sources/Paths/GetLiveRecordingFileAPI.swift +++ b/Sources/Paths/GetLiveRecordingFileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLiveStreamFileAPI.swift b/Sources/Paths/GetLiveStreamFileAPI.swift index 16e59a6ac..e144b0733 100644 --- a/Sources/Paths/GetLiveStreamFileAPI.swift +++ b/Sources/Paths/GetLiveStreamFileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLiveTvChannelsAPI.swift b/Sources/Paths/GetLiveTvChannelsAPI.swift index 9884bb164..8d3df5a77 100644 --- a/Sources/Paths/GetLiveTvChannelsAPI.swift +++ b/Sources/Paths/GetLiveTvChannelsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,18 +19,18 @@ public extension Paths { struct GetLiveTvChannelsParameters { public var type: `Type`? public var userID: String? - public var startIndex: Int32? + public var startIndex: Int? public var isMovie: Bool? public var isSeries: Bool? public var isNews: Bool? public var isKids: Bool? public var isSports: Bool? - public var limit: Int32? + public var limit: Int? public var isFavorite: Bool? public var isLiked: Bool? public var isDisliked: Bool? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var fields: [JellyfinAPI.ItemFields]? public var enableUserData: Bool? @@ -46,18 +46,18 @@ public extension Paths { public init( type: Type? = nil, userID: String? = nil, - startIndex: Int32? = nil, + startIndex: Int? = nil, isMovie: Bool? = nil, isSeries: Bool? = nil, isNews: Bool? = nil, isKids: Bool? = nil, isSports: Bool? = nil, - limit: Int32? = nil, + limit: Int? = nil, isFavorite: Bool? = nil, isLiked: Bool? = nil, isDisliked: Bool? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableUserData: Bool? = nil, diff --git a/Sources/Paths/GetLiveTvInfoAPI.swift b/Sources/Paths/GetLiveTvInfoAPI.swift index cc340ec9f..ebfb4d1a4 100644 --- a/Sources/Paths/GetLiveTvInfoAPI.swift +++ b/Sources/Paths/GetLiveTvInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLiveTvProgramsAPI.swift b/Sources/Paths/GetLiveTvProgramsAPI.swift index 070e15649..1ca75c806 100644 --- a/Sources/Paths/GetLiveTvProgramsAPI.swift +++ b/Sources/Paths/GetLiveTvProgramsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -30,14 +30,14 @@ public extension Paths { public var isNews: Bool? public var isKids: Bool? public var isSports: Bool? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var sortBy: [String]? public var sortOrder: [JellyfinAPI.SortOrder]? public var genres: [String]? public var genreIDs: [String]? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? public var seriesTimerID: String? @@ -59,14 +59,14 @@ public extension Paths { isNews: Bool? = nil, isKids: Bool? = nil, isSports: Bool? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, sortBy: [String]? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, genres: [String]? = nil, genreIDs: [String]? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil, seriesTimerID: String? = nil, diff --git a/Sources/Paths/GetLocalTrailersAPI.swift b/Sources/Paths/GetLocalTrailersAPI.swift index 8719f390d..d477b0cda 100644 --- a/Sources/Paths/GetLocalTrailersAPI.swift +++ b/Sources/Paths/GetLocalTrailersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLocalizationOptionsAPI.swift b/Sources/Paths/GetLocalizationOptionsAPI.swift index 5f383956d..c2d07275a 100644 --- a/Sources/Paths/GetLocalizationOptionsAPI.swift +++ b/Sources/Paths/GetLocalizationOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetLogEntriesAPI.swift b/Sources/Paths/GetLogEntriesAPI.swift index 60fdf2f14..162a8f1d1 100644 --- a/Sources/Paths/GetLogEntriesAPI.swift +++ b/Sources/Paths/GetLogEntriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,12 +17,12 @@ public extension Paths { } struct GetLogEntriesParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var minDate: Date? public var hasUserID: Bool? - public init(startIndex: Int32? = nil, limit: Int32? = nil, minDate: Date? = nil, hasUserID: Bool? = nil) { + public init(startIndex: Int? = nil, limit: Int? = nil, minDate: Date? = nil, hasUserID: Bool? = nil) { self.startIndex = startIndex self.limit = limit self.minDate = minDate diff --git a/Sources/Paths/GetLogFileAPI.swift b/Sources/Paths/GetLogFileAPI.swift index 621d6ad52..8a1ee3e0d 100644 --- a/Sources/Paths/GetLogFileAPI.swift +++ b/Sources/Paths/GetLogFileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMasterHlsAudioPlaylistAPI.swift b/Sources/Paths/GetMasterHlsAudioPlaylistAPI.swift index c90dac6eb..29f573d5b 100644 --- a/Sources/Paths/GetMasterHlsAudioPlaylistAPI.swift +++ b/Sources/Paths/GetMasterHlsAudioPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String public var deviceID: String? public var audioCodec: String? @@ -32,37 +32,37 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? public var enableAdaptiveBitrateStreaming: Bool? @@ -80,8 +80,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String, deviceID: String? = nil, audioCodec: String? = nil, @@ -89,37 +89,37 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil, enableAdaptiveBitrateStreaming: Bool? = nil diff --git a/Sources/Paths/GetMasterHlsVideoPlaylistAPI.swift b/Sources/Paths/GetMasterHlsVideoPlaylistAPI.swift index ea0c56a9f..d9978a7f8 100644 --- a/Sources/Paths/GetMasterHlsVideoPlaylistAPI.swift +++ b/Sources/Paths/GetMasterHlsVideoPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String public var deviceID: String? public var audioCodec: String? @@ -32,38 +32,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? public var enableAdaptiveBitrateStreaming: Bool? @@ -81,8 +81,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String, deviceID: String? = nil, audioCodec: String? = nil, @@ -90,38 +90,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil, enableAdaptiveBitrateStreaming: Bool? = nil diff --git a/Sources/Paths/GetMediaFoldersAPI.swift b/Sources/Paths/GetMediaFoldersAPI.swift index 774deea55..54ccf3b45 100644 --- a/Sources/Paths/GetMediaFoldersAPI.swift +++ b/Sources/Paths/GetMediaFoldersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMediaInfoImageAPI.swift b/Sources/Paths/GetMediaInfoImageAPI.swift index 54f83a93c..020100df5 100644 --- a/Sources/Paths/GetMediaInfoImageAPI.swift +++ b/Sources/Paths/GetMediaInfoImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMediaInfoImagesAPI.swift b/Sources/Paths/GetMediaInfoImagesAPI.swift index e2bbf92ca..4bb54cc96 100644 --- a/Sources/Paths/GetMediaInfoImagesAPI.swift +++ b/Sources/Paths/GetMediaInfoImagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMediaReceiverRegistrar2API.swift b/Sources/Paths/GetMediaReceiverRegistrar2API.swift index 149f2de1b..97ddde081 100644 --- a/Sources/Paths/GetMediaReceiverRegistrar2API.swift +++ b/Sources/Paths/GetMediaReceiverRegistrar2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMediaReceiverRegistrar3API.swift b/Sources/Paths/GetMediaReceiverRegistrar3API.swift index 1726eb339..8110d4cc8 100644 --- a/Sources/Paths/GetMediaReceiverRegistrar3API.swift +++ b/Sources/Paths/GetMediaReceiverRegistrar3API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMediaReceiverRegistrarAPI.swift b/Sources/Paths/GetMediaReceiverRegistrarAPI.swift index d3ae68f03..d00a784dc 100644 --- a/Sources/Paths/GetMediaReceiverRegistrarAPI.swift +++ b/Sources/Paths/GetMediaReceiverRegistrarAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMetadataEditorInfoAPI.swift b/Sources/Paths/GetMetadataEditorInfoAPI.swift index 1417129ae..d9187b8fa 100644 --- a/Sources/Paths/GetMetadataEditorInfoAPI.swift +++ b/Sources/Paths/GetMetadataEditorInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMovieRecommendationsAPI.swift b/Sources/Paths/GetMovieRecommendationsAPI.swift index eb1d49368..1b1517c66 100644 --- a/Sources/Paths/GetMovieRecommendationsAPI.swift +++ b/Sources/Paths/GetMovieRecommendationsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -20,15 +20,15 @@ public extension Paths { public var userID: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? - public var categoryLimit: Int32? - public var itemLimit: Int32? + public var categoryLimit: Int? + public var itemLimit: Int? public init( userID: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, - categoryLimit: Int32? = nil, - itemLimit: Int32? = nil + categoryLimit: Int? = nil, + itemLimit: Int? = nil ) { self.userID = userID self.parentID = parentID diff --git a/Sources/Paths/GetMovieRemoteSearchResultsAPI.swift b/Sources/Paths/GetMovieRemoteSearchResultsAPI.swift index a6059a898..bcb7811d7 100644 --- a/Sources/Paths/GetMovieRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetMovieRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMusicAlbumRemoteSearchResultsAPI.swift b/Sources/Paths/GetMusicAlbumRemoteSearchResultsAPI.swift index 1b94fef24..af1ae5452 100644 --- a/Sources/Paths/GetMusicAlbumRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetMusicAlbumRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMusicArtistRemoteSearchResultsAPI.swift b/Sources/Paths/GetMusicArtistRemoteSearchResultsAPI.swift index c1f3b4eea..98190ec9e 100644 --- a/Sources/Paths/GetMusicArtistRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetMusicArtistRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMusicGenreAPI.swift b/Sources/Paths/GetMusicGenreAPI.swift index 19da75b4d..6bc064408 100644 --- a/Sources/Paths/GetMusicGenreAPI.swift +++ b/Sources/Paths/GetMusicGenreAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetMusicGenreImageAPI.swift b/Sources/Paths/GetMusicGenreImageAPI.swift index af8167052..f3e259d41 100644 --- a/Sources/Paths/GetMusicGenreImageAPI.swift +++ b/Sources/Paths/GetMusicGenreImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct GetMusicGenreImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetMusicGenreImageByIndexAPI.swift b/Sources/Paths/GetMusicGenreImageByIndexAPI.swift index 712adabfe..08e4490b3 100644 --- a/Sources/Paths/GetMusicGenreImageByIndexAPI.swift +++ b/Sources/Paths/GetMusicGenreImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct GetMusicGenreImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetMusicGenresAPI.swift b/Sources/Paths/GetMusicGenresAPI.swift index 3e6b3ace8..abf6bcc0f 100644 --- a/Sources/Paths/GetMusicGenresAPI.swift +++ b/Sources/Paths/GetMusicGenresAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,15 +18,15 @@ public extension Paths { } struct GetMusicGenresParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? public var excludeItemTypes: [JellyfinAPI.BaseItemKind]? public var includeItemTypes: [JellyfinAPI.BaseItemKind]? public var isFavorite: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var userID: String? public var nameStartsWithOrGreater: String? @@ -38,15 +38,15 @@ public extension Paths { public var enableTotalRecordCount: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, excludeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, isFavorite: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, userID: String? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetMusicVideoRemoteSearchResultsAPI.swift b/Sources/Paths/GetMusicVideoRemoteSearchResultsAPI.swift index b0878fdd3..1929a6b24 100644 --- a/Sources/Paths/GetMusicVideoRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetMusicVideoRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNamedConfigurationAPI.swift b/Sources/Paths/GetNamedConfigurationAPI.swift index a9ca40305..716b06d29 100644 --- a/Sources/Paths/GetNamedConfigurationAPI.swift +++ b/Sources/Paths/GetNamedConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNetworkSharesAPI.swift b/Sources/Paths/GetNetworkSharesAPI.swift index 6f520b3cb..0ab42448b 100644 --- a/Sources/Paths/GetNetworkSharesAPI.swift +++ b/Sources/Paths/GetNetworkSharesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNextUpAPI.swift b/Sources/Paths/GetNextUpAPI.swift index 92d6f0f1d..5905f3e2b 100644 --- a/Sources/Paths/GetNextUpAPI.swift +++ b/Sources/Paths/GetNextUpAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,13 +18,13 @@ public extension Paths { struct GetNextUpParameters { public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var seriesID: String? public var parentID: String? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? public var nextUpDateCutoff: Date? @@ -34,13 +34,13 @@ public extension Paths { public init( userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, seriesID: String? = nil, parentID: String? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil, nextUpDateCutoff: Date? = nil, diff --git a/Sources/Paths/GetNotificationServicesAPI.swift b/Sources/Paths/GetNotificationServicesAPI.swift index ad4af6ccc..00dd6d380 100644 --- a/Sources/Paths/GetNotificationServicesAPI.swift +++ b/Sources/Paths/GetNotificationServicesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNotificationTypesAPI.swift b/Sources/Paths/GetNotificationTypesAPI.swift index e0c36c843..df364f811 100644 --- a/Sources/Paths/GetNotificationTypesAPI.swift +++ b/Sources/Paths/GetNotificationTypesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNotificationsAPI.swift b/Sources/Paths/GetNotificationsAPI.swift index 491a9457d..39aca8a84 100644 --- a/Sources/Paths/GetNotificationsAPI.swift +++ b/Sources/Paths/GetNotificationsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetNotificationsSummaryAPI.swift b/Sources/Paths/GetNotificationsSummaryAPI.swift index 93059a5d3..280467361 100644 --- a/Sources/Paths/GetNotificationsSummaryAPI.swift +++ b/Sources/Paths/GetNotificationsSummaryAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPackageInfoAPI.swift b/Sources/Paths/GetPackageInfoAPI.swift index a682c2c01..6bd11d048 100644 --- a/Sources/Paths/GetPackageInfoAPI.swift +++ b/Sources/Paths/GetPackageInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPackagesAPI.swift b/Sources/Paths/GetPackagesAPI.swift index 8adb540ec..65541b105 100644 --- a/Sources/Paths/GetPackagesAPI.swift +++ b/Sources/Paths/GetPackagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetParentPathAPI.swift b/Sources/Paths/GetParentPathAPI.swift index c310caeda..fab842c9a 100644 --- a/Sources/Paths/GetParentPathAPI.swift +++ b/Sources/Paths/GetParentPathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetParentalRatingsAPI.swift b/Sources/Paths/GetParentalRatingsAPI.swift index 4dc2063d8..ce1e4e571 100644 --- a/Sources/Paths/GetParentalRatingsAPI.swift +++ b/Sources/Paths/GetParentalRatingsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPasswordResetProvidersAPI.swift b/Sources/Paths/GetPasswordResetProvidersAPI.swift index 2416b7ed2..e24b004c5 100644 --- a/Sources/Paths/GetPasswordResetProvidersAPI.swift +++ b/Sources/Paths/GetPasswordResetProvidersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPersonAPI.swift b/Sources/Paths/GetPersonAPI.swift index f48823296..305e816c3 100644 --- a/Sources/Paths/GetPersonAPI.swift +++ b/Sources/Paths/GetPersonAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPersonImageAPI.swift b/Sources/Paths/GetPersonImageAPI.swift index f4007735e..a793f6eb8 100644 --- a/Sources/Paths/GetPersonImageAPI.swift +++ b/Sources/Paths/GetPersonImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct GetPersonImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetPersonImageByIndexAPI.swift b/Sources/Paths/GetPersonImageByIndexAPI.swift index 967d8fe46..b61feb141 100644 --- a/Sources/Paths/GetPersonImageByIndexAPI.swift +++ b/Sources/Paths/GetPersonImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct GetPersonImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetPersonRemoteSearchResultsAPI.swift b/Sources/Paths/GetPersonRemoteSearchResultsAPI.swift index aed11f08b..b51f4e89b 100644 --- a/Sources/Paths/GetPersonRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetPersonRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPersonsAPI.swift b/Sources/Paths/GetPersonsAPI.swift index 23df294ef..01c6647d5 100644 --- a/Sources/Paths/GetPersonsAPI.swift +++ b/Sources/Paths/GetPersonsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,13 +17,13 @@ public extension Paths { } struct GetPersonsParameters { - public var limit: Int32? + public var limit: Int? public var searchTerm: String? public var fields: [JellyfinAPI.ItemFields]? public var filters: [JellyfinAPI.ItemFilter]? public var isFavorite: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var excludePersonTypes: [String]? public var personTypes: [String]? @@ -32,13 +32,13 @@ public extension Paths { public var enableImages: Bool? public init( - limit: Int32? = nil, + limit: Int? = nil, searchTerm: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, filters: [JellyfinAPI.ItemFilter]? = nil, isFavorite: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, excludePersonTypes: [String]? = nil, personTypes: [String]? = nil, diff --git a/Sources/Paths/GetPhysicalPathsAPI.swift b/Sources/Paths/GetPhysicalPathsAPI.swift index e85c5732c..e151e58d1 100644 --- a/Sources/Paths/GetPhysicalPathsAPI.swift +++ b/Sources/Paths/GetPhysicalPathsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPingSystemAPI.swift b/Sources/Paths/GetPingSystemAPI.swift index 202777fe6..4ce6cb4ad 100644 --- a/Sources/Paths/GetPingSystemAPI.swift +++ b/Sources/Paths/GetPingSystemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPlaybackInfoAPI.swift b/Sources/Paths/GetPlaybackInfoAPI.swift index ed941e616..e5b81a13b 100644 --- a/Sources/Paths/GetPlaybackInfoAPI.swift +++ b/Sources/Paths/GetPlaybackInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPlaylistItemsAPI.swift b/Sources/Paths/GetPlaylistItemsAPI.swift index 8975fb4b8..229ac775f 100644 --- a/Sources/Paths/GetPlaylistItemsAPI.swift +++ b/Sources/Paths/GetPlaylistItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,22 +21,22 @@ public extension Paths { struct GetPlaylistItemsParameters { public var userID: String - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var enableImages: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public init( userID: String, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableImages: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil ) { self.userID = userID diff --git a/Sources/Paths/GetPluginConfigurationAPI.swift b/Sources/Paths/GetPluginConfigurationAPI.swift index fadfb873b..f70a554ff 100644 --- a/Sources/Paths/GetPluginConfigurationAPI.swift +++ b/Sources/Paths/GetPluginConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPluginImageAPI.swift b/Sources/Paths/GetPluginImageAPI.swift index 860a41595..97f5950ef 100644 --- a/Sources/Paths/GetPluginImageAPI.swift +++ b/Sources/Paths/GetPluginImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPluginManifestAPI.swift b/Sources/Paths/GetPluginManifestAPI.swift index 64f188cab..64510c2d7 100644 --- a/Sources/Paths/GetPluginManifestAPI.swift +++ b/Sources/Paths/GetPluginManifestAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPluginsAPI.swift b/Sources/Paths/GetPluginsAPI.swift index 140c36248..6af8408f1 100644 --- a/Sources/Paths/GetPluginsAPI.swift +++ b/Sources/Paths/GetPluginsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPostedPlaybackInfoAPI.swift b/Sources/Paths/GetPostedPlaybackInfoAPI.swift index 8f1a86039..bed4e94ec 100644 --- a/Sources/Paths/GetPostedPlaybackInfoAPI.swift +++ b/Sources/Paths/GetPostedPlaybackInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -26,11 +26,11 @@ public extension Paths { struct GetPostedPlaybackInfoParameters { public var userID: String? - public var maxStreamingBitrate: Int32? - public var startTimeTicks: Int64? - public var audioStreamIndex: Int32? - public var subtitleStreamIndex: Int32? - public var maxAudioChannels: Int32? + public var maxStreamingBitrate: Int? + public var startTimeTicks: Int? + public var audioStreamIndex: Int? + public var subtitleStreamIndex: Int? + public var maxAudioChannels: Int? public var mediaSourceID: String? public var liveStreamID: String? public var isAutoOpenLiveStream: Bool? @@ -42,11 +42,11 @@ public extension Paths { public init( userID: String? = nil, - maxStreamingBitrate: Int32? = nil, - startTimeTicks: Int64? = nil, - audioStreamIndex: Int32? = nil, - subtitleStreamIndex: Int32? = nil, - maxAudioChannels: Int32? = nil, + maxStreamingBitrate: Int? = nil, + startTimeTicks: Int? = nil, + audioStreamIndex: Int? = nil, + subtitleStreamIndex: Int? = nil, + maxAudioChannels: Int? = nil, mediaSourceID: String? = nil, liveStreamID: String? = nil, isAutoOpenLiveStream: Bool? = nil, diff --git a/Sources/Paths/GetProfileAPI.swift b/Sources/Paths/GetProfileAPI.swift index 3d098f16b..8d59e7151 100644 --- a/Sources/Paths/GetProfileAPI.swift +++ b/Sources/Paths/GetProfileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetProfileInfosAPI.swift b/Sources/Paths/GetProfileInfosAPI.swift index f96ccc7ac..4888cf55a 100644 --- a/Sources/Paths/GetProfileInfosAPI.swift +++ b/Sources/Paths/GetProfileInfosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetProgramAPI.swift b/Sources/Paths/GetProgramAPI.swift index 221df83a6..9635ac68c 100644 --- a/Sources/Paths/GetProgramAPI.swift +++ b/Sources/Paths/GetProgramAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetProgramsAPI.swift b/Sources/Paths/GetProgramsAPI.swift index f71528ff3..f054c05d5 100644 --- a/Sources/Paths/GetProgramsAPI.swift +++ b/Sources/Paths/GetProgramsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPublicSystemInfoAPI.swift b/Sources/Paths/GetPublicSystemInfoAPI.swift index 5efd51bd2..e34b7e76a 100644 --- a/Sources/Paths/GetPublicSystemInfoAPI.swift +++ b/Sources/Paths/GetPublicSystemInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetPublicUsersAPI.swift b/Sources/Paths/GetPublicUsersAPI.swift index 02b60566e..d9f8c798b 100644 --- a/Sources/Paths/GetPublicUsersAPI.swift +++ b/Sources/Paths/GetPublicUsersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetQueryFiltersAPI.swift b/Sources/Paths/GetQueryFiltersAPI.swift index 86a5f3077..948dd5383 100644 --- a/Sources/Paths/GetQueryFiltersAPI.swift +++ b/Sources/Paths/GetQueryFiltersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetQueryFiltersLegacyAPI.swift b/Sources/Paths/GetQueryFiltersLegacyAPI.swift index f7771e015..62fcc4874 100644 --- a/Sources/Paths/GetQueryFiltersLegacyAPI.swift +++ b/Sources/Paths/GetQueryFiltersLegacyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRatingImageAPI.swift b/Sources/Paths/GetRatingImageAPI.swift index c82c9349d..5c1d294c5 100644 --- a/Sources/Paths/GetRatingImageAPI.swift +++ b/Sources/Paths/GetRatingImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRatingImagesAPI.swift b/Sources/Paths/GetRatingImagesAPI.swift index 63b0c579e..3269bbbd4 100644 --- a/Sources/Paths/GetRatingImagesAPI.swift +++ b/Sources/Paths/GetRatingImagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRecommendedProgramsAPI.swift b/Sources/Paths/GetRecommendedProgramsAPI.swift index b17f27269..83a266c4f 100644 --- a/Sources/Paths/GetRecommendedProgramsAPI.swift +++ b/Sources/Paths/GetRecommendedProgramsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,7 +18,7 @@ public extension Paths { struct GetRecommendedProgramsParameters { public var userID: String? - public var limit: Int32? + public var limit: Int? public var isAiring: Bool? public var hasAired: Bool? public var isSeries: Bool? @@ -27,7 +27,7 @@ public extension Paths { public var isKids: Bool? public var isSports: Bool? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var genreIDs: [String]? public var fields: [JellyfinAPI.ItemFields]? @@ -36,7 +36,7 @@ public extension Paths { public init( userID: String? = nil, - limit: Int32? = nil, + limit: Int? = nil, isAiring: Bool? = nil, hasAired: Bool? = nil, isSeries: Bool? = nil, @@ -45,7 +45,7 @@ public extension Paths { isKids: Bool? = nil, isSports: Bool? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, genreIDs: [String]? = nil, fields: [JellyfinAPI.ItemFields]? = nil, diff --git a/Sources/Paths/GetRecordingAPI.swift b/Sources/Paths/GetRecordingAPI.swift index 5604ffa1b..74f7fd705 100644 --- a/Sources/Paths/GetRecordingAPI.swift +++ b/Sources/Paths/GetRecordingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRecordingFoldersAPI.swift b/Sources/Paths/GetRecordingFoldersAPI.swift index 941b52dc7..772cfb53a 100644 --- a/Sources/Paths/GetRecordingFoldersAPI.swift +++ b/Sources/Paths/GetRecordingFoldersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRecordingGroupAPI.swift b/Sources/Paths/GetRecordingGroupAPI.swift index 3c65634eb..5abfff298 100644 --- a/Sources/Paths/GetRecordingGroupAPI.swift +++ b/Sources/Paths/GetRecordingGroupAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRecordingGroupsAPI.swift b/Sources/Paths/GetRecordingGroupsAPI.swift index 9f929c359..26cdb16a9 100644 --- a/Sources/Paths/GetRecordingGroupsAPI.swift +++ b/Sources/Paths/GetRecordingGroupsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRecordingsAPI.swift b/Sources/Paths/GetRecordingsAPI.swift index 974ececf6..b981faf72 100644 --- a/Sources/Paths/GetRecordingsAPI.swift +++ b/Sources/Paths/GetRecordingsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,13 +19,13 @@ public extension Paths { struct GetRecordingsParameters { public var channelID: String? public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var status: Status? public var isInProgress: Bool? public var seriesTimerID: String? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var fields: [JellyfinAPI.ItemFields]? public var enableUserData: Bool? @@ -42,13 +42,13 @@ public extension Paths { public init( channelID: String? = nil, userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, status: Status? = nil, isInProgress: Bool? = nil, seriesTimerID: String? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableUserData: Bool? = nil, diff --git a/Sources/Paths/GetRecordingsSeriesAPI.swift b/Sources/Paths/GetRecordingsSeriesAPI.swift index 3c8ae416f..a60c6ddaa 100644 --- a/Sources/Paths/GetRecordingsSeriesAPI.swift +++ b/Sources/Paths/GetRecordingsSeriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -21,13 +21,13 @@ public extension Paths { public var channelID: String? public var userID: String? public var groupID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var status: Status? public var isInProgress: Bool? public var seriesTimerID: String? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var fields: [JellyfinAPI.ItemFields]? public var enableUserData: Bool? @@ -39,13 +39,13 @@ public extension Paths { channelID: String? = nil, userID: String? = nil, groupID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, status: Status? = nil, isInProgress: Bool? = nil, seriesTimerID: String? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, fields: [JellyfinAPI.ItemFields]? = nil, enableUserData: Bool? = nil, diff --git a/Sources/Paths/GetRemoteImageProvidersAPI.swift b/Sources/Paths/GetRemoteImageProvidersAPI.swift index 4798fb1d8..b8e9f533e 100644 --- a/Sources/Paths/GetRemoteImageProvidersAPI.swift +++ b/Sources/Paths/GetRemoteImageProvidersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRemoteImagesAPI.swift b/Sources/Paths/GetRemoteImagesAPI.swift index c8b60e648..3a744c8f9 100644 --- a/Sources/Paths/GetRemoteImagesAPI.swift +++ b/Sources/Paths/GetRemoteImagesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,8 +18,8 @@ public extension Paths { struct GetRemoteImagesParameters { public var type: `Type`? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var providerName: String? public var isIncludeAllLanguages: Bool? @@ -27,8 +27,8 @@ public extension Paths { public init( type: Type? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, providerName: String? = nil, isIncludeAllLanguages: Bool? = nil ) { diff --git a/Sources/Paths/GetRemoteSubtitlesAPI.swift b/Sources/Paths/GetRemoteSubtitlesAPI.swift index c6d009beb..0439337f5 100644 --- a/Sources/Paths/GetRemoteSubtitlesAPI.swift +++ b/Sources/Paths/GetRemoteSubtitlesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetRepositoriesAPI.swift b/Sources/Paths/GetRepositoriesAPI.swift index dfc05614e..e5538adea 100644 --- a/Sources/Paths/GetRepositoriesAPI.swift +++ b/Sources/Paths/GetRepositoriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetResumeItemsAPI.swift b/Sources/Paths/GetResumeItemsAPI.swift index 3640dd2e0..c0aa3423b 100644 --- a/Sources/Paths/GetResumeItemsAPI.swift +++ b/Sources/Paths/GetResumeItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,14 +17,14 @@ public extension Paths { } struct GetResumeItemsParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? public var mediaTypes: [String]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var excludeItemTypes: [JellyfinAPI.BaseItemKind]? public var includeItemTypes: [JellyfinAPI.BaseItemKind]? @@ -33,14 +33,14 @@ public extension Paths { public var excludeActiveSessions: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, mediaTypes: [String]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, excludeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, diff --git a/Sources/Paths/GetRootFolderAPI.swift b/Sources/Paths/GetRootFolderAPI.swift index afb389e10..4092955c9 100644 --- a/Sources/Paths/GetRootFolderAPI.swift +++ b/Sources/Paths/GetRootFolderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSchedulesDirectCountriesAPI.swift b/Sources/Paths/GetSchedulesDirectCountriesAPI.swift index 66eb89878..ca36daf0c 100644 --- a/Sources/Paths/GetSchedulesDirectCountriesAPI.swift +++ b/Sources/Paths/GetSchedulesDirectCountriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSeasonsAPI.swift b/Sources/Paths/GetSeasonsAPI.swift index a5b8fbfae..e614117c6 100644 --- a/Sources/Paths/GetSeasonsAPI.swift +++ b/Sources/Paths/GetSeasonsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,7 +23,7 @@ public extension Paths { public var isMissing: Bool? public var adjacentTo: String? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? @@ -34,7 +34,7 @@ public extension Paths { isMissing: Bool? = nil, adjacentTo: String? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil ) { diff --git a/Sources/Paths/GetSeriesRemoteSearchResultsAPI.swift b/Sources/Paths/GetSeriesRemoteSearchResultsAPI.swift index e16c7a94a..6d6c78003 100644 --- a/Sources/Paths/GetSeriesRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetSeriesRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSeriesTimerAPI.swift b/Sources/Paths/GetSeriesTimerAPI.swift index 13a5dfe28..64fbce304 100644 --- a/Sources/Paths/GetSeriesTimerAPI.swift +++ b/Sources/Paths/GetSeriesTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSeriesTimersAPI.swift b/Sources/Paths/GetSeriesTimersAPI.swift index d75e900fc..95358b371 100644 --- a/Sources/Paths/GetSeriesTimersAPI.swift +++ b/Sources/Paths/GetSeriesTimersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetServerLogsAPI.swift b/Sources/Paths/GetServerLogsAPI.swift index 66682fb4d..e5a20cbf8 100644 --- a/Sources/Paths/GetServerLogsAPI.swift +++ b/Sources/Paths/GetServerLogsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSessionsAPI.swift b/Sources/Paths/GetSessionsAPI.swift index 187ea43ea..0ae40e4e0 100644 --- a/Sources/Paths/GetSessionsAPI.swift +++ b/Sources/Paths/GetSessionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,9 +19,9 @@ public extension Paths { struct GetSessionsParameters { public var controllableByUserID: String? public var deviceID: String? - public var activeWithinSeconds: Int32? + public var activeWithinSeconds: Int? - public init(controllableByUserID: String? = nil, deviceID: String? = nil, activeWithinSeconds: Int32? = nil) { + public init(controllableByUserID: String? = nil, deviceID: String? = nil, activeWithinSeconds: Int? = nil) { self.controllableByUserID = controllableByUserID self.deviceID = deviceID self.activeWithinSeconds = activeWithinSeconds diff --git a/Sources/Paths/GetSimilarAlbumsAPI.swift b/Sources/Paths/GetSimilarAlbumsAPI.swift index 7f61603ea..f809c0c3a 100644 --- a/Sources/Paths/GetSimilarAlbumsAPI.swift +++ b/Sources/Paths/GetSimilarAlbumsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarAlbumsParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSimilarArtistsAPI.swift b/Sources/Paths/GetSimilarArtistsAPI.swift index 72d6d2e1e..40996eee3 100644 --- a/Sources/Paths/GetSimilarArtistsAPI.swift +++ b/Sources/Paths/GetSimilarArtistsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarArtistsParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSimilarItemsAPI.swift b/Sources/Paths/GetSimilarItemsAPI.swift index cd09a816a..7f30d43c6 100644 --- a/Sources/Paths/GetSimilarItemsAPI.swift +++ b/Sources/Paths/GetSimilarItemsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarItemsParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSimilarMoviesAPI.swift b/Sources/Paths/GetSimilarMoviesAPI.swift index cf325de1b..7ceea2ab2 100644 --- a/Sources/Paths/GetSimilarMoviesAPI.swift +++ b/Sources/Paths/GetSimilarMoviesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarMoviesParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSimilarShowsAPI.swift b/Sources/Paths/GetSimilarShowsAPI.swift index 3df45fc2d..9ec9de8df 100644 --- a/Sources/Paths/GetSimilarShowsAPI.swift +++ b/Sources/Paths/GetSimilarShowsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarShowsParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSimilarTrailersAPI.swift b/Sources/Paths/GetSimilarTrailersAPI.swift index 36c18c5a5..a7aae50b0 100644 --- a/Sources/Paths/GetSimilarTrailersAPI.swift +++ b/Sources/Paths/GetSimilarTrailersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,10 @@ public extension Paths { struct GetSimilarTrailersParameters { public var excludeArtistIDs: [String]? public var userID: String? - public var limit: Int32? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? - public init( - excludeArtistIDs: [String]? = nil, - userID: String? = nil, - limit: Int32? = nil, - fields: [JellyfinAPI.ItemFields]? = nil - ) { + public init(excludeArtistIDs: [String]? = nil, userID: String? = nil, limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil) { self.excludeArtistIDs = excludeArtistIDs self.userID = userID self.limit = limit diff --git a/Sources/Paths/GetSpecialFeaturesAPI.swift b/Sources/Paths/GetSpecialFeaturesAPI.swift index fde6a05e2..b0c0f90da 100644 --- a/Sources/Paths/GetSpecialFeaturesAPI.swift +++ b/Sources/Paths/GetSpecialFeaturesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetSplashscreenAPI.swift b/Sources/Paths/GetSplashscreenAPI.swift index 68592fb8f..3971a6af9 100644 --- a/Sources/Paths/GetSplashscreenAPI.swift +++ b/Sources/Paths/GetSplashscreenAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,32 +19,32 @@ public extension Paths { struct GetSplashscreenParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var width: Int32? - public var height: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? - public var blur: Int32? + public var maxWidth: Int? + public var maxHeight: Int? + public var width: Int? + public var height: Int? + public var fillWidth: Int? + public var fillHeight: Int? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var quality: Int32? + public var quality: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, - blur: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + width: Int? = nil, + height: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - quality: Int32? = nil + quality: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetStartupConfigurationAPI.swift b/Sources/Paths/GetStartupConfigurationAPI.swift index f55c3772f..a6061210f 100644 --- a/Sources/Paths/GetStartupConfigurationAPI.swift +++ b/Sources/Paths/GetStartupConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetStudioAPI.swift b/Sources/Paths/GetStudioAPI.swift index 5a7be4a46..7427fef66 100644 --- a/Sources/Paths/GetStudioAPI.swift +++ b/Sources/Paths/GetStudioAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetStudioImageAPI.swift b/Sources/Paths/GetStudioImageAPI.swift index 1508433f3..550a77cf8 100644 --- a/Sources/Paths/GetStudioImageAPI.swift +++ b/Sources/Paths/GetStudioImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct GetStudioImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetStudioImageByIndexAPI.swift b/Sources/Paths/GetStudioImageByIndexAPI.swift index 9146bdbbb..eaadf7f31 100644 --- a/Sources/Paths/GetStudioImageByIndexAPI.swift +++ b/Sources/Paths/GetStudioImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct GetStudioImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetStudiosAPI.swift b/Sources/Paths/GetStudiosAPI.swift index 3ba8e4907..255b22e17 100644 --- a/Sources/Paths/GetStudiosAPI.swift +++ b/Sources/Paths/GetStudiosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,8 +17,8 @@ public extension Paths { } struct GetStudiosParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var searchTerm: String? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? @@ -26,7 +26,7 @@ public extension Paths { public var includeItemTypes: [JellyfinAPI.BaseItemKind]? public var isFavorite: Bool? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var userID: String? public var nameStartsWithOrGreater: String? @@ -36,8 +36,8 @@ public extension Paths { public var enableTotalRecordCount: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, searchTerm: String? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, @@ -45,7 +45,7 @@ public extension Paths { includeItemTypes: [JellyfinAPI.BaseItemKind]? = nil, isFavorite: Bool? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, userID: String? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetSubtitleAPI.swift b/Sources/Paths/GetSubtitleAPI.swift index 925e8cb66..d3ed8193f 100644 --- a/Sources/Paths/GetSubtitleAPI.swift +++ b/Sources/Paths/GetSubtitleAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -30,22 +30,22 @@ public extension Paths { struct GetSubtitleParameters { public var itemID: String? public var mediaSourceID: String? - public var index: Int32? + public var index: Int? public var format: String? - public var endPositionTicks: Int64? + public var endPositionTicks: Int? public var isCopyTimestamps: Bool? public var isAddVttTimeMap: Bool? - public var startPositionTicks: Int64? + public var startPositionTicks: Int? public init( itemID: String? = nil, mediaSourceID: String? = nil, - index: Int32? = nil, + index: Int? = nil, format: String? = nil, - endPositionTicks: Int64? = nil, + endPositionTicks: Int? = nil, isCopyTimestamps: Bool? = nil, isAddVttTimeMap: Bool? = nil, - startPositionTicks: Int64? = nil + startPositionTicks: Int? = nil ) { self.itemID = itemID self.mediaSourceID = mediaSourceID diff --git a/Sources/Paths/GetSubtitlePlaylistAPI.swift b/Sources/Paths/GetSubtitlePlaylistAPI.swift index 81a62aa72..42d78b80f 100644 --- a/Sources/Paths/GetSubtitlePlaylistAPI.swift +++ b/Sources/Paths/GetSubtitlePlaylistAPI.swift @@ -3,27 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation import Get import URLQueryEncoder -extension Paths { +public extension Paths { /// Gets an HLS subtitle playlist. - public static func getSubtitlePlaylist(itemID: String, index: Int, mediaSourceID: String, segmentLength: Int32) -> Request { + static func getSubtitlePlaylist(itemID: String, index: Int, mediaSourceID: String, segmentLength: Int) -> Request { Request( method: "GET", url: "/Videos/\(itemID)/\(mediaSourceID)/Subtitles/\(index)/subtitles.m3u8", - query: makeGetSubtitlePlaylistQuery(segmentLength), + query: [("segmentLength", String(segmentLength))], id: "GetSubtitlePlaylist" ) } - - private static func makeGetSubtitlePlaylistQuery(_ segmentLength: Int32) -> [(String, String?)] { - let encoder = URLQueryEncoder() - encoder.encode(segmentLength, forKey: "segmentLength") - return encoder.items - } } diff --git a/Sources/Paths/GetSubtitleWithTicksAPI.swift b/Sources/Paths/GetSubtitleWithTicksAPI.swift index 0111a1444..3391e7da6 100644 --- a/Sources/Paths/GetSubtitleWithTicksAPI.swift +++ b/Sources/Paths/GetSubtitleWithTicksAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -31,20 +31,20 @@ public extension Paths { struct GetSubtitleWithTicksParameters { public var itemID: String? public var mediaSourceID: String? - public var index: Int32? - public var startPositionTicks: Int64? + public var index: Int? + public var startPositionTicks: Int? public var format: String? - public var endPositionTicks: Int64? + public var endPositionTicks: Int? public var isCopyTimestamps: Bool? public var isAddVttTimeMap: Bool? public init( itemID: String? = nil, mediaSourceID: String? = nil, - index: Int32? = nil, - startPositionTicks: Int64? = nil, + index: Int? = nil, + startPositionTicks: Int? = nil, format: String? = nil, - endPositionTicks: Int64? = nil, + endPositionTicks: Int? = nil, isCopyTimestamps: Bool? = nil, isAddVttTimeMap: Bool? = nil ) { diff --git a/Sources/Paths/GetSuggestionsAPI.swift b/Sources/Paths/GetSuggestionsAPI.swift index 8d5a97b9f..1b5c219fb 100644 --- a/Sources/Paths/GetSuggestionsAPI.swift +++ b/Sources/Paths/GetSuggestionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,15 +19,15 @@ public extension Paths { struct GetSuggestionsParameters { public var mediaType: [String]? public var type: [JellyfinAPI.BaseItemKind]? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var enableTotalRecordCount: Bool? public init( mediaType: [String]? = nil, type: [JellyfinAPI.BaseItemKind]? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, enableTotalRecordCount: Bool? = nil ) { self.mediaType = mediaType diff --git a/Sources/Paths/GetSystemInfoAPI.swift b/Sources/Paths/GetSystemInfoAPI.swift index 953750d0a..41a5f2b65 100644 --- a/Sources/Paths/GetSystemInfoAPI.swift +++ b/Sources/Paths/GetSystemInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTaskAPI.swift b/Sources/Paths/GetTaskAPI.swift index 53eb9cd66..df13a1b20 100644 --- a/Sources/Paths/GetTaskAPI.swift +++ b/Sources/Paths/GetTaskAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTasksAPI.swift b/Sources/Paths/GetTasksAPI.swift index 87c613831..5b62b9d85 100644 --- a/Sources/Paths/GetTasksAPI.swift +++ b/Sources/Paths/GetTasksAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetThemeMediaAPI.swift b/Sources/Paths/GetThemeMediaAPI.swift index 4903c00d9..308b0d722 100644 --- a/Sources/Paths/GetThemeMediaAPI.swift +++ b/Sources/Paths/GetThemeMediaAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetThemeSongsAPI.swift b/Sources/Paths/GetThemeSongsAPI.swift index b7a96549e..f876ddc6f 100644 --- a/Sources/Paths/GetThemeSongsAPI.swift +++ b/Sources/Paths/GetThemeSongsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetThemeVideosAPI.swift b/Sources/Paths/GetThemeVideosAPI.swift index 9daca1b1c..69fca2f6c 100644 --- a/Sources/Paths/GetThemeVideosAPI.swift +++ b/Sources/Paths/GetThemeVideosAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTimerAPI.swift b/Sources/Paths/GetTimerAPI.swift index d68ff3d07..5eb8602d0 100644 --- a/Sources/Paths/GetTimerAPI.swift +++ b/Sources/Paths/GetTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTimersAPI.swift b/Sources/Paths/GetTimersAPI.swift index b906ca6bc..a7f6ebd8b 100644 --- a/Sources/Paths/GetTimersAPI.swift +++ b/Sources/Paths/GetTimersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTrailerRemoteSearchResultsAPI.swift b/Sources/Paths/GetTrailerRemoteSearchResultsAPI.swift index f65b9943b..4a3a78469 100644 --- a/Sources/Paths/GetTrailerRemoteSearchResultsAPI.swift +++ b/Sources/Paths/GetTrailerRemoteSearchResultsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetTrailersAPI.swift b/Sources/Paths/GetTrailersAPI.swift index 4126a1b61..2cb00c288 100644 --- a/Sources/Paths/GetTrailersAPI.swift +++ b/Sources/Paths/GetTrailersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -25,7 +25,7 @@ public extension Paths { public var hasSpecialFeature: Bool? public var hasTrailer: Bool? public var adjacentTo: String? - public var parentIndexNumber: Int32? + public var parentIndexNumber: Int? public var hasParentalRating: Bool? public var isHd: Bool? public var isIs4K: Bool? @@ -49,8 +49,8 @@ public extension Paths { public var isKids: Bool? public var isSports: Bool? public var excludeItemIDs: [String]? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var isRecursive: Bool? public var searchTerm: String? public var sortOrder: [JellyfinAPI.SortOrder]? @@ -66,9 +66,9 @@ public extension Paths { public var genres: [String]? public var officialRatings: [String]? public var tags: [String]? - public var years: [Int32]? + public var years: [Int]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var person: String? public var personIDs: [String]? @@ -88,10 +88,10 @@ public extension Paths { public var isPlaceHolder: Bool? public var hasOfficialRating: Bool? public var isCollapseBoxSetItems: Bool? - public var minWidth: Int32? - public var minHeight: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var minWidth: Int? + public var minHeight: Int? + public var maxWidth: Int? + public var maxHeight: Int? public var isIs3D: Bool? public var seriesStatus: [JellyfinAPI.SeriesStatus]? public var nameStartsWithOrGreater: String? @@ -111,7 +111,7 @@ public extension Paths { hasSpecialFeature: Bool? = nil, hasTrailer: Bool? = nil, adjacentTo: String? = nil, - parentIndexNumber: Int32? = nil, + parentIndexNumber: Int? = nil, hasParentalRating: Bool? = nil, isHd: Bool? = nil, isIs4K: Bool? = nil, @@ -135,8 +135,8 @@ public extension Paths { isKids: Bool? = nil, isSports: Bool? = nil, excludeItemIDs: [String]? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, isRecursive: Bool? = nil, searchTerm: String? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, @@ -152,9 +152,9 @@ public extension Paths { genres: [String]? = nil, officialRatings: [String]? = nil, tags: [String]? = nil, - years: [Int32]? = nil, + years: [Int]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, person: String? = nil, personIDs: [String]? = nil, @@ -174,10 +174,10 @@ public extension Paths { isPlaceHolder: Bool? = nil, hasOfficialRating: Bool? = nil, isCollapseBoxSetItems: Bool? = nil, - minWidth: Int32? = nil, - minHeight: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + minWidth: Int? = nil, + minHeight: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, isIs3D: Bool? = nil, seriesStatus: [JellyfinAPI.SeriesStatus]? = nil, nameStartsWithOrGreater: String? = nil, diff --git a/Sources/Paths/GetTunerHostTypesAPI.swift b/Sources/Paths/GetTunerHostTypesAPI.swift index e6bfa28dc..df06ad105 100644 --- a/Sources/Paths/GetTunerHostTypesAPI.swift +++ b/Sources/Paths/GetTunerHostTypesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetUniversalAudioStreamAPI.swift b/Sources/Paths/GetUniversalAudioStreamAPI.swift index 79bb46fdf..1da086366 100644 --- a/Sources/Paths/GetUniversalAudioStreamAPI.swift +++ b/Sources/Paths/GetUniversalAudioStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,15 @@ public extension Paths { public var deviceID: String? public var userID: String? public var audioCodec: String? - public var maxAudioChannels: Int32? - public var transcodingAudioChannels: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var startTimeTicks: Int64? + public var maxAudioChannels: Int? + public var transcodingAudioChannels: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var startTimeTicks: Int? public var transcodingContainer: String? public var transcodingProtocol: String? - public var maxAudioSampleRate: Int32? - public var maxAudioBitDepth: Int32? + public var maxAudioSampleRate: Int? + public var maxAudioBitDepth: Int? public var enableRemoteMedia: Bool? public var isBreakOnNonKeyFrames: Bool? public var enableRedirection: Bool? @@ -41,15 +41,15 @@ public extension Paths { deviceID: String? = nil, userID: String? = nil, audioCodec: String? = nil, - maxAudioChannels: Int32? = nil, - transcodingAudioChannels: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - startTimeTicks: Int64? = nil, + maxAudioChannels: Int? = nil, + transcodingAudioChannels: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + startTimeTicks: Int? = nil, transcodingContainer: String? = nil, transcodingProtocol: String? = nil, - maxAudioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, + maxAudioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, enableRemoteMedia: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, enableRedirection: Bool? = nil diff --git a/Sources/Paths/GetUpcomingEpisodesAPI.swift b/Sources/Paths/GetUpcomingEpisodesAPI.swift index e99dcb0e3..a42e1b39d 100644 --- a/Sources/Paths/GetUpcomingEpisodesAPI.swift +++ b/Sources/Paths/GetUpcomingEpisodesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,23 +18,23 @@ public extension Paths { struct GetUpcomingEpisodesParameters { public var userID: String? - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var fields: [JellyfinAPI.ItemFields]? public var parentID: String? public var enableImages: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var enableUserData: Bool? public init( userID: String? = nil, - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, fields: [JellyfinAPI.ItemFields]? = nil, parentID: String? = nil, enableImages: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, enableUserData: Bool? = nil ) { diff --git a/Sources/Paths/GetUserByIDAPI.swift b/Sources/Paths/GetUserByIDAPI.swift index b09ba548e..800b33e4c 100644 --- a/Sources/Paths/GetUserByIDAPI.swift +++ b/Sources/Paths/GetUserByIDAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetUserImageAPI.swift b/Sources/Paths/GetUserImageAPI.swift index 80d98cebc..831331d49 100644 --- a/Sources/Paths/GetUserImageAPI.swift +++ b/Sources/Paths/GetUserImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct GetUserImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/GetUserImageByIndexAPI.swift b/Sources/Paths/GetUserImageByIndexAPI.swift index b755b20b7..b5137d780 100644 --- a/Sources/Paths/GetUserImageByIndexAPI.swift +++ b/Sources/Paths/GetUserImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct GetUserImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/GetUserViewsAPI.swift b/Sources/Paths/GetUserViewsAPI.swift index 6bb4bb910..b8cd0de7f 100644 --- a/Sources/Paths/GetUserViewsAPI.swift +++ b/Sources/Paths/GetUserViewsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetUsersAPI.swift b/Sources/Paths/GetUsersAPI.swift index 4385654c4..f3c2c54f8 100644 --- a/Sources/Paths/GetUsersAPI.swift +++ b/Sources/Paths/GetUsersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetUtcTimeAPI.swift b/Sources/Paths/GetUtcTimeAPI.swift index b07479c73..ed92e755b 100644 --- a/Sources/Paths/GetUtcTimeAPI.swift +++ b/Sources/Paths/GetUtcTimeAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetVariantHlsAudioPlaylistAPI.swift b/Sources/Paths/GetVariantHlsAudioPlaylistAPI.swift index ebf3261a3..a0ee85792 100644 --- a/Sources/Paths/GetVariantHlsAudioPlaylistAPI.swift +++ b/Sources/Paths/GetVariantHlsAudioPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -32,37 +32,37 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -79,8 +79,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -88,37 +88,37 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetVariantHlsVideoPlaylistAPI.swift b/Sources/Paths/GetVariantHlsVideoPlaylistAPI.swift index d36befb63..7009a5317 100644 --- a/Sources/Paths/GetVariantHlsVideoPlaylistAPI.swift +++ b/Sources/Paths/GetVariantHlsVideoPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -32,38 +32,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -80,8 +80,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -89,38 +89,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetVideoStreamAPI.swift b/Sources/Paths/GetVideoStreamAPI.swift index cf7db5670..e93c60a68 100644 --- a/Sources/Paths/GetVideoStreamAPI.swift +++ b/Sources/Paths/GetVideoStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,8 +24,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -33,38 +33,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -82,8 +82,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -91,38 +91,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetVideoStreamByContainerAPI.swift b/Sources/Paths/GetVideoStreamByContainerAPI.swift index badaee3f9..c29b7c0b5 100644 --- a/Sources/Paths/GetVideoStreamByContainerAPI.swift +++ b/Sources/Paths/GetVideoStreamByContainerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,8 +27,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -36,38 +36,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -84,8 +84,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -93,38 +93,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/GetVirtualFoldersAPI.swift b/Sources/Paths/GetVirtualFoldersAPI.swift index c9467be93..0fb8110ef 100644 --- a/Sources/Paths/GetVirtualFoldersAPI.swift +++ b/Sources/Paths/GetVirtualFoldersAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetWakeOnLanInfoAPI.swift b/Sources/Paths/GetWakeOnLanInfoAPI.swift index 4ed090160..8f1688115 100644 --- a/Sources/Paths/GetWakeOnLanInfoAPI.swift +++ b/Sources/Paths/GetWakeOnLanInfoAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetYearAPI.swift b/Sources/Paths/GetYearAPI.swift index 940779190..80b432cce 100644 --- a/Sources/Paths/GetYearAPI.swift +++ b/Sources/Paths/GetYearAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/GetYearsAPI.swift b/Sources/Paths/GetYearsAPI.swift index d7ba97cb5..0e7452dc8 100644 --- a/Sources/Paths/GetYearsAPI.swift +++ b/Sources/Paths/GetYearsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,8 +17,8 @@ public extension Paths { } struct GetYearsParameters { - public var startIndex: Int32? - public var limit: Int32? + public var startIndex: Int? + public var limit: Int? public var sortOrder: [JellyfinAPI.SortOrder]? public var parentID: String? public var fields: [JellyfinAPI.ItemFields]? @@ -27,15 +27,15 @@ public extension Paths { public var mediaTypes: [String]? public var sortBy: [String]? public var enableUserData: Bool? - public var imageTypeLimit: Int32? + public var imageTypeLimit: Int? public var enableImageTypes: [JellyfinAPI.ImageType]? public var userID: String? public var isRecursive: Bool? public var enableImages: Bool? public init( - startIndex: Int32? = nil, - limit: Int32? = nil, + startIndex: Int? = nil, + limit: Int? = nil, sortOrder: [JellyfinAPI.SortOrder]? = nil, parentID: String? = nil, fields: [JellyfinAPI.ItemFields]? = nil, @@ -44,7 +44,7 @@ public extension Paths { mediaTypes: [String]? = nil, sortBy: [String]? = nil, enableUserData: Bool? = nil, - imageTypeLimit: Int32? = nil, + imageTypeLimit: Int? = nil, enableImageTypes: [JellyfinAPI.ImageType]? = nil, userID: String? = nil, isRecursive: Bool? = nil, diff --git a/Sources/Paths/HeadArtistImageAPI.swift b/Sources/Paths/HeadArtistImageAPI.swift index fbe985836..7723094e9 100644 --- a/Sources/Paths/HeadArtistImageAPI.swift +++ b/Sources/Paths/HeadArtistImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadArtistImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadAudioStreamAPI.swift b/Sources/Paths/HeadAudioStreamAPI.swift index 46f801c0a..864d96408 100644 --- a/Sources/Paths/HeadAudioStreamAPI.swift +++ b/Sources/Paths/HeadAudioStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,8 +24,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -33,36 +33,36 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -80,8 +80,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -89,36 +89,36 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/HeadAudioStreamByContainerAPI.swift b/Sources/Paths/HeadAudioStreamByContainerAPI.swift index 58a3e2f46..4b3c529c4 100644 --- a/Sources/Paths/HeadAudioStreamByContainerAPI.swift +++ b/Sources/Paths/HeadAudioStreamByContainerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,8 +27,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -36,36 +36,36 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -82,8 +82,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -91,36 +91,36 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/HeadGenreImageAPI.swift b/Sources/Paths/HeadGenreImageAPI.swift index f6f8c83a9..aebd9257d 100644 --- a/Sources/Paths/HeadGenreImageAPI.swift +++ b/Sources/Paths/HeadGenreImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct HeadGenreImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/HeadGenreImageByIndexAPI.swift b/Sources/Paths/HeadGenreImageByIndexAPI.swift index 3da6f8daf..aeeedbf8c 100644 --- a/Sources/Paths/HeadGenreImageByIndexAPI.swift +++ b/Sources/Paths/HeadGenreImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadGenreImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadItemImage2API.swift b/Sources/Paths/HeadItemImage2API.swift index 4d06179e8..f4c1cc748 100644 --- a/Sources/Paths/HeadItemImage2API.swift +++ b/Sources/Paths/HeadItemImage2API.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -33,26 +33,26 @@ public extension Paths { } struct HeadItemImage2Parameters { - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? public init( - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadItemImageAPI.swift b/Sources/Paths/HeadItemImageAPI.swift index aa4ce17f7..195a7ccf7 100644 --- a/Sources/Paths/HeadItemImageAPI.swift +++ b/Sources/Paths/HeadItemImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -17,44 +17,44 @@ public extension Paths { } struct HeadItemImageParameters { - public var maxWidth: Int32? - public var maxHeight: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var tag: String? public var isCropWhitespace: Bool? public var format: Format? public var isAddPlayedIndicator: Bool? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var blur: Int32? + public var unplayedCount: Int? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, tag: String? = nil, isCropWhitespace: Bool? = nil, format: Format? = nil, isAddPlayedIndicator: Bool? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - blur: Int32? = nil, + unplayedCount: Int? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.maxWidth = maxWidth self.maxHeight = maxHeight diff --git a/Sources/Paths/HeadItemImageByIndexAPI.swift b/Sources/Paths/HeadItemImageByIndexAPI.swift index 40cd6ad76..e6f217eef 100644 --- a/Sources/Paths/HeadItemImageByIndexAPI.swift +++ b/Sources/Paths/HeadItemImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,40 +27,40 @@ public extension Paths { } struct HeadItemImageByIndexParameters { - public var maxWidth: Int32? - public var maxHeight: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var tag: String? public var isCropWhitespace: Bool? public var format: Format? public var isAddPlayedIndicator: Bool? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var blur: Int32? + public var unplayedCount: Int? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? public typealias Format = JellyfinAPI.ImageFormat public init( - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, tag: String? = nil, isCropWhitespace: Bool? = nil, format: Format? = nil, isAddPlayedIndicator: Bool? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - blur: Int32? = nil, + unplayedCount: Int? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadMasterHlsAudioPlaylistAPI.swift b/Sources/Paths/HeadMasterHlsAudioPlaylistAPI.swift index ff8c3435f..6eba7f7f1 100644 --- a/Sources/Paths/HeadMasterHlsAudioPlaylistAPI.swift +++ b/Sources/Paths/HeadMasterHlsAudioPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String public var deviceID: String? public var audioCodec: String? @@ -32,37 +32,37 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? public var enableAdaptiveBitrateStreaming: Bool? @@ -80,8 +80,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String, deviceID: String? = nil, audioCodec: String? = nil, @@ -89,37 +89,37 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil, enableAdaptiveBitrateStreaming: Bool? = nil diff --git a/Sources/Paths/HeadMasterHlsVideoPlaylistAPI.swift b/Sources/Paths/HeadMasterHlsVideoPlaylistAPI.swift index 06db7d69c..d50d644cf 100644 --- a/Sources/Paths/HeadMasterHlsVideoPlaylistAPI.swift +++ b/Sources/Paths/HeadMasterHlsVideoPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,8 +23,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String public var deviceID: String? public var audioCodec: String? @@ -32,38 +32,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? public var enableAdaptiveBitrateStreaming: Bool? @@ -81,8 +81,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String, deviceID: String? = nil, audioCodec: String? = nil, @@ -90,38 +90,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil, enableAdaptiveBitrateStreaming: Bool? = nil diff --git a/Sources/Paths/HeadMusicGenreImageAPI.swift b/Sources/Paths/HeadMusicGenreImageAPI.swift index 89f7c98b5..a27fa35c6 100644 --- a/Sources/Paths/HeadMusicGenreImageAPI.swift +++ b/Sources/Paths/HeadMusicGenreImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct HeadMusicGenreImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/HeadMusicGenreImageByIndexAPI.swift b/Sources/Paths/HeadMusicGenreImageByIndexAPI.swift index b9ba0c3fc..819a2c416 100644 --- a/Sources/Paths/HeadMusicGenreImageByIndexAPI.swift +++ b/Sources/Paths/HeadMusicGenreImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadMusicGenreImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadPersonImageAPI.swift b/Sources/Paths/HeadPersonImageAPI.swift index a06e5e962..6c9975af1 100644 --- a/Sources/Paths/HeadPersonImageAPI.swift +++ b/Sources/Paths/HeadPersonImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct HeadPersonImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/HeadPersonImageByIndexAPI.swift b/Sources/Paths/HeadPersonImageByIndexAPI.swift index 384e09c33..e69afbea3 100644 --- a/Sources/Paths/HeadPersonImageByIndexAPI.swift +++ b/Sources/Paths/HeadPersonImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadPersonImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadStudioImageAPI.swift b/Sources/Paths/HeadStudioImageAPI.swift index 132183b34..6b85039ff 100644 --- a/Sources/Paths/HeadStudioImageAPI.swift +++ b/Sources/Paths/HeadStudioImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct HeadStudioImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/HeadStudioImageByIndexAPI.swift b/Sources/Paths/HeadStudioImageByIndexAPI.swift index 51267ad7c..1f4e4e82b 100644 --- a/Sources/Paths/HeadStudioImageByIndexAPI.swift +++ b/Sources/Paths/HeadStudioImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadStudioImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadUniversalAudioStreamAPI.swift b/Sources/Paths/HeadUniversalAudioStreamAPI.swift index 0759d57f3..f91d628d0 100644 --- a/Sources/Paths/HeadUniversalAudioStreamAPI.swift +++ b/Sources/Paths/HeadUniversalAudioStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -22,15 +22,15 @@ public extension Paths { public var deviceID: String? public var userID: String? public var audioCodec: String? - public var maxAudioChannels: Int32? - public var transcodingAudioChannels: Int32? - public var maxStreamingBitrate: Int32? - public var audioBitRate: Int32? - public var startTimeTicks: Int64? + public var maxAudioChannels: Int? + public var transcodingAudioChannels: Int? + public var maxStreamingBitrate: Int? + public var audioBitRate: Int? + public var startTimeTicks: Int? public var transcodingContainer: String? public var transcodingProtocol: String? - public var maxAudioSampleRate: Int32? - public var maxAudioBitDepth: Int32? + public var maxAudioSampleRate: Int? + public var maxAudioBitDepth: Int? public var enableRemoteMedia: Bool? public var isBreakOnNonKeyFrames: Bool? public var enableRedirection: Bool? @@ -41,15 +41,15 @@ public extension Paths { deviceID: String? = nil, userID: String? = nil, audioCodec: String? = nil, - maxAudioChannels: Int32? = nil, - transcodingAudioChannels: Int32? = nil, - maxStreamingBitrate: Int32? = nil, - audioBitRate: Int32? = nil, - startTimeTicks: Int64? = nil, + maxAudioChannels: Int? = nil, + transcodingAudioChannels: Int? = nil, + maxStreamingBitrate: Int? = nil, + audioBitRate: Int? = nil, + startTimeTicks: Int? = nil, transcodingContainer: String? = nil, transcodingProtocol: String? = nil, - maxAudioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, + maxAudioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, enableRemoteMedia: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, enableRedirection: Bool? = nil diff --git a/Sources/Paths/HeadUserImageAPI.swift b/Sources/Paths/HeadUserImageAPI.swift index f86224d90..fa4ead20b 100644 --- a/Sources/Paths/HeadUserImageAPI.swift +++ b/Sources/Paths/HeadUserImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,42 +19,42 @@ public extension Paths { struct HeadUserImageParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? - public var imageIndex: Int32? + public var imageIndex: Int? public typealias Format = JellyfinAPI.ImageFormat public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil, - imageIndex: Int32? = nil + imageIndex: Int? = nil ) { self.tag = tag self.format = format diff --git a/Sources/Paths/HeadUserImageByIndexAPI.swift b/Sources/Paths/HeadUserImageByIndexAPI.swift index ce0e6a0ff..41ff3d727 100644 --- a/Sources/Paths/HeadUserImageByIndexAPI.swift +++ b/Sources/Paths/HeadUserImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -29,18 +29,18 @@ public extension Paths { struct HeadUserImageByIndexParameters { public var tag: String? public var format: Format? - public var maxWidth: Int32? - public var maxHeight: Int32? + public var maxWidth: Int? + public var maxHeight: Int? public var percentPlayed: Double? - public var unplayedCount: Int32? - public var width: Int32? - public var height: Int32? - public var quality: Int32? - public var fillWidth: Int32? - public var fillHeight: Int32? + public var unplayedCount: Int? + public var width: Int? + public var height: Int? + public var quality: Int? + public var fillWidth: Int? + public var fillHeight: Int? public var isCropWhitespace: Bool? public var isAddPlayedIndicator: Bool? - public var blur: Int32? + public var blur: Int? public var backgroundColor: String? public var foregroundLayer: String? @@ -49,18 +49,18 @@ public extension Paths { public init( tag: String? = nil, format: Format? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, percentPlayed: Double? = nil, - unplayedCount: Int32? = nil, - width: Int32? = nil, - height: Int32? = nil, - quality: Int32? = nil, - fillWidth: Int32? = nil, - fillHeight: Int32? = nil, + unplayedCount: Int? = nil, + width: Int? = nil, + height: Int? = nil, + quality: Int? = nil, + fillWidth: Int? = nil, + fillHeight: Int? = nil, isCropWhitespace: Bool? = nil, isAddPlayedIndicator: Bool? = nil, - blur: Int32? = nil, + blur: Int? = nil, backgroundColor: String? = nil, foregroundLayer: String? = nil ) { diff --git a/Sources/Paths/HeadVideoStreamAPI.swift b/Sources/Paths/HeadVideoStreamAPI.swift index 7e26a2b97..b721ca8fd 100644 --- a/Sources/Paths/HeadVideoStreamAPI.swift +++ b/Sources/Paths/HeadVideoStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -24,8 +24,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -33,38 +33,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -82,8 +82,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -91,38 +91,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/HeadVideoStreamByContainerAPI.swift b/Sources/Paths/HeadVideoStreamByContainerAPI.swift index 1b2fdf0df..1c5f7fecd 100644 --- a/Sources/Paths/HeadVideoStreamByContainerAPI.swift +++ b/Sources/Paths/HeadVideoStreamByContainerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -27,8 +27,8 @@ public extension Paths { public var deviceProfileID: String? public var playSessionID: String? public var segmentContainer: String? - public var segmentLength: Int32? - public var minSegments: Int32? + public var segmentLength: Int? + public var minSegments: Int? public var mediaSourceID: String? public var deviceID: String? public var audioCodec: String? @@ -36,38 +36,38 @@ public extension Paths { public var allowVideoStreamCopy: Bool? public var allowAudioStreamCopy: Bool? public var isBreakOnNonKeyFrames: Bool? - public var audioSampleRate: Int32? - public var maxAudioBitDepth: Int32? - public var audioBitRate: Int32? - public var audioChannels: Int32? - public var maxAudioChannels: Int32? + public var audioSampleRate: Int? + public var maxAudioBitDepth: Int? + public var audioBitRate: Int? + public var audioChannels: Int? + public var maxAudioChannels: Int? public var profile: String? public var level: String? public var framerate: Float? public var maxFramerate: Float? public var isCopyTimestamps: Bool? - public var startTimeTicks: Int64? - public var width: Int32? - public var height: Int32? - public var maxWidth: Int32? - public var maxHeight: Int32? - public var videoBitRate: Int32? - public var subtitleStreamIndex: Int32? + public var startTimeTicks: Int? + public var width: Int? + public var height: Int? + public var maxWidth: Int? + public var maxHeight: Int? + public var videoBitRate: Int? + public var subtitleStreamIndex: Int? public var subtitleMethod: SubtitleMethod? - public var maxRefFrames: Int32? - public var maxVideoBitDepth: Int32? + public var maxRefFrames: Int? + public var maxVideoBitDepth: Int? public var requireAvc: Bool? public var isDeInterlace: Bool? public var requireNonAnamorphic: Bool? - public var transcodingMaxAudioChannels: Int32? - public var cpuCoreLimit: Int32? + public var transcodingMaxAudioChannels: Int? + public var cpuCoreLimit: Int? public var liveStreamID: String? public var enableMpegtsM2TsMode: Bool? public var videoCodec: String? public var subtitleCodec: String? public var transcodeReasons: String? - public var audioStreamIndex: Int32? - public var videoStreamIndex: Int32? + public var audioStreamIndex: Int? + public var videoStreamIndex: Int? public var context: Context? public var streamOptions: StreamOptions? @@ -84,8 +84,8 @@ public extension Paths { deviceProfileID: String? = nil, playSessionID: String? = nil, segmentContainer: String? = nil, - segmentLength: Int32? = nil, - minSegments: Int32? = nil, + segmentLength: Int? = nil, + minSegments: Int? = nil, mediaSourceID: String? = nil, deviceID: String? = nil, audioCodec: String? = nil, @@ -93,38 +93,38 @@ public extension Paths { allowVideoStreamCopy: Bool? = nil, allowAudioStreamCopy: Bool? = nil, isBreakOnNonKeyFrames: Bool? = nil, - audioSampleRate: Int32? = nil, - maxAudioBitDepth: Int32? = nil, - audioBitRate: Int32? = nil, - audioChannels: Int32? = nil, - maxAudioChannels: Int32? = nil, + audioSampleRate: Int? = nil, + maxAudioBitDepth: Int? = nil, + audioBitRate: Int? = nil, + audioChannels: Int? = nil, + maxAudioChannels: Int? = nil, profile: String? = nil, level: String? = nil, framerate: Float? = nil, maxFramerate: Float? = nil, isCopyTimestamps: Bool? = nil, - startTimeTicks: Int64? = nil, - width: Int32? = nil, - height: Int32? = nil, - maxWidth: Int32? = nil, - maxHeight: Int32? = nil, - videoBitRate: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + startTimeTicks: Int? = nil, + width: Int? = nil, + height: Int? = nil, + maxWidth: Int? = nil, + maxHeight: Int? = nil, + videoBitRate: Int? = nil, + subtitleStreamIndex: Int? = nil, subtitleMethod: SubtitleMethod? = nil, - maxRefFrames: Int32? = nil, - maxVideoBitDepth: Int32? = nil, + maxRefFrames: Int? = nil, + maxVideoBitDepth: Int? = nil, requireAvc: Bool? = nil, isDeInterlace: Bool? = nil, requireNonAnamorphic: Bool? = nil, - transcodingMaxAudioChannels: Int32? = nil, - cpuCoreLimit: Int32? = nil, + transcodingMaxAudioChannels: Int? = nil, + cpuCoreLimit: Int? = nil, liveStreamID: String? = nil, enableMpegtsM2TsMode: Bool? = nil, videoCodec: String? = nil, subtitleCodec: String? = nil, transcodeReasons: String? = nil, - audioStreamIndex: Int32? = nil, - videoStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + videoStreamIndex: Int? = nil, context: Context? = nil, streamOptions: StreamOptions? = nil ) { diff --git a/Sources/Paths/InitiateAPI.swift b/Sources/Paths/InitiateAPI.swift index 5252d799f..8adb2da9a 100644 --- a/Sources/Paths/InitiateAPI.swift +++ b/Sources/Paths/InitiateAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/InstallPackageAPI.swift b/Sources/Paths/InstallPackageAPI.swift index 7f7723f56..bee82bf70 100644 --- a/Sources/Paths/InstallPackageAPI.swift +++ b/Sources/Paths/InstallPackageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/LogFileAPI.swift b/Sources/Paths/LogFileAPI.swift index 9134eca6e..ae9f43816 100644 --- a/Sources/Paths/LogFileAPI.swift +++ b/Sources/Paths/LogFileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/MarkFavoriteItemAPI.swift b/Sources/Paths/MarkFavoriteItemAPI.swift index 305336543..f40feb315 100644 --- a/Sources/Paths/MarkFavoriteItemAPI.swift +++ b/Sources/Paths/MarkFavoriteItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/MarkPlayedItemAPI.swift b/Sources/Paths/MarkPlayedItemAPI.swift index ef591f6b6..4f9b3ff86 100644 --- a/Sources/Paths/MarkPlayedItemAPI.swift +++ b/Sources/Paths/MarkPlayedItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/MarkUnplayedItemAPI.swift b/Sources/Paths/MarkUnplayedItemAPI.swift index 341258350..dcd89a8f2 100644 --- a/Sources/Paths/MarkUnplayedItemAPI.swift +++ b/Sources/Paths/MarkUnplayedItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/MergeVersionsAPI.swift b/Sources/Paths/MergeVersionsAPI.swift index 31f174a7f..5e6a090b4 100644 --- a/Sources/Paths/MergeVersionsAPI.swift +++ b/Sources/Paths/MergeVersionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/MoveItemAPI.swift b/Sources/Paths/MoveItemAPI.swift index 15ff81212..38340ec76 100644 --- a/Sources/Paths/MoveItemAPI.swift +++ b/Sources/Paths/MoveItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/OnPlaybackProgressAPI.swift b/Sources/Paths/OnPlaybackProgressAPI.swift index ff26c4b9c..e17f4244f 100644 --- a/Sources/Paths/OnPlaybackProgressAPI.swift +++ b/Sources/Paths/OnPlaybackProgressAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,10 +23,10 @@ public extension Paths { struct OnPlaybackProgressParameters { public var mediaSourceID: String? - public var positionTicks: Int64? - public var audioStreamIndex: Int32? - public var subtitleStreamIndex: Int32? - public var volumeLevel: Int32? + public var positionTicks: Int? + public var audioStreamIndex: Int? + public var subtitleStreamIndex: Int? + public var volumeLevel: Int? public var playMethod: PlayMethod? public var liveStreamID: String? public var playSessionID: String? @@ -40,10 +40,10 @@ public extension Paths { public init( mediaSourceID: String? = nil, - positionTicks: Int64? = nil, - audioStreamIndex: Int32? = nil, - subtitleStreamIndex: Int32? = nil, - volumeLevel: Int32? = nil, + positionTicks: Int? = nil, + audioStreamIndex: Int? = nil, + subtitleStreamIndex: Int? = nil, + volumeLevel: Int? = nil, playMethod: PlayMethod? = nil, liveStreamID: String? = nil, playSessionID: String? = nil, diff --git a/Sources/Paths/OnPlaybackStartAPI.swift b/Sources/Paths/OnPlaybackStartAPI.swift index 7ea62f612..191a9ca5b 100644 --- a/Sources/Paths/OnPlaybackStartAPI.swift +++ b/Sources/Paths/OnPlaybackStartAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -18,8 +18,8 @@ public extension Paths { struct OnPlaybackStartParameters { public var mediaSourceID: String? - public var audioStreamIndex: Int32? - public var subtitleStreamIndex: Int32? + public var audioStreamIndex: Int? + public var subtitleStreamIndex: Int? public var playMethod: PlayMethod? public var liveStreamID: String? public var playSessionID: String? @@ -29,8 +29,8 @@ public extension Paths { public init( mediaSourceID: String? = nil, - audioStreamIndex: Int32? = nil, - subtitleStreamIndex: Int32? = nil, + audioStreamIndex: Int? = nil, + subtitleStreamIndex: Int? = nil, playMethod: PlayMethod? = nil, liveStreamID: String? = nil, playSessionID: String? = nil, diff --git a/Sources/Paths/OnPlaybackStoppedAPI.swift b/Sources/Paths/OnPlaybackStoppedAPI.swift index 609aa0c7c..584fd758e 100644 --- a/Sources/Paths/OnPlaybackStoppedAPI.swift +++ b/Sources/Paths/OnPlaybackStoppedAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -19,14 +19,14 @@ public extension Paths { struct OnPlaybackStoppedParameters { public var mediaSourceID: String? public var nextMediaType: String? - public var positionTicks: Int64? + public var positionTicks: Int? public var liveStreamID: String? public var playSessionID: String? public init( mediaSourceID: String? = nil, nextMediaType: String? = nil, - positionTicks: Int64? = nil, + positionTicks: Int? = nil, liveStreamID: String? = nil, playSessionID: String? = nil ) { diff --git a/Sources/Paths/OpenLiveStreamAPI.swift b/Sources/Paths/OpenLiveStreamAPI.swift index 792770eea..3e644eb3e 100644 --- a/Sources/Paths/OpenLiveStreamAPI.swift +++ b/Sources/Paths/OpenLiveStreamAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -23,11 +23,11 @@ public extension Paths { public var openToken: String? public var userID: String? public var playSessionID: String? - public var maxStreamingBitrate: Int32? - public var startTimeTicks: Int64? - public var audioStreamIndex: Int32? - public var subtitleStreamIndex: Int32? - public var maxAudioChannels: Int32? + public var maxStreamingBitrate: Int? + public var startTimeTicks: Int? + public var audioStreamIndex: Int? + public var subtitleStreamIndex: Int? + public var maxAudioChannels: Int? public var itemID: String? public var enableDirectPlay: Bool? public var enableDirectStream: Bool? @@ -36,11 +36,11 @@ public extension Paths { openToken: String? = nil, userID: String? = nil, playSessionID: String? = nil, - maxStreamingBitrate: Int32? = nil, - startTimeTicks: Int64? = nil, - audioStreamIndex: Int32? = nil, - subtitleStreamIndex: Int32? = nil, - maxAudioChannels: Int32? = nil, + maxStreamingBitrate: Int? = nil, + startTimeTicks: Int? = nil, + audioStreamIndex: Int? = nil, + subtitleStreamIndex: Int? = nil, + maxAudioChannels: Int? = nil, itemID: String? = nil, enableDirectPlay: Bool? = nil, enableDirectStream: Bool? = nil diff --git a/Sources/Paths/PingPlaybackSessionAPI.swift b/Sources/Paths/PingPlaybackSessionAPI.swift index 3009cf08c..c7e25a84b 100644 --- a/Sources/Paths/PingPlaybackSessionAPI.swift +++ b/Sources/Paths/PingPlaybackSessionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PlayAPI.swift b/Sources/Paths/PlayAPI.swift index 5252270bf..6e493e16e 100644 --- a/Sources/Paths/PlayAPI.swift +++ b/Sources/Paths/PlayAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -20,22 +20,22 @@ public extension Paths { /// Enum PlayCommand. public var playCommand: PlayCommand public var itemIDs: [String] - public var startPositionTicks: Int64? + public var startPositionTicks: Int? public var mediaSourceID: String? - public var audioStreamIndex: Int32? - public var subtitleStreamIndex: Int32? - public var startIndex: Int32? + public var audioStreamIndex: Int? + public var subtitleStreamIndex: Int? + public var startIndex: Int? public typealias PlayCommand = JellyfinAPI.PlayCommand public init( playCommand: PlayCommand, itemIDs: [String], - startPositionTicks: Int64? = nil, + startPositionTicks: Int? = nil, mediaSourceID: String? = nil, - audioStreamIndex: Int32? = nil, - subtitleStreamIndex: Int32? = nil, - startIndex: Int32? = nil + audioStreamIndex: Int? = nil, + subtitleStreamIndex: Int? = nil, + startIndex: Int? = nil ) { self.playCommand = playCommand self.itemIDs = itemIDs diff --git a/Sources/Paths/PostAddedMoviesAPI.swift b/Sources/Paths/PostAddedMoviesAPI.swift index da7cc3c11..1ab3ae553 100644 --- a/Sources/Paths/PostAddedMoviesAPI.swift +++ b/Sources/Paths/PostAddedMoviesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostAddedSeriesAPI.swift b/Sources/Paths/PostAddedSeriesAPI.swift index 180ccbedd..e35f66bf0 100644 --- a/Sources/Paths/PostAddedSeriesAPI.swift +++ b/Sources/Paths/PostAddedSeriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostCapabilitiesAPI.swift b/Sources/Paths/PostCapabilitiesAPI.swift index 7c9d06a9e..d1f0fba63 100644 --- a/Sources/Paths/PostCapabilitiesAPI.swift +++ b/Sources/Paths/PostCapabilitiesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostFullCapabilitiesAPI.swift b/Sources/Paths/PostFullCapabilitiesAPI.swift index 53d1475b9..c24d9126d 100644 --- a/Sources/Paths/PostFullCapabilitiesAPI.swift +++ b/Sources/Paths/PostFullCapabilitiesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostPingSystemAPI.swift b/Sources/Paths/PostPingSystemAPI.swift index 83035e337..717190a55 100644 --- a/Sources/Paths/PostPingSystemAPI.swift +++ b/Sources/Paths/PostPingSystemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostUpdatedMediaAPI.swift b/Sources/Paths/PostUpdatedMediaAPI.swift index 1dc976e7f..b3433db01 100644 --- a/Sources/Paths/PostUpdatedMediaAPI.swift +++ b/Sources/Paths/PostUpdatedMediaAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostUpdatedMoviesAPI.swift b/Sources/Paths/PostUpdatedMoviesAPI.swift index 7a7a3575b..571d4aa4b 100644 --- a/Sources/Paths/PostUpdatedMoviesAPI.swift +++ b/Sources/Paths/PostUpdatedMoviesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostUpdatedSeriesAPI.swift b/Sources/Paths/PostUpdatedSeriesAPI.swift index 9a46dfa49..fc7afb27d 100644 --- a/Sources/Paths/PostUpdatedSeriesAPI.swift +++ b/Sources/Paths/PostUpdatedSeriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/PostUserImageAPI.swift b/Sources/Paths/PostUserImageAPI.swift index e9bbf106e..ab1f31ac5 100644 --- a/Sources/Paths/PostUserImageAPI.swift +++ b/Sources/Paths/PostUserImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -12,7 +12,7 @@ import URLQueryEncoder extension Paths { /// Sets the user image. - public static func postUserImage(userID: String, imageType: String, index: Int32? = nil, _ body: Data? = nil) -> Request { + public static func postUserImage(userID: String, imageType: String, index: Int? = nil, _ body: Data? = nil) -> Request { Request( method: "POST", url: "/Users/\(userID)/Images/\(imageType)", @@ -22,7 +22,7 @@ extension Paths { ) } - private static func makePostUserImageQuery(_ index: Int32?) -> [(String, String?)] { + private static func makePostUserImageQuery(_ index: Int?) -> [(String, String?)] { let encoder = URLQueryEncoder() encoder.encode(index, forKey: "index") return encoder.items diff --git a/Sources/Paths/PostUserImageByIndexAPI.swift b/Sources/Paths/PostUserImageByIndexAPI.swift index b23cf02e8..4cc4658e2 100644 --- a/Sources/Paths/PostUserImageByIndexAPI.swift +++ b/Sources/Paths/PostUserImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ProcessConnectionManagerControlRequestAPI.swift b/Sources/Paths/ProcessConnectionManagerControlRequestAPI.swift index 83b9b9173..9d9e61e93 100644 --- a/Sources/Paths/ProcessConnectionManagerControlRequestAPI.swift +++ b/Sources/Paths/ProcessConnectionManagerControlRequestAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ProcessContentDirectoryControlRequestAPI.swift b/Sources/Paths/ProcessContentDirectoryControlRequestAPI.swift index 752a6e7a7..7fe8ae52d 100644 --- a/Sources/Paths/ProcessContentDirectoryControlRequestAPI.swift +++ b/Sources/Paths/ProcessContentDirectoryControlRequestAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ProcessMediaReceiverRegistrarControlRequestAPI.swift b/Sources/Paths/ProcessMediaReceiverRegistrarControlRequestAPI.swift index 161fb3f4c..0411ba0e3 100644 --- a/Sources/Paths/ProcessMediaReceiverRegistrarControlRequestAPI.swift +++ b/Sources/Paths/ProcessMediaReceiverRegistrarControlRequestAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RefreshItemAPI.swift b/Sources/Paths/RefreshItemAPI.swift index 11677b61a..b6f2b2496 100644 --- a/Sources/Paths/RefreshItemAPI.swift +++ b/Sources/Paths/RefreshItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RefreshLibraryAPI.swift b/Sources/Paths/RefreshLibraryAPI.swift index 669ebaf75..8ac14fd2d 100644 --- a/Sources/Paths/RefreshLibraryAPI.swift +++ b/Sources/Paths/RefreshLibraryAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RemoveFromCollectionAPI.swift b/Sources/Paths/RemoveFromCollectionAPI.swift index f9eef5564..edbf11b3d 100644 --- a/Sources/Paths/RemoveFromCollectionAPI.swift +++ b/Sources/Paths/RemoveFromCollectionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RemoveFromPlaylistAPI.swift b/Sources/Paths/RemoveFromPlaylistAPI.swift index 46ea21de1..02d451e91 100644 --- a/Sources/Paths/RemoveFromPlaylistAPI.swift +++ b/Sources/Paths/RemoveFromPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RemoveMediaPathAPI.swift b/Sources/Paths/RemoveMediaPathAPI.swift index ecf839830..a8fdd574d 100644 --- a/Sources/Paths/RemoveMediaPathAPI.swift +++ b/Sources/Paths/RemoveMediaPathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RemoveUserFromSessionAPI.swift b/Sources/Paths/RemoveUserFromSessionAPI.swift index 64cb93720..3da4a59ff 100644 --- a/Sources/Paths/RemoveUserFromSessionAPI.swift +++ b/Sources/Paths/RemoveUserFromSessionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RemoveVirtualFolderAPI.swift b/Sources/Paths/RemoveVirtualFolderAPI.swift index 2bafb0fac..61fbee907 100644 --- a/Sources/Paths/RemoveVirtualFolderAPI.swift +++ b/Sources/Paths/RemoveVirtualFolderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RenameVirtualFolderAPI.swift b/Sources/Paths/RenameVirtualFolderAPI.swift index f281cf596..9e20dbdd8 100644 --- a/Sources/Paths/RenameVirtualFolderAPI.swift +++ b/Sources/Paths/RenameVirtualFolderAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ReportPlaybackProgressAPI.swift b/Sources/Paths/ReportPlaybackProgressAPI.swift index 3d19633d7..07dd211bc 100644 --- a/Sources/Paths/ReportPlaybackProgressAPI.swift +++ b/Sources/Paths/ReportPlaybackProgressAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ReportPlaybackStartAPI.swift b/Sources/Paths/ReportPlaybackStartAPI.swift index 38a46a02b..99a2eaa86 100644 --- a/Sources/Paths/ReportPlaybackStartAPI.swift +++ b/Sources/Paths/ReportPlaybackStartAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ReportPlaybackStoppedAPI.swift b/Sources/Paths/ReportPlaybackStoppedAPI.swift index ffc5ec1d1..ce2caf28d 100644 --- a/Sources/Paths/ReportPlaybackStoppedAPI.swift +++ b/Sources/Paths/ReportPlaybackStoppedAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ReportSessionEndedAPI.swift b/Sources/Paths/ReportSessionEndedAPI.swift index ff15b3a18..ba5779544 100644 --- a/Sources/Paths/ReportSessionEndedAPI.swift +++ b/Sources/Paths/ReportSessionEndedAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ReportViewingAPI.swift b/Sources/Paths/ReportViewingAPI.swift index 10ee4c571..f95a589a5 100644 --- a/Sources/Paths/ReportViewingAPI.swift +++ b/Sources/Paths/ReportViewingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ResetTunerAPI.swift b/Sources/Paths/ResetTunerAPI.swift index c764aa840..a4028d9bc 100644 --- a/Sources/Paths/ResetTunerAPI.swift +++ b/Sources/Paths/ResetTunerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RestartApplicationAPI.swift b/Sources/Paths/RestartApplicationAPI.swift index 9d985cad5..b95f1b8de 100644 --- a/Sources/Paths/RestartApplicationAPI.swift +++ b/Sources/Paths/RestartApplicationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/RevokeKeyAPI.swift b/Sources/Paths/RevokeKeyAPI.swift index 271f05d4e..28e8bab23 100644 --- a/Sources/Paths/RevokeKeyAPI.swift +++ b/Sources/Paths/RevokeKeyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SearchRemoteSubtitlesAPI.swift b/Sources/Paths/SearchRemoteSubtitlesAPI.swift index d9fd6a8b4..e1caeab86 100644 --- a/Sources/Paths/SearchRemoteSubtitlesAPI.swift +++ b/Sources/Paths/SearchRemoteSubtitlesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SendFullGeneralCommandAPI.swift b/Sources/Paths/SendFullGeneralCommandAPI.swift index 444def52f..5f2e7beee 100644 --- a/Sources/Paths/SendFullGeneralCommandAPI.swift +++ b/Sources/Paths/SendFullGeneralCommandAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SendGeneralCommandAPI.swift b/Sources/Paths/SendGeneralCommandAPI.swift index 5d7a3b48d..68f31d113 100644 --- a/Sources/Paths/SendGeneralCommandAPI.swift +++ b/Sources/Paths/SendGeneralCommandAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SendMessageCommandAPI.swift b/Sources/Paths/SendMessageCommandAPI.swift index 86ec50443..87afe7a03 100644 --- a/Sources/Paths/SendMessageCommandAPI.swift +++ b/Sources/Paths/SendMessageCommandAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SendPlaystateCommandAPI.swift b/Sources/Paths/SendPlaystateCommandAPI.swift index 4a40ae5a5..a8ed9a366 100644 --- a/Sources/Paths/SendPlaystateCommandAPI.swift +++ b/Sources/Paths/SendPlaystateCommandAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation @@ -15,7 +15,7 @@ extension Paths { public static func sendPlaystateCommand( sessionID: String, command: String, - seekPositionTicks: Int64? = nil, + seekPositionTicks: Int? = nil, controllingUserID: String? = nil ) -> Request { Request( @@ -26,7 +26,7 @@ extension Paths { ) } - private static func makeSendPlaystateCommandQuery(_ seekPositionTicks: Int64?, _ controllingUserID: String?) -> [(String, String?)] { + private static func makeSendPlaystateCommandQuery(_ seekPositionTicks: Int?, _ controllingUserID: String?) -> [(String, String?)] { let encoder = URLQueryEncoder() encoder.encode(seekPositionTicks, forKey: "seekPositionTicks") encoder.encode(controllingUserID, forKey: "controllingUserId") diff --git a/Sources/Paths/SendSystemCommandAPI.swift b/Sources/Paths/SendSystemCommandAPI.swift index 1856708ff..bb6490d49 100644 --- a/Sources/Paths/SendSystemCommandAPI.swift +++ b/Sources/Paths/SendSystemCommandAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetChannelMappingAPI.swift b/Sources/Paths/SetChannelMappingAPI.swift index 8bb335a19..de2b29343 100644 --- a/Sources/Paths/SetChannelMappingAPI.swift +++ b/Sources/Paths/SetChannelMappingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetItemImageAPI.swift b/Sources/Paths/SetItemImageAPI.swift index f49e5d66a..1f90d6e29 100644 --- a/Sources/Paths/SetItemImageAPI.swift +++ b/Sources/Paths/SetItemImageAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetItemImageByIndexAPI.swift b/Sources/Paths/SetItemImageByIndexAPI.swift index ae9badc55..b76b29af4 100644 --- a/Sources/Paths/SetItemImageByIndexAPI.swift +++ b/Sources/Paths/SetItemImageByIndexAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetReadAPI.swift b/Sources/Paths/SetReadAPI.swift index 54f9e44b7..ef9a7f415 100644 --- a/Sources/Paths/SetReadAPI.swift +++ b/Sources/Paths/SetReadAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetRemoteAccessAPI.swift b/Sources/Paths/SetRemoteAccessAPI.swift index c58b1f0f9..4df986217 100644 --- a/Sources/Paths/SetRemoteAccessAPI.swift +++ b/Sources/Paths/SetRemoteAccessAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetRepositoriesAPI.swift b/Sources/Paths/SetRepositoriesAPI.swift index 427426c19..57fc527c8 100644 --- a/Sources/Paths/SetRepositoriesAPI.swift +++ b/Sources/Paths/SetRepositoriesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SetUnreadAPI.swift b/Sources/Paths/SetUnreadAPI.swift index 72e12139a..ba3f97e54 100644 --- a/Sources/Paths/SetUnreadAPI.swift +++ b/Sources/Paths/SetUnreadAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ShutdownApplicationAPI.swift b/Sources/Paths/ShutdownApplicationAPI.swift index 390979ce2..2ca31e491 100644 --- a/Sources/Paths/ShutdownApplicationAPI.swift +++ b/Sources/Paths/ShutdownApplicationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/StartTaskAPI.swift b/Sources/Paths/StartTaskAPI.swift index 188e3ffac..85c17138f 100644 --- a/Sources/Paths/StartTaskAPI.swift +++ b/Sources/Paths/StartTaskAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/StopEncodingProcessAPI.swift b/Sources/Paths/StopEncodingProcessAPI.swift index 5927a9173..8000a5905 100644 --- a/Sources/Paths/StopEncodingProcessAPI.swift +++ b/Sources/Paths/StopEncodingProcessAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/StopTaskAPI.swift b/Sources/Paths/StopTaskAPI.swift index 9bce2908d..4433de1cc 100644 --- a/Sources/Paths/StopTaskAPI.swift +++ b/Sources/Paths/StopTaskAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayBufferingAPI.swift b/Sources/Paths/SyncPlayBufferingAPI.swift index 6fe2f24cc..29af9cf13 100644 --- a/Sources/Paths/SyncPlayBufferingAPI.swift +++ b/Sources/Paths/SyncPlayBufferingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayCreateGroupAPI.swift b/Sources/Paths/SyncPlayCreateGroupAPI.swift index 283375125..d32cdd0fe 100644 --- a/Sources/Paths/SyncPlayCreateGroupAPI.swift +++ b/Sources/Paths/SyncPlayCreateGroupAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayGetGroupsAPI.swift b/Sources/Paths/SyncPlayGetGroupsAPI.swift index 7f4a79cf8..978fbf96a 100644 --- a/Sources/Paths/SyncPlayGetGroupsAPI.swift +++ b/Sources/Paths/SyncPlayGetGroupsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayJoinGroupAPI.swift b/Sources/Paths/SyncPlayJoinGroupAPI.swift index 3d7f56361..ae3fe90f1 100644 --- a/Sources/Paths/SyncPlayJoinGroupAPI.swift +++ b/Sources/Paths/SyncPlayJoinGroupAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayLeaveGroupAPI.swift b/Sources/Paths/SyncPlayLeaveGroupAPI.swift index 43bc87bcd..48bf9ab2d 100644 --- a/Sources/Paths/SyncPlayLeaveGroupAPI.swift +++ b/Sources/Paths/SyncPlayLeaveGroupAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayMovePlaylistItemAPI.swift b/Sources/Paths/SyncPlayMovePlaylistItemAPI.swift index bd0483c6f..3129abb25 100644 --- a/Sources/Paths/SyncPlayMovePlaylistItemAPI.swift +++ b/Sources/Paths/SyncPlayMovePlaylistItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayNextItemAPI.swift b/Sources/Paths/SyncPlayNextItemAPI.swift index 7e9afa65a..3ce859df9 100644 --- a/Sources/Paths/SyncPlayNextItemAPI.swift +++ b/Sources/Paths/SyncPlayNextItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayPauseAPI.swift b/Sources/Paths/SyncPlayPauseAPI.swift index 172f66944..ab1a1f33e 100644 --- a/Sources/Paths/SyncPlayPauseAPI.swift +++ b/Sources/Paths/SyncPlayPauseAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayPingAPI.swift b/Sources/Paths/SyncPlayPingAPI.swift index 8682c7e87..1b20bce58 100644 --- a/Sources/Paths/SyncPlayPingAPI.swift +++ b/Sources/Paths/SyncPlayPingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayPreviousItemAPI.swift b/Sources/Paths/SyncPlayPreviousItemAPI.swift index 565e5eef0..15ac1dfa4 100644 --- a/Sources/Paths/SyncPlayPreviousItemAPI.swift +++ b/Sources/Paths/SyncPlayPreviousItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayQueueAPI.swift b/Sources/Paths/SyncPlayQueueAPI.swift index e282f25eb..72423a6a1 100644 --- a/Sources/Paths/SyncPlayQueueAPI.swift +++ b/Sources/Paths/SyncPlayQueueAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayReadyAPI.swift b/Sources/Paths/SyncPlayReadyAPI.swift index a640923d3..2fe861b38 100644 --- a/Sources/Paths/SyncPlayReadyAPI.swift +++ b/Sources/Paths/SyncPlayReadyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayRemoveFromPlaylistAPI.swift b/Sources/Paths/SyncPlayRemoveFromPlaylistAPI.swift index 18381a115..62abd69c8 100644 --- a/Sources/Paths/SyncPlayRemoveFromPlaylistAPI.swift +++ b/Sources/Paths/SyncPlayRemoveFromPlaylistAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySeekAPI.swift b/Sources/Paths/SyncPlaySeekAPI.swift index 147979e98..e63e487fe 100644 --- a/Sources/Paths/SyncPlaySeekAPI.swift +++ b/Sources/Paths/SyncPlaySeekAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySetIgnoreWaitAPI.swift b/Sources/Paths/SyncPlaySetIgnoreWaitAPI.swift index 822e2f0e7..87c1024f4 100644 --- a/Sources/Paths/SyncPlaySetIgnoreWaitAPI.swift +++ b/Sources/Paths/SyncPlaySetIgnoreWaitAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySetNewQueueAPI.swift b/Sources/Paths/SyncPlaySetNewQueueAPI.swift index f03e96dc2..21bf9c9c5 100644 --- a/Sources/Paths/SyncPlaySetNewQueueAPI.swift +++ b/Sources/Paths/SyncPlaySetNewQueueAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySetPlaylistItemAPI.swift b/Sources/Paths/SyncPlaySetPlaylistItemAPI.swift index 4b0cd48ef..0c9552bfa 100644 --- a/Sources/Paths/SyncPlaySetPlaylistItemAPI.swift +++ b/Sources/Paths/SyncPlaySetPlaylistItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySetRepeatModeAPI.swift b/Sources/Paths/SyncPlaySetRepeatModeAPI.swift index 8975b988b..4638125b8 100644 --- a/Sources/Paths/SyncPlaySetRepeatModeAPI.swift +++ b/Sources/Paths/SyncPlaySetRepeatModeAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlaySetShuffleModeAPI.swift b/Sources/Paths/SyncPlaySetShuffleModeAPI.swift index 548a77d0f..97b69498a 100644 --- a/Sources/Paths/SyncPlaySetShuffleModeAPI.swift +++ b/Sources/Paths/SyncPlaySetShuffleModeAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayStopAPI.swift b/Sources/Paths/SyncPlayStopAPI.swift index d7fc63882..b46e2d2ee 100644 --- a/Sources/Paths/SyncPlayStopAPI.swift +++ b/Sources/Paths/SyncPlayStopAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/SyncPlayUnpauseAPI.swift b/Sources/Paths/SyncPlayUnpauseAPI.swift index 175de757c..ecd51ec58 100644 --- a/Sources/Paths/SyncPlayUnpauseAPI.swift +++ b/Sources/Paths/SyncPlayUnpauseAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/TmdbClientConfigurationAPI.swift b/Sources/Paths/TmdbClientConfigurationAPI.swift index f6b75ccc6..95cfd34cb 100644 --- a/Sources/Paths/TmdbClientConfigurationAPI.swift +++ b/Sources/Paths/TmdbClientConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UninstallPluginAPI.swift b/Sources/Paths/UninstallPluginAPI.swift index d4e22b34a..cb33a9176 100644 --- a/Sources/Paths/UninstallPluginAPI.swift +++ b/Sources/Paths/UninstallPluginAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UninstallPluginByVersionAPI.swift b/Sources/Paths/UninstallPluginByVersionAPI.swift index 31e1e816d..db8e58cfe 100644 --- a/Sources/Paths/UninstallPluginByVersionAPI.swift +++ b/Sources/Paths/UninstallPluginByVersionAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UnmarkFavoriteItemAPI.swift b/Sources/Paths/UnmarkFavoriteItemAPI.swift index 3a419fb18..46496a743 100644 --- a/Sources/Paths/UnmarkFavoriteItemAPI.swift +++ b/Sources/Paths/UnmarkFavoriteItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateConfigurationAPI.swift b/Sources/Paths/UpdateConfigurationAPI.swift index bae2f7b0f..39fda1aa8 100644 --- a/Sources/Paths/UpdateConfigurationAPI.swift +++ b/Sources/Paths/UpdateConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateDeviceOptionsAPI.swift b/Sources/Paths/UpdateDeviceOptionsAPI.swift index 586128ddd..dda509dbe 100644 --- a/Sources/Paths/UpdateDeviceOptionsAPI.swift +++ b/Sources/Paths/UpdateDeviceOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateDisplayPreferencesAPI.swift b/Sources/Paths/UpdateDisplayPreferencesAPI.swift index 66f2b8ea5..32b5fc077 100644 --- a/Sources/Paths/UpdateDisplayPreferencesAPI.swift +++ b/Sources/Paths/UpdateDisplayPreferencesAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateInitialConfigurationAPI.swift b/Sources/Paths/UpdateInitialConfigurationAPI.swift index 3625b6401..c2a82484d 100644 --- a/Sources/Paths/UpdateInitialConfigurationAPI.swift +++ b/Sources/Paths/UpdateInitialConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateItemAPI.swift b/Sources/Paths/UpdateItemAPI.swift index f804d12a9..ad1c579c7 100644 --- a/Sources/Paths/UpdateItemAPI.swift +++ b/Sources/Paths/UpdateItemAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateItemContentTypeAPI.swift b/Sources/Paths/UpdateItemContentTypeAPI.swift index a9521dd7f..3b1964447 100644 --- a/Sources/Paths/UpdateItemContentTypeAPI.swift +++ b/Sources/Paths/UpdateItemContentTypeAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateItemImageIndexAPI.swift b/Sources/Paths/UpdateItemImageIndexAPI.swift index 19a993835..4994b29f8 100644 --- a/Sources/Paths/UpdateItemImageIndexAPI.swift +++ b/Sources/Paths/UpdateItemImageIndexAPI.swift @@ -3,27 +3,21 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation import Get import URLQueryEncoder -extension Paths { +public extension Paths { /// Updates the index for an item image. - public static func updateItemImageIndex(itemID: String, imageType: String, imageIndex: Int, newIndex: Int32) -> Request { + static func updateItemImageIndex(itemID: String, imageType: String, imageIndex: Int, newIndex: Int) -> Request { Request( method: "POST", url: "/Items/\(itemID)/Images/\(imageType)/\(imageIndex)/Index", - query: makeUpdateItemImageIndexQuery(newIndex), + query: [("newIndex", String(newIndex))], id: "UpdateItemImageIndex" ) } - - private static func makeUpdateItemImageIndexQuery(_ newIndex: Int32) -> [(String, String?)] { - let encoder = URLQueryEncoder() - encoder.encode(newIndex, forKey: "newIndex") - return encoder.items - } } diff --git a/Sources/Paths/UpdateLibraryOptionsAPI.swift b/Sources/Paths/UpdateLibraryOptionsAPI.swift index 6da58ed99..1eaf73bfa 100644 --- a/Sources/Paths/UpdateLibraryOptionsAPI.swift +++ b/Sources/Paths/UpdateLibraryOptionsAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateMediaEncoderPathAPI.swift b/Sources/Paths/UpdateMediaEncoderPathAPI.swift index df15188a4..5fe6fd396 100644 --- a/Sources/Paths/UpdateMediaEncoderPathAPI.swift +++ b/Sources/Paths/UpdateMediaEncoderPathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateMediaPathAPI.swift b/Sources/Paths/UpdateMediaPathAPI.swift index c19dfa07a..71ccf875d 100644 --- a/Sources/Paths/UpdateMediaPathAPI.swift +++ b/Sources/Paths/UpdateMediaPathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateNamedConfigurationAPI.swift b/Sources/Paths/UpdateNamedConfigurationAPI.swift index 1dfc38415..5d8569d36 100644 --- a/Sources/Paths/UpdateNamedConfigurationAPI.swift +++ b/Sources/Paths/UpdateNamedConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdatePluginConfigurationAPI.swift b/Sources/Paths/UpdatePluginConfigurationAPI.swift index a667febdf..4c8a097aa 100644 --- a/Sources/Paths/UpdatePluginConfigurationAPI.swift +++ b/Sources/Paths/UpdatePluginConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateProfileAPI.swift b/Sources/Paths/UpdateProfileAPI.swift index c88bb5027..506ebef9a 100644 --- a/Sources/Paths/UpdateProfileAPI.swift +++ b/Sources/Paths/UpdateProfileAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateSeriesTimerAPI.swift b/Sources/Paths/UpdateSeriesTimerAPI.swift index 63fbd38a9..be8e1076e 100644 --- a/Sources/Paths/UpdateSeriesTimerAPI.swift +++ b/Sources/Paths/UpdateSeriesTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateStartupUserAPI.swift b/Sources/Paths/UpdateStartupUserAPI.swift index e15df0d3e..55c0eeeb6 100644 --- a/Sources/Paths/UpdateStartupUserAPI.swift +++ b/Sources/Paths/UpdateStartupUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateTaskAPI.swift b/Sources/Paths/UpdateTaskAPI.swift index fb705333a..fcba51067 100644 --- a/Sources/Paths/UpdateTaskAPI.swift +++ b/Sources/Paths/UpdateTaskAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateTimerAPI.swift b/Sources/Paths/UpdateTimerAPI.swift index df0f2a31c..12e1074bc 100644 --- a/Sources/Paths/UpdateTimerAPI.swift +++ b/Sources/Paths/UpdateTimerAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserAPI.swift b/Sources/Paths/UpdateUserAPI.swift index fa78db666..471b21630 100644 --- a/Sources/Paths/UpdateUserAPI.swift +++ b/Sources/Paths/UpdateUserAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserConfigurationAPI.swift b/Sources/Paths/UpdateUserConfigurationAPI.swift index c0856e867..bf3d84e17 100644 --- a/Sources/Paths/UpdateUserConfigurationAPI.swift +++ b/Sources/Paths/UpdateUserConfigurationAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserEasyPasswordAPI.swift b/Sources/Paths/UpdateUserEasyPasswordAPI.swift index a520e3bcc..81fbf9f6d 100644 --- a/Sources/Paths/UpdateUserEasyPasswordAPI.swift +++ b/Sources/Paths/UpdateUserEasyPasswordAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserItemRatingAPI.swift b/Sources/Paths/UpdateUserItemRatingAPI.swift index b19bcdd71..448c83f14 100644 --- a/Sources/Paths/UpdateUserItemRatingAPI.swift +++ b/Sources/Paths/UpdateUserItemRatingAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserPasswordAPI.swift b/Sources/Paths/UpdateUserPasswordAPI.swift index 860ad8425..8bdfead83 100644 --- a/Sources/Paths/UpdateUserPasswordAPI.swift +++ b/Sources/Paths/UpdateUserPasswordAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UpdateUserPolicyAPI.swift b/Sources/Paths/UpdateUserPolicyAPI.swift index f6dcf8ab1..306c6b076 100644 --- a/Sources/Paths/UpdateUserPolicyAPI.swift +++ b/Sources/Paths/UpdateUserPolicyAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UploadCustomSplashscreenAPI.swift b/Sources/Paths/UploadCustomSplashscreenAPI.swift index ec16ba923..54c965602 100644 --- a/Sources/Paths/UploadCustomSplashscreenAPI.swift +++ b/Sources/Paths/UploadCustomSplashscreenAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/UploadSubtitleAPI.swift b/Sources/Paths/UploadSubtitleAPI.swift index ea16dcc30..21c62ee1c 100644 --- a/Sources/Paths/UploadSubtitleAPI.swift +++ b/Sources/Paths/UploadSubtitleAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/Paths/ValidatePathAPI.swift b/Sources/Paths/ValidatePathAPI.swift index c835e0e8f..e228098bb 100644 --- a/Sources/Paths/ValidatePathAPI.swift +++ b/Sources/Paths/ValidatePathAPI.swift @@ -3,7 +3,7 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // -// Copyright (c) 2022 Jellyfin & Jellyfin Contributors +// Copyright (c) 2023 Jellyfin & Jellyfin Contributors // import Foundation diff --git a/Sources/create-api-config.yaml b/Sources/create-api-config.yaml index 4cbf643d2..1d25ae6c4 100644 --- a/Sources/create-api-config.yaml +++ b/Sources/create-api-config.yaml @@ -9,12 +9,17 @@ fileHeaderComment: | // License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/. // - // Copyright (c) 2022 Jellyfin & Jellyfin Contributors + // Copyright (c) 2023 Jellyfin & Jellyfin Contributors // dataTypes: + integer: + int32: Int + int64: Int string: uuid: String + SpecialFeatureType: SpecialFeatureType entities: + protocols: ["Codable", "Hashable"] includeIdentifiableConformance: true sortPropertiesAlphabetically: true exclude: diff --git a/Sources/jellyfin-openapi-stable.json b/Sources/jellyfin-openapi-stable.json index 883f9f3d7..458ee5dec 100644 --- a/Sources/jellyfin-openapi-stable.json +++ b/Sources/jellyfin-openapi-stable.json @@ -2,8 +2,8 @@ "openapi": "3.0.1", "info": { "title": "Jellyfin API", - "version": "10.8.8", - "x-jellyfin-version": "10.8.8" + "version": "10.8.9", + "x-jellyfin-version": "10.8.9" }, "servers": [ { @@ -25361,7 +25361,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -25441,7 +25441,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -25678,7 +25678,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -25743,7 +25743,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -25787,7 +25787,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -25831,7 +25831,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -25935,7 +25935,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -25970,7 +25970,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -26014,7 +26014,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26101,7 +26101,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26136,7 +26136,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26546,7 +26546,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26623,7 +26623,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26687,7 +26687,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -26875,7 +26875,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27088,7 +27088,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27153,7 +27153,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27210,7 +27210,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -27265,7 +27265,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27321,7 +27321,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27378,7 +27378,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27552,7 +27552,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27618,7 +27618,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27678,7 +27678,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -27753,7 +27753,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27789,7 +27789,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -27860,7 +27860,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -27938,7 +27938,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -27995,7 +27995,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28050,7 +28050,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -28086,7 +28086,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28154,7 +28154,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28208,7 +28208,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -28284,7 +28284,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28319,7 +28319,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28372,7 +28372,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvAccess" ] } ] @@ -28410,7 +28410,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28474,7 +28474,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -28538,7 +28538,7 @@ "security": [ { "CustomAuthentication": [ - "DefaultAuthorization" + "LiveTvManagement" ] } ] @@ -45013,7 +45013,7 @@ "$ref": "#/components/schemas/BaseItemKind" } ], - "description": "The base item kind." + "description": "Gets or sets the type." }, "People": { "type": "array", @@ -47230,7 +47230,7 @@ "$ref": "#/components/schemas/ScrollDirection" } ], - "description": "An enum representing the axis that should be scrolled." + "description": "Gets or sets the scroll direction." }, "ShowBackdrop": { "type": "boolean", @@ -47246,7 +47246,7 @@ "$ref": "#/components/schemas/SortOrder" } ], - "description": "An enum representing the sorting order." + "description": "Gets or sets the sort order." }, "ShowSidebar": { "type": "boolean", @@ -53218,7 +53218,7 @@ "$ref": "#/components/schemas/BaseItemDto" } ], - "description": "Gets or sets the now playing item.", + "description": "This is strictly used as a data transfer object from the api layer.\r\nThis holds information about a BaseItem in a format that is convenient for the client.", "nullable": true }, "FullNowPlayingItem": { @@ -55170,7 +55170,7 @@ "$ref": "#/components/schemas/SyncPlayUserAccessType" } ], - "description": "Enum SyncPlayUserAccessType." + "description": "Gets or sets a value indicating what SyncPlay features the user can access." } }, "additionalProperties": false