99 lines
2.5 KiB
Swift
99 lines
2.5 KiB
Swift
import Foundation
|
|
|
|
struct HomeRecommendationResponse: Decodable {
|
|
let lives: [HomeLiveItem]
|
|
let banners: [HomeBannerItem]
|
|
let recentlyActiveCreators: [HomeActiveCreatorItem]
|
|
let recentDebutCreators: [HomeCreatorItem]
|
|
let firstAudioContents: [HomeFirstAudioContentItem]
|
|
let aiCharacters: [HomeAiCharacterItem]
|
|
let genreCreators: [HomeGenreCreatorGroupItem]
|
|
let cheerCreators: [HomeCreatorItem]
|
|
let popularCommunityPosts: [HomePopularCommunityPostItem]
|
|
}
|
|
|
|
struct HomeLiveItem: Decodable, Hashable {
|
|
let liveRoomId: Int?
|
|
let roomId: Int?
|
|
let creatorId: Int?
|
|
let creatorNickname: String?
|
|
let title: String?
|
|
let profileImageUrl: String?
|
|
let thumbnailUrl: String?
|
|
let imageUrl: String?
|
|
let beginDateTime: String?
|
|
let participantCount: Int?
|
|
}
|
|
|
|
struct HomeBannerItem: Decodable, Hashable {
|
|
let bannerId: Int?
|
|
let type: String?
|
|
let title: String?
|
|
let imageUrl: String?
|
|
let link: String?
|
|
let eventId: Int?
|
|
let creatorId: Int?
|
|
let seriesId: Int?
|
|
}
|
|
|
|
struct HomeActiveCreatorItem: Decodable, Hashable {
|
|
let creatorId: Int?
|
|
let creatorNickname: String?
|
|
let profileImageUrl: String?
|
|
let activityType: RecommendedActivityType?
|
|
let activityAt: String?
|
|
}
|
|
|
|
struct HomeCreatorItem: Decodable, Hashable {
|
|
let creatorId: Int?
|
|
let creatorNickname: String?
|
|
let nickname: String?
|
|
let profileImageUrl: String?
|
|
let imageUrl: String?
|
|
let description: String?
|
|
let followerCount: Int?
|
|
let cheerCount: Int?
|
|
let debutDate: String?
|
|
}
|
|
|
|
struct HomeFirstAudioContentItem: Decodable, Hashable {
|
|
let contentId: Int?
|
|
let creatorId: Int?
|
|
let creatorNickname: String?
|
|
let title: String?
|
|
let imageUrl: String?
|
|
let coverImageUrl: String?
|
|
let releaseDate: String?
|
|
}
|
|
|
|
struct HomeAiCharacterItem: Decodable, Hashable {
|
|
let characterId: Int?
|
|
let name: String?
|
|
let description: String?
|
|
let profileImageUrl: String?
|
|
let imageUrl: String?
|
|
let chatCount: Int?
|
|
let originalTitle: String?
|
|
}
|
|
|
|
struct HomeGenreCreatorGroupItem: Decodable, Hashable {
|
|
let genreId: Int?
|
|
let genreName: String?
|
|
let title: String?
|
|
let creators: [HomeCreatorItem]?
|
|
}
|
|
|
|
struct HomePopularCommunityPostItem: Decodable, Hashable {
|
|
let postId: Int?
|
|
let creatorId: Int?
|
|
let creatorNickname: String?
|
|
let creatorProfileImageUrl: String?
|
|
let content: String?
|
|
let imageUrl: String?
|
|
let price: Int?
|
|
let existOrdered: Bool?
|
|
let likeCount: Int?
|
|
let commentCount: Int?
|
|
let createdAt: String?
|
|
}
|