This commit is contained in:
2023-03-14 14:00:53 +01:00
parent 5cb486b5ce
commit c79a342ce8
5 changed files with 138 additions and 10 deletions

View File

@ -3,7 +3,7 @@ use rocket::{
response::{Flash, Redirect},
Route, State,
};
use sea_orm::{ActiveModelTrait, DatabaseConnection, EntityTrait, Set};
use sea_orm::{ActiveModelTrait, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter, Set};
use crate::models::{day, trip, user};
@ -14,6 +14,8 @@ struct RegisterForm {
day: NaiveDateForm,
#[field(validate = len(3..))]
name: String,
time: Option<String>,
cox_id: Option<i32>,
}
#[put("/", data = "<register>")]
@ -42,6 +44,8 @@ async fn register(
let trip = trip::ActiveModel {
day: Set(day.clone()),
user_id: Set(user.id),
begin: Set(register.time.clone()),
cox_id: Set(register.cox_id.clone()),
..Default::default()
};
@ -65,6 +69,8 @@ async fn register(
struct DeleteForm {
day: NaiveDateForm,
user: i32,
cox_id: Option<i32>,
begin: Option<String>,
}
#[delete("/", data = "<delete>")]
@ -87,7 +93,11 @@ async fn delete(
);
}
let trip = trip::Entity::find_by_id((format!("{}", day.day.format("%Y-%m-%d")), user.id))
let trip = trip::Entity::find()
.filter(trip::Column::Day.eq(format!("{}", day.day.format("%Y-%m-%d"))))
.filter(trip::Column::UserId.eq(user.id))
.filter(trip::Column::CoxId.eq(delete.cox_id))
.filter(trip::Column::Begin.eq(delete.begin.clone()))
.one(db.inner())
.await
.unwrap();
@ -101,6 +111,8 @@ async fn delete(
trip::Entity::delete(trip::ActiveModel {
day: Set(trip.day),
user_id: Set(trip.user_id),
//cox_id: Set(delete.cox_id),
begin: Set(delete.begin.clone()),
..Default::default()
})
.exec(db.inner())