36 lines
1.0 KiB
Swift
36 lines
1.0 KiB
Swift
import Foundation
|
|
|
|
struct CreatorChannelCommunityTabResponse: Decodable {
|
|
let communityPostCount: Int
|
|
let communityPosts: [CreatorChannelCommunityPostResponse]
|
|
let page: Int
|
|
let size: Int
|
|
let hasNext: Bool
|
|
|
|
struct CreatorChannelCommunityPostResponse: Decodable, Identifiable {
|
|
let postId: Int
|
|
let creatorId: Int
|
|
let creatorNickname: String
|
|
let creatorProfileUrl: String
|
|
let createdAtUtc: String
|
|
let content: String
|
|
let imageUrl: String?
|
|
let audioUrl: String?
|
|
let price: Int
|
|
let isCommentAvailable: Bool
|
|
let likeCount: Int
|
|
let commentCount: Int
|
|
let isPinned: Bool
|
|
let existOrdered: Bool
|
|
let isLiked: Bool?
|
|
|
|
var id: Int { postId }
|
|
|
|
func relativeTimeText(now: Date = Date()) -> String {
|
|
DateParser.relativeTimeText(fromUTC: createdAtUtc, fallback: createdAtUtc, now: now)
|
|
}
|
|
}
|
|
}
|
|
|
|
typealias CreatorChannelCommunityPostItem = CreatorChannelCommunityTabResponse.CreatorChannelCommunityPostResponse
|