diff --git a/core/src/database/mutation/admin_session.rs b/core/src/database/mutation/admin_session.rs index e182381..d9fd29c 100644 --- a/core/src/database/mutation/admin_session.rs +++ b/core/src/database/mutation/admin_session.rs @@ -13,7 +13,7 @@ impl Mutation { ) -> Result { admin_session::ActiveModel { id: Set(random_uuid), - admin_id: Set(Some(admin_id)), + admin_id: Set(admin_id), ip_address: Set(ip_addr), created_at: Set(Utc::now().naive_local()), expires_at: Set(Utc::now() diff --git a/core/src/database/mutation/session.rs b/core/src/database/mutation/session.rs index e4d11aa..6f2ba4a 100644 --- a/core/src/database/mutation/session.rs +++ b/core/src/database/mutation/session.rs @@ -14,7 +14,7 @@ impl Mutation { ) -> Result { session::ActiveModel { id: Set(random_uuid), - candidate_id: Set(Some(candidate_id)), + candidate_id: Set(candidate_id), ip_address: Set(ip_addr), created_at: Set(Utc::now().naive_local()), expires_at: Set(Utc::now() diff --git a/core/src/database/query/session.rs b/core/src/database/query/session.rs index f7db5cd..43982c4 100644 --- a/core/src/database/query/session.rs +++ b/core/src/database/query/session.rs @@ -75,7 +75,7 @@ mod tests { session::ActiveModel { id: Set(Uuid::new_v4()), - candidate_id: Set(Some(application.id)), + candidate_id: Set(application.id), ip_address: Set("10.10.10.10".to_string()), created_at: Set(chrono::offset::Local::now().naive_local()), expires_at: Set(chrono::offset::Local::now().naive_local()), @@ -104,7 +104,7 @@ mod tests { admin_session::ActiveModel { id: Set(Uuid::new_v4()), - admin_id: Set(Some(ADMIN_ID)), + admin_id: Set(ADMIN_ID), ip_address: Set("10.10.10.10".to_string()), created_at: Set(chrono::offset::Local::now().naive_local()), expires_at: Set(chrono::offset::Local::now().naive_local()), diff --git a/core/src/services/admin_service.rs b/core/src/services/admin_service.rs index 059848c..0eceed2 100644 --- a/core/src/services/admin_service.rs +++ b/core/src/services/admin_service.rs @@ -56,7 +56,7 @@ impl AuthenticableTrait for AdminService { return Err(ServiceError::ExpiredSession); } - let admin = Query::find_admin_by_id(db, session.admin_id.unwrap()) + let admin = Query::find_admin_by_id(db, session.admin_id) .await? .ok_or(ServiceError::CandidateNotFound)?; diff --git a/core/src/services/application_service.rs b/core/src/services/application_service.rs index c271c8f..f31e92a 100644 --- a/core/src/services/application_service.rs +++ b/core/src/services/application_service.rs @@ -373,7 +373,7 @@ impl AuthenticableTrait for ApplicationService { Self::extend_session_duration_to_14_days(db, session.clone()).await?; - let application = Query::find_application_by_id(db, session.candidate_id.unwrap()) + let application = Query::find_application_by_id(db, session.candidate_id) .await? .ok_or(ServiceError::CandidateNotFound)?; diff --git a/entity/src/admin_session.rs b/entity/src/admin_session.rs index 1815b5d..b86b082 100644 --- a/entity/src/admin_session.rs +++ b/entity/src/admin_session.rs @@ -9,7 +9,7 @@ use crate::session_trait::UserSession; pub struct Model { #[sea_orm(primary_key, auto_increment = false)] pub id: Uuid, - pub admin_id: Option, + pub admin_id: i32, pub ip_address: String, pub created_at: DateTime, pub expires_at: DateTime, diff --git a/entity/src/candidate.rs b/entity/src/candidate.rs index f90171c..9f88ce3 100644 --- a/entity/src/candidate.rs +++ b/entity/src/candidate.rs @@ -27,16 +27,10 @@ pub struct Model { #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { - #[sea_orm(has_many = "super::parent::Entity")] - Parent, #[sea_orm(has_many = "super::application::Entity")] Application, -} - -impl Related for Entity { - fn to() -> RelationDef { - Relation::Parent.def() - } + #[sea_orm(has_many = "super::parent::Entity")] + Parent, } impl Related for Entity { @@ -45,4 +39,10 @@ impl Related for Entity { } } +impl Related for Entity { + fn to() -> RelationDef { + Relation::Parent.def() + } +} + impl ActiveModelBehavior for ActiveModel {} diff --git a/entity/src/session.rs b/entity/src/session.rs index 97ddaa8..d704cfa 100644 --- a/entity/src/session.rs +++ b/entity/src/session.rs @@ -9,7 +9,7 @@ use crate::session_trait::UserSession; pub struct Model { #[sea_orm(primary_key, auto_increment = false)] pub id: Uuid, - pub candidate_id: Option, + pub candidate_id: i32, pub ip_address: String, pub created_at: DateTime, pub expires_at: DateTime, diff --git a/migration/src/m20221025_154422_create_session.rs b/migration/src/m20221025_154422_create_session.rs index 94cd12a..009e2df 100644 --- a/migration/src/m20221025_154422_create_session.rs +++ b/migration/src/m20221025_154422_create_session.rs @@ -18,7 +18,7 @@ impl MigrationTrait for Migration { .unique_key() .primary_key(), ) - .col(ColumnDef::new(Session::CandidateId).integer()) + .col(ColumnDef::new(Session::CandidateId).integer().not_null()) .col(ColumnDef::new(Session::IpAddress).string().not_null()) .col(ColumnDef::new(Session::CreatedAt).date_time().not_null()) .col(ColumnDef::new(Session::ExpiresAt).date_time().not_null()) diff --git a/migration/src/m20221221_162232_create_admin_session.rs b/migration/src/m20221221_162232_create_admin_session.rs index 73d343d..d6a0ba7 100644 --- a/migration/src/m20221221_162232_create_admin_session.rs +++ b/migration/src/m20221221_162232_create_admin_session.rs @@ -18,7 +18,7 @@ impl MigrationTrait for Migration { .not_null() .primary_key(), ) - .col(ColumnDef::new(AdminSession::AdminId).integer()) + .col(ColumnDef::new(AdminSession::AdminId).integer().not_null()) .col(ColumnDef::new(AdminSession::IpAddress).string().not_null()) .col(ColumnDef::new(AdminSession::CreatedAt).date_time().not_null()) .col(ColumnDef::new(AdminSession::ExpiresAt).date_time().not_null())