alibi_sqlx/store/entities/
organization.rs1pub use crate::json_metadata::JsonMetadata;
2use chrono::{DateTime, Utc};
3
4#[derive(Clone, Debug, PartialEq, sqlx::FromRow, crate::SqlxModel)]
5#[auth(table = "organization")]
6pub struct Model {
7 pub id: String,
8 pub name: String,
9 pub slug: String,
10 pub logo: Option<String>,
11 pub metadata: Option<JsonMetadata>,
12 pub created_at: DateTime<Utc>,
13 pub updated_at: DateTime<Utc>,
14}
15
16impl From<&Model> for alibi_core::Organization {
17 fn from(model: &Model) -> Self {
18 Self {
19 additional_fields: Default::default(),
20 id: model.id.clone(),
21 name: model.name.clone(),
22 slug: model.slug.clone(),
23 logo: model.logo.clone(),
24 metadata: model.metadata.as_ref().map(|metadata| (**metadata).clone()),
25 created_at: model.created_at,
26 updated_at: model.updated_at,
27 }
28 }
29}