25 lines
778 B
Swift
25 lines
778 B
Swift
import Foundation
|
|
|
|
struct UpdateContentPreferenceResponse: Decodable {
|
|
let isAdultContentVisible: Bool
|
|
let contentType: ContentType
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case isAdultContentVisible
|
|
case contentType
|
|
}
|
|
|
|
init(from decoder: Decoder) throws {
|
|
let container = try decoder.container(keyedBy: CodingKeys.self)
|
|
|
|
isAdultContentVisible = try container.decodeIfPresent(Bool.self, forKey: .isAdultContentVisible) ?? true
|
|
|
|
let rawContentType =
|
|
try container
|
|
.decodeIfPresent(String.self, forKey: .contentType)?
|
|
.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
.uppercased()
|
|
contentType = ContentType(rawValue: rawContentType ?? "") ?? .ALL
|
|
}
|
|
}
|