47 lines
1.0 KiB
Swift
47 lines
1.0 KiB
Swift
//
|
|
// CharacterDetailResponse.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 9/1/25.
|
|
//
|
|
|
|
struct CharacterDetailResponse: Decodable {
|
|
let characterId: Int
|
|
let name: String
|
|
let description: String
|
|
let mbti: String?
|
|
let gender: String?
|
|
let age: Int?
|
|
let imageUrl: String
|
|
let personalities: CharacterPersonalityResponse?
|
|
let backgrounds: CharacterBackgroundResponse?
|
|
let tags: String
|
|
let originalTitle: String?
|
|
let originalLink: String?
|
|
let characterType: CharacterType
|
|
let others: [OtherCharacter]
|
|
let latestComment: CharacterCommentResponse?
|
|
let totalComments: Int
|
|
}
|
|
|
|
enum CharacterType: String, Decodable {
|
|
case Clone, Character
|
|
}
|
|
|
|
struct OtherCharacter: Decodable {
|
|
let characterId: Int
|
|
let name: String
|
|
let imageUrl: String
|
|
let tags: String
|
|
}
|
|
|
|
struct CharacterPersonalityResponse: Decodable {
|
|
let trait: String
|
|
let description: String
|
|
}
|
|
|
|
struct CharacterBackgroundResponse: Decodable {
|
|
let topic: String
|
|
let description: String
|
|
}
|