export interface ResponseTaskReviews {
    status: number
    message: string
    data: TaskReviewsData
}

export interface TaskReviewsData {
    /** 評價列表，無資料時為 [] */
    review: TaskReviewData[]
    report: TaskReportComplaintList
    complaint: TaskReportComplaintList
}

export interface TaskReportComplaintList {
    data: TaskReportOrComplaintItem[]
    count: number
}

export interface TaskReportOrComplaintItem {
    id: string
    reporter_id: string
    target_id: string
    task_id: string
    type: 'report' | 'complaint'
    reason_category?: string
    description?: string
    evidence_images?: unknown
    status?: string
    admin_remark?: string
    created_at: string
    updated_at: string
    reporter?: unknown
    target?: unknown
}

export interface TaskReviewData {
    id: string
    task_id: string
    reviewer_member_id: string
    reviewed_member_id: string
    rating: string
    comment: string
    created_at: string
    updated_at: string
    reviewer_info: ReviewerInfo
    reviewed_info: ReviewedInfo
}

export interface ReviewerInfo {
    name: string
    avatar_image: string
}

export interface ReviewedInfo {
    name: string
    avatar_image: string
}

export class ResponseTaskReviewsConvert {
    static toMap(json: string): ResponseTaskReviews {
        return JSON.parse(json) as ResponseTaskReviews
    }

    static toJson(obj: ResponseTaskReviews): string {
        return JSON.stringify(obj)
    }
}
