From c1b1fcb9a544899d58ce9ba7a8f85faf49ab6d41 Mon Sep 17 00:00:00 2001 From: Sphereso Date: Fri, 5 Jul 2024 15:15:09 +0200 Subject: [PATCH] backend: generate entities --- crates/entity/src/lib.rs | 5 +++ crates/entity/src/prelude.rs | 3 ++ crates/entity/src/user.rs | 66 ++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 crates/entity/src/prelude.rs create mode 100644 crates/entity/src/user.rs diff --git a/crates/entity/src/lib.rs b/crates/entity/src/lib.rs index e69de29..412b614 100644 --- a/crates/entity/src/lib.rs +++ b/crates/entity/src/lib.rs @@ -0,0 +1,5 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +pub mod prelude; + +pub mod user; diff --git a/crates/entity/src/prelude.rs b/crates/entity/src/prelude.rs new file mode 100644 index 0000000..d60b621 --- /dev/null +++ b/crates/entity/src/prelude.rs @@ -0,0 +1,3 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +pub use super::user::Entity as User; diff --git a/crates/entity/src/user.rs b/crates/entity/src/user.rs new file mode 100644 index 0000000..5c896f4 --- /dev/null +++ b/crates/entity/src/user.rs @@ -0,0 +1,66 @@ +//! `SeaORM` Entity. Generated by sea-orm-codegen 0.12.15 + +use sea_orm::entity::prelude::*; + +#[derive(Copy, Clone, Default, Debug, DeriveEntity)] +pub struct Entity; + +impl EntityName for Entity { + fn table_name(&self) -> &str { + "user" + } +} + +#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel, Eq)] +pub struct Model { + pub id: Uuid, + pub name: String, + pub email: String, + pub hash: String, + pub salt: String, +} + +#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)] +pub enum Column { + Id, + Name, + Email, + Hash, + Salt, +} + +#[derive(Copy, Clone, Debug, EnumIter, DerivePrimaryKey)] +pub enum PrimaryKey { + Id, +} + +impl PrimaryKeyTrait for PrimaryKey { + type ValueType = Uuid; + fn auto_increment() -> bool { + false + } +} + +#[derive(Copy, Clone, Debug, EnumIter)] +pub enum Relation {} + +impl ColumnTrait for Column { + type EntityName = Entity; + fn def(&self) -> ColumnDef { + match self { + Self::Id => ColumnType::Uuid.def(), + Self::Name => ColumnType::String(None).def(), + Self::Email => ColumnType::String(None).def().unique(), + Self::Hash => ColumnType::String(None).def(), + Self::Salt => ColumnType::String(None).def(), + } + } +} + +impl RelationTrait for Relation { + fn def(&self) -> RelationDef { + panic!("No RelationDef") + } +} + +impl ActiveModelBehavior for ActiveModel {}