73 lines
1.8 KiB
Swift
73 lines
1.8 KiB
Swift
//
|
|
// GetAudioContentMainResponse.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2023/08/11.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct GetAudioContentMainResponse: Decodable {
|
|
let newContentUploadCreatorList: [GetNewContentUploadCreator]
|
|
let bannerList: [GetAudioContentBannerResponse]
|
|
let orderList: [GetAudioContentMainItem]
|
|
let themeList: [String]
|
|
let newContentList: [GetAudioContentMainItem]
|
|
let curationList: [GetAudioContentCurationResponse]
|
|
let contentRankingSortTypeList: [String]
|
|
let contentRanking: GetAudioContentRanking
|
|
}
|
|
|
|
struct GetAudioContentRanking: Decodable {
|
|
let startDate: String
|
|
let endDate: String
|
|
let items: [GetAudioContentRankingItem]
|
|
}
|
|
|
|
struct GetAudioContentRankingItem: Decodable {
|
|
let contentId: Int
|
|
let title: String
|
|
let coverImageUrl: String
|
|
let themeStr: String
|
|
let price: Int
|
|
let duration: String
|
|
let creatorId: Int
|
|
let creatorNickname: String
|
|
}
|
|
|
|
struct GetNewContentUploadCreator: Decodable {
|
|
let creatorId: Int
|
|
let creatorNickname: String
|
|
let creatorProfileImageUrl: String
|
|
}
|
|
|
|
struct GetAudioContentMainItem: Decodable {
|
|
let contentId: Int
|
|
let coverImageUrl: String
|
|
let title: String
|
|
let creatorId: Int
|
|
let creatorProfileImageUrl: String
|
|
let creatorNickname: String
|
|
let price: Int
|
|
let duration: String
|
|
}
|
|
|
|
struct GetAudioContentCurationResponse: Decodable {
|
|
let curationId: Int
|
|
let title: String
|
|
let description: String
|
|
let contents: [GetAudioContentMainItem]
|
|
}
|
|
|
|
struct GetAudioContentBannerResponse: Decodable {
|
|
let type: AudioContentBannerType
|
|
let thumbnailImageUrl: String
|
|
let eventItem: EventItem?
|
|
let creatorId: Int?
|
|
let link: String?
|
|
}
|
|
|
|
enum AudioContentBannerType: String, Decodable {
|
|
case EVENT, CREATOR, LINK
|
|
}
|