import Foundation

public struct CommentReportingResponse: Codable {
    enum CodingKeys: String, CodingKey {
        case id
        case commentID = "comment_id"
        case userID = "user_id"
        case reason
        case reportedAt = "reported_at"
    }

    public let id: String
    public let commentID: String
    public let userID: String
    public let reason: String
    public let reportedAt: Date?

    init(_ remote: Components.Schemas.CommentReportingResponse) {
        id = remote.id ?? ""
        commentID = remote.comment_id ?? ""
        userID = remote.user_id ?? ""
        reason = remote.reason ?? ""
        reportedAt = remote.reported_at
    }

    init(_ remote: GenAPI.ReportCommentResponse) {
        self.id = remote.id
        self.commentID = remote.commentId
        self.userID = remote.userId
        self.reason = remote.reason ?? ""
        self.reportedAt = remote.reportedAt
    }
}
