use sea_orm::entity::prelude::*;
use time::OffsetDateTime;
use toolkit_db_macros::Scopable;
use uuid::Uuid;
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Scopable)]
#[sea_orm(table_name = "edge")]
#[secure(tenant_col = "tenant_id", resource_col = "id", no_owner, no_type)]
pub struct Model {
#[sea_orm(primary_key, auto_increment = false)]
pub tenant_id: Uuid,
#[sea_orm(primary_key, auto_increment = false)]
pub id: i64,
pub edge_key: String,
pub gts_edge_type_id: i32,
pub src_node_id: i64,
pub dst_node_id: i64,
pub discriminator: Option<String>,
pub payload: Json,
pub created_at: OffsetDateTime,
pub updated_at: OffsetDateTime,
pub deleted_at: Option<OffsetDateTime>,
pub scope_attribute: Option<String>,
pub scope_value: Option<String>,
pub created_by_subject_id: Uuid,
pub created_by_subject_type: Option<String>,
pub updated_by_subject_id: Uuid,
pub updated_by_subject_type: Option<String>,
pub deleted_by_subject_id: Option<Uuid>,
pub deleted_by_subject_type: Option<String>,
}
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}
impl ActiveModelBehavior for ActiveModel {}