alibi_sqlx/store/entities/
organization_role.rs1use 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}