52 lines
1.3 KiB
Swift
52 lines
1.3 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]
|
|
}
|
|
|
|
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 isAdult: Bool
|
|
let creatorId: Int
|
|
let creatorProfileImageUrl: String
|
|
let creatorNickname: String
|
|
}
|
|
|
|
struct GetAudioContentCurationResponse: Decodable {
|
|
let title: String
|
|
let description: String
|
|
let audioContents: [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
|
|
}
|