// SPDX-FileCopyrightText: 2026 Ololduck <ololduck@vit.am> and contributors
//
// SPDX-License-Identifier: GPL-3.0-or-later

//! `SeaORM` Entity for reports.

use sea_orm::entity::prelude::*;
use serde::Serialize;

#[sea_orm::model]
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel, Serialize)]
#[sea_orm(table_name = "reports")]
pub struct Model {
    #[sea_orm(primary_key)]
    pub id: i64,
    #[sea_orm(unique)]
    pub uuid: String,
    pub created_at: DateTimeWithTimeZone,
    pub reporter_local_user_id: Option<i64>,
    pub reporter_remote_actor_url: Option<String>,
    pub target_local_user_id: Option<i64>,
    pub target_remote_actor_id: Option<i64>,
    pub object_urls: String,
    pub comment: Option<String>,
    pub state: String,
    pub forwarded: i32,
    pub inbound: i32,
    pub activity_url: Option<String>,
}

impl ActiveModelBehavior for ActiveModel {}
