Skip to main content

alibi_sqlx/store/entities/
organization_role.rs

1use chrono::{DateTime, Utc};
2
3#[derive(Clone, Debug, PartialEq, Eq, sqlx::FromRow, crate::SqlxModel)]
4#[auth(table = "organization_role")]
5pub struct Model {
6    pub id: String,
7    pub organization_id: String,
8    pub role: String,
9    pub permission: String,
10    pub created_at: DateTime<Utc>,
11    pub updated_at: Option<DateTime<Utc>>,
12}
13
14impl TryFrom<Model> for alibi_core::types::OrganizationRole {
15    type Error = alibi_core::AuthError;
16    fn try_from(model: Model) -> Result<Self, Self::Error> {
17        Ok(Self {
18            id: model.id,
19            organization_id: model.organization_id,
20            role: model.role,
21            permission: model.permission.into(),
22            created_at: model.created_at,
23            updated_at: model.updated_at,
24        })
25    }
26}