craete log if user creates a new event
Some checks failed
CI/CD Pipeline / test (push) Failing after 8m15s
CI/CD Pipeline / deploy-staging (push) Has been skipped
CI/CD Pipeline / deploy-main (push) Has been skipped

This commit is contained in:
Philipp Hofer 2024-11-11 13:33:23 +01:00
parent eb49a829c6
commit d5e6371b89
2 changed files with 18 additions and 3 deletions

View File

@ -9,8 +9,12 @@ use serde::Serialize;
use sqlx::{FromRow, Row, SqlitePool}; use sqlx::{FromRow, Row, SqlitePool};
use super::{ use super::{
notification::Notification, role::Role, tripdetails::TripDetails, triptype::TripType, log::Log,
user::User, notification::Notification,
role::Role,
tripdetails::TripDetails,
triptype::TripType,
user::{EventUser, User},
}; };
#[derive(Serialize, Clone, FromRow, Debug, PartialEq)] #[derive(Serialize, Clone, FromRow, Debug, PartialEq)]
@ -242,6 +246,7 @@ WHERE trip_details.id=?
pub async fn create( pub async fn create(
db: &SqlitePool, db: &SqlitePool,
user: &EventUser,
name: &str, name: &str,
planned_amount_cox: i32, planned_amount_cox: i32,
always_show: bool, always_show: bool,
@ -270,6 +275,15 @@ WHERE trip_details.id=?
.execute(db) .execute(db)
.await .await
.unwrap(); //Okay, as TripDetails can only be created with proper DB backing .unwrap(); //Okay, as TripDetails can only be created with proper DB backing
Log::create(
db,
format!(
"{} created event {} on {} at {}.",
user.user.name, name, trip_details.day, trip_details.planned_starting_time
),
)
.await;
} }
//TODO: create unit test //TODO: create unit test

View File

@ -26,7 +26,7 @@ struct AddEventForm<'r> {
async fn create( async fn create(
db: &State<SqlitePool>, db: &State<SqlitePool>,
data: Form<AddEventForm<'_>>, data: Form<AddEventForm<'_>>,
_admin: EventUser, user: EventUser,
) -> Flash<Redirect> { ) -> Flash<Redirect> {
let data = data.into_inner(); let data = data.into_inner();
@ -37,6 +37,7 @@ async fn create(
Event::create( Event::create(
db, db,
&user,
data.name, data.name,
data.planned_amount_cox, data.planned_amount_cox,
data.always_show, data.always_show,