98 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.3 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 communityPostList: [GetCommunityPostListResponse]
 | 
						|
    let cheers: GetCheersResponse
 | 
						|
    let activitySummary: GetCreatorActivitySummary
 | 
						|
    let seriesList: [SeriesListItem]
 | 
						|
    let isBlock: Bool
 | 
						|
    let isCreatorRole: 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 isFollow: Bool
 | 
						|
    let isNotify: Bool
 | 
						|
    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 isPin: Bool
 | 
						|
    let isAdult: Bool
 | 
						|
    let isScheduledToOpen: Bool
 | 
						|
    let isRented: Bool
 | 
						|
    let isOwned: Bool
 | 
						|
    let isSoldOut: Bool
 | 
						|
}
 | 
						|
 | 
						|
struct GetCreatorActivitySummary: Decodable {
 | 
						|
    let liveCount: Int
 | 
						|
    let liveTime: Int
 | 
						|
    let liveContributorCount: Int
 | 
						|
    let contentCount: Int
 | 
						|
}
 |