Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation Field in request query and some optional fix #58

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
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