cronback_lib/database/models/
api_keys.rs1use chrono::{DateTime, Utc};
4use sea_orm::entity::prelude::*;
5use serde::{Deserialize, Serialize};
6
7use crate::model::ValidShardedId;
8use crate::types::ProjectId;
9
10#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
11#[sea_orm(table_name = "api_keys")]
12pub struct Model {
13 #[sea_orm(primary_key, auto_increment = false)]
14 pub key_id: String,
15 pub hash: String,
16 pub hash_version: String,
17 pub project_id: ValidShardedId<ProjectId>,
18 pub name: String,
19 pub created_at: DateTime<Utc>,
20 pub metadata: Metadata,
21}
22
23#[derive(
24 Debug, Clone, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult,
25)]
26pub struct Metadata {
27 pub creator_user_id: Option<String>,
28}
29
30#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
31pub enum Relation {}
32
33impl ActiveModelBehavior for ActiveModel {}