From ec8859b59cd3a42aee504a2f9577abbdc534eb86 Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 13 Oct 2024 19:14:21 +0200 Subject: [PATCH] forgot to cd into a directory before generating entities --- crates/backend/src/controller/node.rs | 26 ++------- crates/entity/src/crates/entity/src/lib.rs | 8 --- crates/entity/src/crates/entity/src/node.rs | 44 --------------- .../src/crates/entity/src/node_group.rs | 26 --------- .../entity/src/crates/entity/src/prelude.rs | 6 --- .../src/crates/entity/src/sensor_data.rs | 54 ------------------- crates/entity/src/crates/entity/src/user.rs | 19 ------- crates/entity/src/node.rs | 2 +- crates/entity/src/sensor_data.rs | 2 +- .../src/m20241008_095058_create_table_node.rs | 2 +- ...0241013_134422_create_table_sensor_data.rs | 2 +- 11 files changed, 9 insertions(+), 182 deletions(-) delete mode 100644 crates/entity/src/crates/entity/src/lib.rs delete mode 100644 crates/entity/src/crates/entity/src/node.rs delete mode 100644 crates/entity/src/crates/entity/src/node_group.rs delete mode 100644 crates/entity/src/crates/entity/src/prelude.rs delete mode 100644 crates/entity/src/crates/entity/src/sensor_data.rs delete mode 100644 crates/entity/src/crates/entity/src/user.rs diff --git a/crates/backend/src/controller/node.rs b/crates/backend/src/controller/node.rs index 975017c..f837d4f 100644 --- a/crates/backend/src/controller/node.rs +++ b/crates/backend/src/controller/node.rs @@ -21,8 +21,8 @@ pub struct CreateGroupWithoutId { } #[derive(Deserialize)] -pub struct CreateNode { - id: i32, +struct CreateNodeRequest { + id: u64, group: uuid::Uuid, } @@ -95,31 +95,15 @@ pub async fn create_group( pub async fn create_node( state: web::Data, - node: web::Json, + node_request: web::Json, ) -> actix_web::Result { let db = &state.db; - let node = node.into_inner(); - - println!("Checking group ID: {:?}", node.group); - - let group_exists = entity::node_group::Entity::find_by_id(node.group) - .one(db) - .await - .map_err(ErrorInternalServerError)? - .is_some(); - - if !group_exists { - return Err(ErrorInternalServerError("Group ID does not exist")); - } - - let mac_int = - mac_to_i32(&node.id).map_err(|_| ErrorInternalServerError("Invalid MAC address"))?; - node.id = mac_int; + let node = node_request.into_inner(); let node = entity::node::ActiveModel { id: ActiveValue::Set(node.id), - group: ActiveValue::Set(node.group), + group: ActiveValue::Set(node_request.group), }; let result = node.insert(db).await.map_err(ErrorInternalServerError)?; diff --git a/crates/entity/src/crates/entity/src/lib.rs b/crates/entity/src/crates/entity/src/lib.rs deleted file mode 100644 index cfbbcef..0000000 --- a/crates/entity/src/crates/entity/src/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -pub mod prelude; - -pub mod node; -pub mod node_group; -pub mod sensor_data; -pub mod user; diff --git a/crates/entity/src/crates/entity/src/node.rs b/crates/entity/src/crates/entity/src/node.rs deleted file mode 100644 index d121dec..0000000 --- a/crates/entity/src/crates/entity/src/node.rs +++ /dev/null @@ -1,44 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -use sea_orm::entity::prelude::*; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] -#[sea_orm(table_name = "node")] -pub struct Model { - #[sea_orm( - primary_key, - auto_increment = false, - column_type = "custom(\"macaddr\")" - )] - pub id: String, - pub group: Uuid, -} - -#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] -pub enum Relation { - #[sea_orm( - belongs_to = "super::node_group::Entity", - from = "Column::Group", - to = "super::node_group::Column::Id", - on_update = "Cascade", - on_delete = "Cascade" - )] - NodeGroup, - #[sea_orm(has_many = "super::sensor_data::Entity")] - SensorData, -} - -impl Related for Entity { - fn to() -> RelationDef { - Relation::NodeGroup.def() - } -} - -impl Related for Entity { - fn to() -> RelationDef { - Relation::SensorData.def() - } -} - -impl ActiveModelBehavior for ActiveModel {} diff --git a/crates/entity/src/crates/entity/src/node_group.rs b/crates/entity/src/crates/entity/src/node_group.rs deleted file mode 100644 index e20b6a5..0000000 --- a/crates/entity/src/crates/entity/src/node_group.rs +++ /dev/null @@ -1,26 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -use sea_orm::entity::prelude::*; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] -#[sea_orm(table_name = "node_group")] -pub struct Model { - #[sea_orm(primary_key, auto_increment = false)] - pub id: Uuid, - pub name: String, -} - -#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] -pub enum Relation { - #[sea_orm(has_many = "super::node::Entity")] - Node, -} - -impl Related for Entity { - fn to() -> RelationDef { - Relation::Node.def() - } -} - -impl ActiveModelBehavior for ActiveModel {} diff --git a/crates/entity/src/crates/entity/src/prelude.rs b/crates/entity/src/crates/entity/src/prelude.rs deleted file mode 100644 index ad04007..0000000 --- a/crates/entity/src/crates/entity/src/prelude.rs +++ /dev/null @@ -1,6 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -pub use super::node::Entity as Node; -pub use super::node_group::Entity as NodeGroup; -pub use super::sensor_data::Entity as SensorData; -pub use super::user::Entity as User; diff --git a/crates/entity/src/crates/entity/src/sensor_data.rs b/crates/entity/src/crates/entity/src/sensor_data.rs deleted file mode 100644 index 613d9fb..0000000 --- a/crates/entity/src/crates/entity/src/sensor_data.rs +++ /dev/null @@ -1,54 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -use sea_orm::entity::prelude::*; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Serialize, Deserialize)] -#[sea_orm(table_name = "sensor_data")] -pub struct Model { - #[sea_orm( - primary_key, - auto_increment = false, - column_type = "custom(\"macaddr\")" - )] - pub id: String, - #[sea_orm(primary_key, auto_increment = false)] - pub timestamp: DateTime, - #[sea_orm(column_type = "Double")] - pub coord_la: f64, - #[sea_orm(column_type = "Double")] - pub coord_lo: f64, - #[sea_orm(column_type = "Float")] - pub temperature: f32, - #[sea_orm(column_type = "Double")] - pub battery_minimum: f64, - #[sea_orm(column_type = "Double")] - pub battery_current: f64, - #[sea_orm(column_type = "Double")] - pub battery_maximum: f64, - #[sea_orm(column_type = "Double")] - pub voltage: f64, - pub uptime: i64, - #[sea_orm(column_type = "custom(\"macaddr\")", nullable)] - pub node_id: Option, -} - -#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] -pub enum Relation { - #[sea_orm( - belongs_to = "super::node::Entity", - from = "Column::NodeId", - to = "super::node::Column::Id", - on_update = "Cascade", - on_delete = "Cascade" - )] - Node, -} - -impl Related for Entity { - fn to() -> RelationDef { - Relation::Node.def() - } -} - -impl ActiveModelBehavior for ActiveModel {} diff --git a/crates/entity/src/crates/entity/src/user.rs b/crates/entity/src/crates/entity/src/user.rs deleted file mode 100644 index 0fa6320..0000000 --- a/crates/entity/src/crates/entity/src/user.rs +++ /dev/null @@ -1,19 +0,0 @@ -//! `SeaORM` Entity, @generated by sea-orm-codegen 1.0.1 - -use sea_orm::entity::prelude::*; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] -#[sea_orm(table_name = "user")] -pub struct Model { - #[sea_orm(primary_key, auto_increment = false)] - pub id: Uuid, - pub name: String, - pub email: String, - pub hash: String, -} - -#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] -pub enum Relation {} - -impl ActiveModelBehavior for ActiveModel {} diff --git a/crates/entity/src/node.rs b/crates/entity/src/node.rs index f6e9b35..e09591f 100644 --- a/crates/entity/src/node.rs +++ b/crates/entity/src/node.rs @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; #[sea_orm(table_name = "node")] pub struct Model { #[sea_orm(primary_key, auto_increment = false)] - pub id: i32, + pub id: i64, pub group: Uuid, } diff --git a/crates/entity/src/sensor_data.rs b/crates/entity/src/sensor_data.rs index dc49a6d..d6aacc1 100644 --- a/crates/entity/src/sensor_data.rs +++ b/crates/entity/src/sensor_data.rs @@ -25,7 +25,7 @@ pub struct Model { #[sea_orm(column_type = "Double")] pub voltage: f64, pub uptime: i64, - pub node_id: i32, + pub node_id: i64, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] diff --git a/crates/migration/src/m20241008_095058_create_table_node.rs b/crates/migration/src/m20241008_095058_create_table_node.rs index 8f4bc19..bfb75a4 100644 --- a/crates/migration/src/m20241008_095058_create_table_node.rs +++ b/crates/migration/src/m20241008_095058_create_table_node.rs @@ -26,7 +26,7 @@ impl MigrationTrait for Migration { Table::create() .table(Node::Table) .if_not_exists() - .col(integer(Node::Id).primary_key()) + .col(big_unsigned(Node::Id).primary_key()) .col(uuid(Node::Group)) .foreign_key( ForeignKey::create() diff --git a/crates/migration/src/m20241013_134422_create_table_sensor_data.rs b/crates/migration/src/m20241013_134422_create_table_sensor_data.rs index e93b57f..ba53196 100644 --- a/crates/migration/src/m20241013_134422_create_table_sensor_data.rs +++ b/crates/migration/src/m20241013_134422_create_table_sensor_data.rs @@ -27,7 +27,7 @@ impl MigrationTrait for Migration { .col(double(SensorData::BatteryMaximum).default(-127)) .col(double(SensorData::Voltage).default(-127)) .col(big_unsigned(SensorData::Uptime).default(0)) - .col(integer(SensorData::NodeId)) + .col(big_unsigned(SensorData::NodeId)) .foreign_key( ForeignKey::create() .name("fk-data-node_id")