sodalive-ios/SodaLive/Sources/Explorer/Profile/GetCreatorProfileResponse.s...

88 lines
2.0 KiB
Swift

//
// GetCreatorProfileResponse.swift
// SodaLive
//
// Created by klaus on 2023/08/11.
//
import Foundation
struct GetCreatorProfileResponse: Decodable {
let creator: CreatorResponse
let userDonationRanking: [UserDonationRankingResponse]
let similarCreatorList: [SimilarCreatorResponse]
let liveRoomList: [LiveRoomResponse]
let contentList: [GetAudioContentListItem]
let notice: String
let cheers: GetCheersResponse
let activitySummary: GetCreatorActivitySummary
let isBlock: Bool
}
struct CreatorResponse: Decodable {
let creatorId: Int
let profileUrl: String
let nickname: String
let tags: [String]
let introduce: String
let instagramUrl: String?
let youtubeUrl: String?
let websiteUrl: String?
let blogUrl: String?
let isNotification: Bool
let notificationRecipientCount: Int
}
struct UserDonationRankingResponse: Decodable {
let userId: Int
let nickname: String
let profileImage: String
let donationCan: Int?
}
struct SimilarCreatorResponse: Decodable {
let userId: Int
let nickname: String
let profileImage: String
let tags: [String]
}
struct LiveRoomResponse: Decodable {
let roomId: Int
let title: String
let content: String
let isPaid: Bool
let beginDateTime: String
let coverImageUrl: String
let isAdult: Bool
let price: Int
let channelName: String?
let managerNickname: String
let isReservation: Bool
let isActive: Bool
}
struct GetAudioContentListResponse: Decodable {
let totalCount: Int
let items: [GetAudioContentListItem]
}
struct GetAudioContentListItem: Decodable {
let contentId: Int
let coverImageUrl: String
let title: String
let price: Int
let themeStr: String
let duration: String?
let likeCount: Int
let commentCount: Int
let isAdult: Bool
}
struct GetCreatorActivitySummary: Decodable {
let liveCount: Int
let liveTime: Int
let liveContributorCount: Int
let contentCount: Int
}