mirror of
https://github.com/LukeHagar/plexswift.git
synced 2025-12-06 12:47:44 +00:00
343 lines
19 KiB
Swift
343 lines
19 KiB
Swift
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
|
|
import Foundation
|
|
|
|
extension Operations {
|
|
/// A model object
|
|
public struct GetLibraryItemsMetadata {
|
|
public let duration: Int
|
|
public let guid: String
|
|
public let key: String
|
|
public let media: [Operations.GetLibraryItemsMedia]
|
|
public let ratingKey: String
|
|
public let title: String
|
|
public let type: String
|
|
public let year: Int
|
|
public let addedAt: Int?
|
|
public let art: String?
|
|
@DecimalSerialized
|
|
public private(set) var audienceRating: Double?
|
|
public let audienceRatingImage: String?
|
|
public let chapterSource: String?
|
|
public let childCount: Int?
|
|
public let contentRating: String?
|
|
public let country: [Operations.GetLibraryItemsCountry]?
|
|
public let director: [Operations.GetLibraryItemsDirector]?
|
|
public let genre: [Operations.GetLibraryItemsGenre]?
|
|
public let grandparentArt: String?
|
|
public let grandparentGuid: String?
|
|
public let grandparentKey: String?
|
|
public let grandparentRatingKey: String?
|
|
public let grandparentTheme: String?
|
|
public let grandparentThumb: String?
|
|
public let grandparentTitle: String?
|
|
public let hasPremiumExtras: String?
|
|
public let hasPremiumPrimaryExtra: String?
|
|
public let index: Int?
|
|
public let lastViewedAt: Int?
|
|
public let leafCount: Int?
|
|
/// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
|
///
|
|
public let mediaGuid: [Operations.MediaGuid]?
|
|
@DateOnly
|
|
public private(set) var originallyAvailableAt: Date?
|
|
public let originalTitle: String?
|
|
public let parentGuid: String?
|
|
public let parentIndex: Int?
|
|
public let parentKey: String?
|
|
public let parentRatingKey: String?
|
|
public let parentStudio: String?
|
|
public let parentTheme: String?
|
|
public let parentThumb: String?
|
|
public let parentTitle: String?
|
|
public let parentYear: Int?
|
|
public let primaryExtraKey: String?
|
|
@DecimalSerialized
|
|
public private(set) var rating: Double?
|
|
public let ratingImage: String?
|
|
public let role: [Operations.GetLibraryItemsRole]?
|
|
public let skipCount: Int?
|
|
public let studio: String?
|
|
public let summary: String?
|
|
public let tagline: String?
|
|
public let theme: String?
|
|
public let thumb: String?
|
|
public let titleSort: String?
|
|
public let updatedAt: Int?
|
|
public let viewCount: Int?
|
|
public let viewedLeafCount: Int?
|
|
public let viewOffset: Int?
|
|
public let writer: [Operations.GetLibraryItemsWriter]?
|
|
|
|
/// Creates an object with the specified parameters
|
|
///
|
|
/// - Parameter mediaGuid: The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
|
///
|
|
///
|
|
public init(duration: Int, guid: String, key: String, media: [Operations.GetLibraryItemsMedia], ratingKey: String, title: String, type: String, year: Int, addedAt: Int? = nil, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, chapterSource: String? = nil, childCount: Int? = nil, contentRating: String? = nil, country: [Operations.GetLibraryItemsCountry]? = nil, director: [Operations.GetLibraryItemsDirector]? = nil, genre: [Operations.GetLibraryItemsGenre]? = nil, grandparentArt: String? = nil, grandparentGuid: String? = nil, grandparentKey: String? = nil, grandparentRatingKey: String? = nil, grandparentTheme: String? = nil, grandparentThumb: String? = nil, grandparentTitle: String? = nil, hasPremiumExtras: String? = nil, hasPremiumPrimaryExtra: String? = nil, index: Int? = nil, lastViewedAt: Int? = nil, leafCount: Int? = nil, mediaGuid: [Operations.MediaGuid]? = nil, originallyAvailableAt: Date? = nil, originalTitle: String? = nil, parentGuid: String? = nil, parentIndex: Int? = nil, parentKey: String? = nil, parentRatingKey: String? = nil, parentStudio: String? = nil, parentTheme: String? = nil, parentThumb: String? = nil, parentTitle: String? = nil, parentYear: Int? = nil, primaryExtraKey: String? = nil, rating: Double? = nil, ratingImage: String? = nil, role: [Operations.GetLibraryItemsRole]? = nil, skipCount: Int? = nil, studio: String? = nil, summary: String? = nil, tagline: String? = nil, theme: String? = nil, thumb: String? = nil, titleSort: String? = nil, updatedAt: Int? = nil, viewCount: Int? = nil, viewedLeafCount: Int? = nil, viewOffset: Int? = nil, writer: [Operations.GetLibraryItemsWriter]? = nil) {
|
|
self.duration = duration
|
|
self.guid = guid
|
|
self.key = key
|
|
self.media = media
|
|
self.ratingKey = ratingKey
|
|
self.title = title
|
|
self.type = type
|
|
self.year = year
|
|
self.addedAt = addedAt
|
|
self.art = art
|
|
self._audienceRating = DecimalSerialized<Double?>(wrappedValue: audienceRating)
|
|
self.audienceRatingImage = audienceRatingImage
|
|
self.chapterSource = chapterSource
|
|
self.childCount = childCount
|
|
self.contentRating = contentRating
|
|
self.country = country
|
|
self.director = director
|
|
self.genre = genre
|
|
self.grandparentArt = grandparentArt
|
|
self.grandparentGuid = grandparentGuid
|
|
self.grandparentKey = grandparentKey
|
|
self.grandparentRatingKey = grandparentRatingKey
|
|
self.grandparentTheme = grandparentTheme
|
|
self.grandparentThumb = grandparentThumb
|
|
self.grandparentTitle = grandparentTitle
|
|
self.hasPremiumExtras = hasPremiumExtras
|
|
self.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra
|
|
self.index = index
|
|
self.lastViewedAt = lastViewedAt
|
|
self.leafCount = leafCount
|
|
self.mediaGuid = mediaGuid
|
|
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
|
|
self.originalTitle = originalTitle
|
|
self.parentGuid = parentGuid
|
|
self.parentIndex = parentIndex
|
|
self.parentKey = parentKey
|
|
self.parentRatingKey = parentRatingKey
|
|
self.parentStudio = parentStudio
|
|
self.parentTheme = parentTheme
|
|
self.parentThumb = parentThumb
|
|
self.parentTitle = parentTitle
|
|
self.parentYear = parentYear
|
|
self.primaryExtraKey = primaryExtraKey
|
|
self._rating = DecimalSerialized<Double?>(wrappedValue: rating)
|
|
self.ratingImage = ratingImage
|
|
self.role = role
|
|
self.skipCount = skipCount
|
|
self.studio = studio
|
|
self.summary = summary
|
|
self.tagline = tagline
|
|
self.theme = theme
|
|
self.thumb = thumb
|
|
self.titleSort = titleSort
|
|
self.updatedAt = updatedAt
|
|
self.viewCount = viewCount
|
|
self.viewedLeafCount = viewedLeafCount
|
|
self.viewOffset = viewOffset
|
|
self.writer = writer
|
|
}
|
|
}}
|
|
|
|
extension Operations.GetLibraryItemsMetadata: Codable {
|
|
enum CodingKeys: String, CodingKey {
|
|
case duration
|
|
case guid
|
|
case key
|
|
case media = "Media"
|
|
case ratingKey
|
|
case title
|
|
case type
|
|
case year
|
|
case addedAt
|
|
case art
|
|
case audienceRating
|
|
case audienceRatingImage
|
|
case chapterSource
|
|
case childCount
|
|
case contentRating
|
|
case country = "Country"
|
|
case director = "Director"
|
|
case genre = "Genre"
|
|
case grandparentArt
|
|
case grandparentGuid
|
|
case grandparentKey
|
|
case grandparentRatingKey
|
|
case grandparentTheme
|
|
case grandparentThumb
|
|
case grandparentTitle
|
|
case hasPremiumExtras
|
|
case hasPremiumPrimaryExtra
|
|
case index
|
|
case lastViewedAt
|
|
case leafCount
|
|
case mediaGuid = "Guid"
|
|
case originallyAvailableAt
|
|
case originalTitle
|
|
case parentGuid
|
|
case parentIndex
|
|
case parentKey
|
|
case parentRatingKey
|
|
case parentStudio
|
|
case parentTheme
|
|
case parentThumb
|
|
case parentTitle
|
|
case parentYear
|
|
case primaryExtraKey
|
|
case rating
|
|
case ratingImage
|
|
case role = "Role"
|
|
case skipCount
|
|
case studio
|
|
case summary
|
|
case tagline
|
|
case theme
|
|
case thumb
|
|
case titleSort
|
|
case updatedAt
|
|
case viewCount
|
|
case viewedLeafCount
|
|
case viewOffset
|
|
case writer = "Writer"
|
|
}
|
|
|
|
public init(from decoder: Decoder) throws {
|
|
let container = try decoder.container(keyedBy: CodingKeys.self)
|
|
self.duration = try container.decode(Int.self, forKey: .duration)
|
|
self.guid = try container.decode(String.self, forKey: .guid)
|
|
self.key = try container.decode(String.self, forKey: .key)
|
|
self.media = try container.decode([Operations.GetLibraryItemsMedia].self, forKey: .media)
|
|
self.ratingKey = try container.decode(String.self, forKey: .ratingKey)
|
|
self.title = try container.decode(String.self, forKey: .title)
|
|
self.type = try container.decode(String.self, forKey: .type)
|
|
self.year = try container.decode(Int.self, forKey: .year)
|
|
self.addedAt = try container.decodeIfPresent(Int.self, forKey: .addedAt)
|
|
self.art = try container.decodeIfPresent(String.self, forKey: .art)
|
|
self._audienceRating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audienceRating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
|
self.audienceRatingImage = try container.decodeIfPresent(String.self, forKey: .audienceRatingImage)
|
|
self.chapterSource = try container.decodeIfPresent(String.self, forKey: .chapterSource)
|
|
self.childCount = try container.decodeIfPresent(Int.self, forKey: .childCount)
|
|
self.contentRating = try container.decodeIfPresent(String.self, forKey: .contentRating)
|
|
self.country = try container.decodeIfPresent([Operations.GetLibraryItemsCountry].self, forKey: .country)
|
|
self.director = try container.decodeIfPresent([Operations.GetLibraryItemsDirector].self, forKey: .director)
|
|
self.genre = try container.decodeIfPresent([Operations.GetLibraryItemsGenre].self, forKey: .genre)
|
|
self.grandparentArt = try container.decodeIfPresent(String.self, forKey: .grandparentArt)
|
|
self.grandparentGuid = try container.decodeIfPresent(String.self, forKey: .grandparentGuid)
|
|
self.grandparentKey = try container.decodeIfPresent(String.self, forKey: .grandparentKey)
|
|
self.grandparentRatingKey = try container.decodeIfPresent(String.self, forKey: .grandparentRatingKey)
|
|
self.grandparentTheme = try container.decodeIfPresent(String.self, forKey: .grandparentTheme)
|
|
self.grandparentThumb = try container.decodeIfPresent(String.self, forKey: .grandparentThumb)
|
|
self.grandparentTitle = try container.decodeIfPresent(String.self, forKey: .grandparentTitle)
|
|
self.hasPremiumExtras = try container.decodeIfPresent(String.self, forKey: .hasPremiumExtras)
|
|
self.hasPremiumPrimaryExtra = try container.decodeIfPresent(String.self, forKey: .hasPremiumPrimaryExtra)
|
|
self.index = try container.decodeIfPresent(Int.self, forKey: .index)
|
|
self.lastViewedAt = try container.decodeIfPresent(Int.self, forKey: .lastViewedAt)
|
|
self.leafCount = try container.decodeIfPresent(Int.self, forKey: .leafCount)
|
|
self.mediaGuid = try container.decodeIfPresent([Operations.MediaGuid].self, forKey: .mediaGuid)
|
|
self._originallyAvailableAt = try container.decodeIfPresent(DateOnly<Date?>.self, forKey: .originallyAvailableAt) ?? DateOnly<Date?>(wrappedValue: nil)
|
|
self.originalTitle = try container.decodeIfPresent(String.self, forKey: .originalTitle)
|
|
self.parentGuid = try container.decodeIfPresent(String.self, forKey: .parentGuid)
|
|
self.parentIndex = try container.decodeIfPresent(Int.self, forKey: .parentIndex)
|
|
self.parentKey = try container.decodeIfPresent(String.self, forKey: .parentKey)
|
|
self.parentRatingKey = try container.decodeIfPresent(String.self, forKey: .parentRatingKey)
|
|
self.parentStudio = try container.decodeIfPresent(String.self, forKey: .parentStudio)
|
|
self.parentTheme = try container.decodeIfPresent(String.self, forKey: .parentTheme)
|
|
self.parentThumb = try container.decodeIfPresent(String.self, forKey: .parentThumb)
|
|
self.parentTitle = try container.decodeIfPresent(String.self, forKey: .parentTitle)
|
|
self.parentYear = try container.decodeIfPresent(Int.self, forKey: .parentYear)
|
|
self.primaryExtraKey = try container.decodeIfPresent(String.self, forKey: .primaryExtraKey)
|
|
self._rating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .rating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
|
self.ratingImage = try container.decodeIfPresent(String.self, forKey: .ratingImage)
|
|
self.role = try container.decodeIfPresent([Operations.GetLibraryItemsRole].self, forKey: .role)
|
|
self.skipCount = try container.decodeIfPresent(Int.self, forKey: .skipCount)
|
|
self.studio = try container.decodeIfPresent(String.self, forKey: .studio)
|
|
self.summary = try container.decodeIfPresent(String.self, forKey: .summary)
|
|
self.tagline = try container.decodeIfPresent(String.self, forKey: .tagline)
|
|
self.theme = try container.decodeIfPresent(String.self, forKey: .theme)
|
|
self.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
|
|
self.titleSort = try container.decodeIfPresent(String.self, forKey: .titleSort)
|
|
self.updatedAt = try container.decodeIfPresent(Int.self, forKey: .updatedAt)
|
|
self.viewCount = try container.decodeIfPresent(Int.self, forKey: .viewCount)
|
|
self.viewedLeafCount = try container.decodeIfPresent(Int.self, forKey: .viewedLeafCount)
|
|
self.viewOffset = try container.decodeIfPresent(Int.self, forKey: .viewOffset)
|
|
self.writer = try container.decodeIfPresent([Operations.GetLibraryItemsWriter].self, forKey: .writer)
|
|
}
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encode(self.duration, forKey: .duration)
|
|
try container.encode(self.guid, forKey: .guid)
|
|
try container.encode(self.key, forKey: .key)
|
|
try container.encode(self.media, forKey: .media)
|
|
try container.encode(self.ratingKey, forKey: .ratingKey)
|
|
try container.encode(self.title, forKey: .title)
|
|
try container.encode(self.type, forKey: .type)
|
|
try container.encode(self.year, forKey: .year)
|
|
try container.encodeIfPresent(self.addedAt, forKey: .addedAt)
|
|
try container.encodeIfPresent(self.art, forKey: .art)
|
|
if self.audienceRating != nil {
|
|
try container.encode(self._audienceRating, forKey: .audienceRating)
|
|
}
|
|
try container.encodeIfPresent(self.audienceRatingImage, forKey: .audienceRatingImage)
|
|
try container.encodeIfPresent(self.chapterSource, forKey: .chapterSource)
|
|
try container.encodeIfPresent(self.childCount, forKey: .childCount)
|
|
try container.encodeIfPresent(self.contentRating, forKey: .contentRating)
|
|
try container.encodeIfPresent(self.country, forKey: .country)
|
|
try container.encodeIfPresent(self.director, forKey: .director)
|
|
try container.encodeIfPresent(self.genre, forKey: .genre)
|
|
try container.encodeIfPresent(self.grandparentArt, forKey: .grandparentArt)
|
|
try container.encodeIfPresent(self.grandparentGuid, forKey: .grandparentGuid)
|
|
try container.encodeIfPresent(self.grandparentKey, forKey: .grandparentKey)
|
|
try container.encodeIfPresent(self.grandparentRatingKey, forKey: .grandparentRatingKey)
|
|
try container.encodeIfPresent(self.grandparentTheme, forKey: .grandparentTheme)
|
|
try container.encodeIfPresent(self.grandparentThumb, forKey: .grandparentThumb)
|
|
try container.encodeIfPresent(self.grandparentTitle, forKey: .grandparentTitle)
|
|
try container.encodeIfPresent(self.hasPremiumExtras, forKey: .hasPremiumExtras)
|
|
try container.encodeIfPresent(self.hasPremiumPrimaryExtra, forKey: .hasPremiumPrimaryExtra)
|
|
try container.encodeIfPresent(self.index, forKey: .index)
|
|
try container.encodeIfPresent(self.lastViewedAt, forKey: .lastViewedAt)
|
|
try container.encodeIfPresent(self.leafCount, forKey: .leafCount)
|
|
try container.encodeIfPresent(self.mediaGuid, forKey: .mediaGuid)
|
|
if self.originallyAvailableAt != nil {
|
|
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
|
|
}
|
|
try container.encodeIfPresent(self.originalTitle, forKey: .originalTitle)
|
|
try container.encodeIfPresent(self.parentGuid, forKey: .parentGuid)
|
|
try container.encodeIfPresent(self.parentIndex, forKey: .parentIndex)
|
|
try container.encodeIfPresent(self.parentKey, forKey: .parentKey)
|
|
try container.encodeIfPresent(self.parentRatingKey, forKey: .parentRatingKey)
|
|
try container.encodeIfPresent(self.parentStudio, forKey: .parentStudio)
|
|
try container.encodeIfPresent(self.parentTheme, forKey: .parentTheme)
|
|
try container.encodeIfPresent(self.parentThumb, forKey: .parentThumb)
|
|
try container.encodeIfPresent(self.parentTitle, forKey: .parentTitle)
|
|
try container.encodeIfPresent(self.parentYear, forKey: .parentYear)
|
|
try container.encodeIfPresent(self.primaryExtraKey, forKey: .primaryExtraKey)
|
|
if self.rating != nil {
|
|
try container.encode(self._rating, forKey: .rating)
|
|
}
|
|
try container.encodeIfPresent(self.ratingImage, forKey: .ratingImage)
|
|
try container.encodeIfPresent(self.role, forKey: .role)
|
|
try container.encodeIfPresent(self.skipCount, forKey: .skipCount)
|
|
try container.encodeIfPresent(self.studio, forKey: .studio)
|
|
try container.encodeIfPresent(self.summary, forKey: .summary)
|
|
try container.encodeIfPresent(self.tagline, forKey: .tagline)
|
|
try container.encodeIfPresent(self.theme, forKey: .theme)
|
|
try container.encodeIfPresent(self.thumb, forKey: .thumb)
|
|
try container.encodeIfPresent(self.titleSort, forKey: .titleSort)
|
|
try container.encodeIfPresent(self.updatedAt, forKey: .updatedAt)
|
|
try container.encodeIfPresent(self.viewCount, forKey: .viewCount)
|
|
try container.encodeIfPresent(self.viewedLeafCount, forKey: .viewedLeafCount)
|
|
try container.encodeIfPresent(self.viewOffset, forKey: .viewOffset)
|
|
try container.encodeIfPresent(self.writer, forKey: .writer)
|
|
}
|
|
}
|
|
|
|
extension Operations.GetLibraryItemsMetadata {
|
|
var ratingWrapper: DecimalSerialized<Double?> {
|
|
return _rating
|
|
}
|
|
var audienceRatingWrapper: DecimalSerialized<Double?> {
|
|
return _audienceRating
|
|
}
|
|
var originallyAvailableAtWrapper: DateOnly<Date?> {
|
|
return _originallyAvailableAt
|
|
}
|
|
}
|