53 lines
1.2 KiB
Swift
53 lines
1.2 KiB
Swift
//
|
|
// GetAudioContentDetailResponse.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2023/08/11.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct GetAudioContentDetailResponse: Decodable {
|
|
let contentId: Int
|
|
let title: String
|
|
let detail: String
|
|
let coverImageUrl: String
|
|
let contentUrl: String
|
|
let themeStr: String
|
|
let tag: String
|
|
let price: Int
|
|
let duration: String
|
|
let releaseDate: String?
|
|
let isAdult: Bool
|
|
let isMosaic: Bool
|
|
let isOnlyRental: Bool
|
|
let existOrdered: Bool
|
|
let orderType: OrderType?
|
|
let remainingTime: String?
|
|
let creatorOtherContentList: [OtherContentResponse]
|
|
let sameThemeOtherContentList: [OtherContentResponse]
|
|
let isCommentAvailable: Bool
|
|
let isLike: Bool
|
|
let likeCount: Int
|
|
let commentList: [GetAudioContentCommentListItem]
|
|
let commentCount: Int
|
|
let creator: AudioContentCreator
|
|
}
|
|
|
|
enum OrderType: String, Codable {
|
|
case RENTAL, KEEP
|
|
}
|
|
|
|
struct OtherContentResponse: Decodable {
|
|
let contentId: Int
|
|
let title: String
|
|
let coverUrl: String
|
|
}
|
|
|
|
struct AudioContentCreator: Decodable {
|
|
let creatorId: Int
|
|
let nickname: String
|
|
let profileImageUrl: String
|
|
let isFollowing: Bool
|
|
}
|