leetcode_api/entities/
detail.rs

1use sea_orm::entity::prelude::*;
2
3#[derive(Clone)]
4#[derive(Debug)]
5#[derive(Default)]
6#[derive(PartialEq, Eq)]
7#[derive(DeriveEntityModel)]
8#[sea_orm(table_name = "detail")]
9pub struct Model {
10    #[sea_orm(primary_key, auto_increment = false)]
11    pub id: u32,
12    pub content: String,
13}
14
15// #[derive(EnumIter, DeriveRelation)]
16#[derive(EnumIter)]
17#[derive(Clone, Copy)]
18#[derive(Debug)]
19#[derive(Default)]
20#[derive(PartialEq, Eq)]
21pub enum Relation {
22    #[default]
23    Problem,
24}
25
26impl RelationTrait for Relation {
27    fn def(&self) -> RelationDef {
28        match self {
29            Self::Problem => Entity::belongs_to(super::index::Entity)
30                .from(Column::Id)
31                .to(super::index::Column::QuestionId)
32                .on_update(ForeignKeyAction::Cascade)
33                .on_delete(ForeignKeyAction::Cascade)
34                .into(),
35        }
36    }
37}
38
39impl Related<super::index::Entity> for Entity {
40    fn to() -> RelationDef {
41        Relation::Problem.def()
42    }
43}
44
45impl ActiveModelBehavior for ActiveModel {}