// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct CommentSchema: Codable, Equatable, Identifiable {
    public var clipId: String?
    public var content: String
    public var createdAt: Date
    /// CommentEntityType
    public var entityType: CommentEntityType?
    public var hookId: String?
    public var id: String
    public var numLikes: Int
    public var numReplies: Int?
    public var parentId: String?
    public var reactionType: String?
    public var replies: [ReplySchema]?
    public var replyContinuationToken: String?
    public var trackTimestamp: Double?
    public var userAvatarUrl: String
    public var userCommentsBlocked: Bool?
    public var userDisplayName: String
    public var userHandle: String
    public var userId: String
    public var userMentions: [Mention]?

    public init(clipId: String? = nil, content: String, createdAt: Date, entityType: CommentEntityType? = nil, hookId: String? = nil, id: String, numLikes: Int, numReplies: Int? = nil, parentId: String? = nil, reactionType: String? = nil, replies: [ReplySchema]? = nil, replyContinuationToken: String? = nil, trackTimestamp: Double? = nil, userAvatarUrl: String, userCommentsBlocked: Bool? = nil, userDisplayName: String, userHandle: String, userId: String, userMentions: [Mention]? = nil) {
        self.clipId = clipId
        self.content = content
        self.createdAt = createdAt
        self.entityType = entityType
        self.hookId = hookId
        self.id = id
        self.numLikes = numLikes
        self.numReplies = numReplies
        self.parentId = parentId
        self.reactionType = reactionType
        self.replies = replies
        self.replyContinuationToken = replyContinuationToken
        self.trackTimestamp = trackTimestamp
        self.userAvatarUrl = userAvatarUrl
        self.userCommentsBlocked = userCommentsBlocked
        self.userDisplayName = userDisplayName
        self.userHandle = userHandle
        self.userId = userId
        self.userMentions = userMentions
    }
}
