70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 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 totalContentCount: Int?
 | 
						|
    let remainingContentCount: Int?
 | 
						|
    let orderSequence: Int?
 | 
						|
    let isActivePreview: Bool
 | 
						|
    let isAdult: Bool
 | 
						|
    let isMosaic: Bool
 | 
						|
    let existOrdered: Bool
 | 
						|
    let purchaseOption: PurchaseOption
 | 
						|
    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 isPin: Bool
 | 
						|
    let isAvailablePin: Bool
 | 
						|
    let creator: AudioContentCreator
 | 
						|
    let previousContent: OtherContentResponse?
 | 
						|
    let nextContent: OtherContentResponse?
 | 
						|
    let buyerList: [ContentBuyer]
 | 
						|
    let isAvailableUsePoint: Bool
 | 
						|
}
 | 
						|
 | 
						|
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
 | 
						|
    let isFollow: Bool
 | 
						|
    let isNotify: Bool
 | 
						|
}
 | 
						|
 | 
						|
struct ContentBuyer: Decodable {
 | 
						|
    let nickname: String
 | 
						|
    let profileImageUrl: String
 | 
						|
}
 |