sea_orm/rbac/entity/
user_override.rs1use crate as sea_orm;
2use sea_orm::entity::prelude::*;
3
4use super::{permission::PermissionId, resource::ResourceId, user::UserId};
5
6#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
7#[sea_orm(table_name = "sea_orm_user_override")]
8pub struct Model {
9 #[sea_orm(primary_key)]
10 pub user_id: UserId,
11 #[sea_orm(primary_key)]
12 pub permission_id: PermissionId,
13 #[sea_orm(primary_key)]
14 pub resource_id: ResourceId,
15 pub grant: bool,
17}
18
19#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
20pub enum Relation {
21 #[sea_orm(
22 belongs_to = "super::permission::Entity",
23 from = "Column::PermissionId",
24 to = "super::permission::Column::Id"
25 )]
26 Permission,
27 #[sea_orm(
28 belongs_to = "super::resource::Entity",
29 from = "Column::ResourceId",
30 to = "super::resource::Column::Id"
31 )]
32 Resource,
33}
34
35impl Related<super::permission::Entity> for Entity {
36 fn to() -> RelationDef {
37 Relation::Permission.def()
38 }
39}
40
41impl Related<super::resource::Entity> for Entity {
42 fn to() -> RelationDef {
43 Relation::Resource.def()
44 }
45}
46
47impl ActiveModelBehavior for ActiveModel {}