Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Common/Models/People/TraktCastMember.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public struct TVCastMember: Codable, Hashable {
public let characters: [String]
@available(*, deprecated, renamed: "characters")
public let character: String
public let episodeCount: Int
public let episodeCount: Int?
public let person: Person

enum CodingKeys: String, CodingKey {
Expand Down
20 changes: 10 additions & 10 deletions Common/Models/People/TraktCrewMember.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import Foundation

/// Cast member for (show/season/episode)/people API
public struct TVCrewMember: Codable, Hashable {
public let jobs: [String]
public let jobs: [String]?
@available(*, deprecated, renamed: "jobs")
public let job: String
public let episodeCount: Int
public let job: String?
public let episodeCount: Int?
public let person: Person

enum CodingKeys: String, CodingKey {
Expand All @@ -26,9 +26,9 @@ public struct TVCrewMember: Codable, Hashable {

/// Cast member for /movies/.../people API
public struct MovieCrewMember: Codable, Hashable {
public let jobs: [String]
public let jobs: [String]?
@available(*, deprecated, renamed: "jobs")
public let job: String
public let job: String?
public let person: Person

enum CodingKeys: String, CodingKey {
Expand All @@ -40,10 +40,10 @@ public struct MovieCrewMember: Codable, Hashable {

/// Cast member for /people/.../shows API
public struct PeopleTVCrewMember: Codable, Hashable {
public let jobs: [String]
public let jobs: [String]?
@available(*, deprecated, renamed: "jobs")
public let job: String
public let episodeCount: Int
public let job: String?
public let episodeCount: Int?
public let show: TraktShow

enum CodingKeys: String, CodingKey {
Expand All @@ -57,9 +57,9 @@ public struct PeopleTVCrewMember: Codable, Hashable {

/// Cast member for /people/.../movies API
public struct PeopleMovieCrewMember: Codable, Hashable {
public let jobs: [String]
public let jobs: [String]?
@available(*, deprecated, renamed: "jobs")
public let job: String
public let job: String?
public let movie: TraktMovie

enum CodingKeys: String, CodingKey {
Expand Down
4 changes: 4 additions & 0 deletions Common/Models/Shows/TraktEpisode.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public struct TraktEpisode: Codable, Hashable {
public let firstAired: Date?
public let updatedAt: Date?
public let availableTranslations: [String]?
public let translations: [TraktShowTranslation]?
public let runtime: Int?

enum CodingKeys: String, CodingKey {
case season
Expand All @@ -36,5 +38,7 @@ public struct TraktEpisode: Codable, Hashable {
case firstAired = "first_aired"
case updatedAt = "updated_at"
case availableTranslations = "available_translations"
case translations
case runtime
}
}
4 changes: 2 additions & 2 deletions Common/Models/Shows/TraktShowTranslation.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ import Foundation

public struct TraktShowTranslation: Codable, Hashable {
public let title: String?
public let overview: String
public let language: String
public let overview: String?
public let language: String?
}
8 changes: 6 additions & 2 deletions Common/Wrapper/Seasons.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,13 @@ extension TraktManager {

*/
@discardableResult
public func getSeasons<T: CustomStringConvertible>(showID id: T, extended: [ExtendedType] = [.Min], completion: @escaping SeasonsCompletionHandler) -> URLSessionDataTaskProtocol? {
public func getSeasons<T: CustomStringConvertible>(showID id: T, extended: [ExtendedType] = [.Min], translatedInto language: String? = nil, completion: @escaping SeasonsCompletionHandler) -> URLSessionDataTaskProtocol? {

var query = ["extended": extended.queryString()]
query["translations"] = language

guard var request = mutableRequest(forPath: "shows/\(id)/seasons",
withQuery: ["extended": extended.queryString()],
withQuery: query,
isAuthorized: false,
withHTTPMethod: .GET) else { return nil }
request.cachePolicy = .reloadIgnoringCacheData
Expand Down