sodalive-ios/SodaLive/Sources/Content/Main/GetAudioContentMainResponse...

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
}