From 413708f2baa3987b4b8c7c727eeee8cfd8d59f73 Mon Sep 17 00:00:00 2001 From: Tolmachev Igor Date: Sat, 27 Sep 2025 13:48:50 +0300 Subject: Fix invite tokens models --- entity/src/access_to_queue.rs | 15 +++++++++++++++ entity/src/invite_tokens.rs | 10 ++++++++++ entity/src/queues.rs | 5 +---- entity/src/users.rs | 5 +---- 4 files changed, 27 insertions(+), 8 deletions(-) (limited to 'entity') diff --git a/entity/src/access_to_queue.rs b/entity/src/access_to_queue.rs index 9de03d5..5244ed0 100644 --- a/entity/src/access_to_queue.rs +++ b/entity/src/access_to_queue.rs @@ -9,10 +9,19 @@ pub struct Model { pub user_id: i64, #[sea_orm(primary_key, auto_increment = false)] pub queue_id: i64, + pub invite_token_id: i64, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { + #[sea_orm( + belongs_to = "super::invite_tokens::Entity", + from = "Column::InviteTokenId", + to = "super::invite_tokens::Column::Id", + on_update = "Cascade", + on_delete = "Cascade" + )] + InviteTokens, #[sea_orm( belongs_to = "super::queues::Entity", from = "Column::QueueId", @@ -31,6 +40,12 @@ pub enum Relation { Users, } +impl Related for Entity { + fn to() -> RelationDef { + Relation::InviteTokens.def() + } +} + impl Related for Entity { fn to() -> RelationDef { Relation::Queues.def() diff --git a/entity/src/invite_tokens.rs b/entity/src/invite_tokens.rs index f239567..c0b59f7 100644 --- a/entity/src/invite_tokens.rs +++ b/entity/src/invite_tokens.rs @@ -9,10 +9,14 @@ pub struct Model { pub id: i64, pub token: Uuid, pub queue_id: i64, + pub name: String, + pub is_revoked: bool, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { + #[sea_orm(has_many = "super::access_to_queue::Entity")] + AccessToQueue, #[sea_orm( belongs_to = "super::queues::Entity", from = "Column::QueueId", @@ -23,6 +27,12 @@ pub enum Relation { Queues, } +impl Related for Entity { + fn to() -> RelationDef { + Relation::AccessToQueue.def() + } +} + impl Related for Entity { fn to() -> RelationDef { Relation::Queues.def() diff --git a/entity/src/queues.rs b/entity/src/queues.rs index c6116df..af2714c 100644 --- a/entity/src/queues.rs +++ b/entity/src/queues.rs @@ -49,10 +49,7 @@ impl Related for Entity { impl Related for Entity { fn to() -> RelationDef { - super::access_to_queue::Relation::Users.def() - } - fn via() -> Option { - Some(super::access_to_queue::Relation::Queues.def().rev()) + Relation::Users.def() } } diff --git a/entity/src/users.rs b/entity/src/users.rs index 6628c9e..4455f4a 100644 --- a/entity/src/users.rs +++ b/entity/src/users.rs @@ -39,10 +39,7 @@ impl Related for Entity { impl Related for Entity { fn to() -> RelationDef { - super::access_to_queue::Relation::Queues.def() - } - fn via() -> Option { - Some(super::access_to_queue::Relation::Users.def().rev()) + Relation::Queues.def() } } -- cgit v1.2.3