//
//  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 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
}