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 } }