use sea_orm::entity::prelude::*;
#[sea_orm::model]
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "workspace_groups")]
pub struct Model {
#[sea_orm(primary_key, auto_increment = true)]
pub id: i32,
#[sea_orm(index)]
pub workspace_id: i32,
#[sea_orm(index)]
pub group_id: i32,
#[sea_orm(nullable)]
pub created_at: Option<DateTime>,
}
impl ActiveModelBehavior for ActiveModel {}
impl Entity {
pub fn find_by_workspace(workspace_id: i32) -> Select<Self> {
Self::find().filter(Column::WorkspaceId.eq(workspace_id))
}
pub fn find_by_group(group_id: i32) -> Select<Self> {
Self::find().filter(Column::GroupId.eq(group_id))
}
pub fn find_membership(workspace_id: i32, group_id: i32) -> Select<Self> {
Self::find()
.filter(Column::WorkspaceId.eq(workspace_id))
.filter(Column::GroupId.eq(group_id))
}
}