nicer explanations
Some checks failed
CI/CD Pipeline / test (push) Failing after 6m20s
CI/CD Pipeline / deploy-main (push) Has been skipped

This commit is contained in:
2024-12-11 19:22:29 +01:00
parent a5a5b1ec25
commit 64ca9826ea
8 changed files with 153 additions and 75 deletions

View File

@@ -250,12 +250,20 @@ ORDER BY last_access DESC
.unwrap()
}
pub async fn create(db: &SqlitePool, name: &str) -> bool {
pub async fn create(db: &SqlitePool, name: &str) {
let name = name.trim();
sqlx::query!("INSERT INTO USER(name) VALUES (?)", name)
if sqlx::query!("INSERT INTO USER(name) VALUES (?)", name)
.execute(db)
.await
.is_ok()
{
return;
}
sqlx::query!("UPDATE user SET deleted = false where name = ?", name)
.execute(db)
.await
.unwrap();
}
pub async fn update(&self, db: &SqlitePool, data: UserEditForm) -> Result<(), String> {

View File

@@ -4,25 +4,13 @@ use rocket_dyn_templates::{context, Template};
use sqlx::SqlitePool;
use super::notification;
use crate::{
model::{log::Log, role::Role, user::AdminUser},
tera::Config,
};
use crate::model::{log::Log, role::Role, user::AdminUser};
pub mod event;
pub mod user;
#[get("/rss?<key>")]
async fn rss(db: &State<SqlitePool>, key: &str, config: &State<Config>) -> String {
if key.eq(&config.rss_key) {
Log::generate_feed(db).await
} else {
"Not allowed".into()
}
}
#[get("/rss", rank = 2)]
async fn show_rss(db: &State<SqlitePool>, _admin: AdminUser) -> String {
#[get("/log")]
async fn log(db: &State<SqlitePool>, _admin: AdminUser) -> String {
Log::show(db).await
}
@@ -75,6 +63,6 @@ pub fn routes() -> Vec<Route> {
ret.append(&mut user::routes());
ret.append(&mut notification::routes());
ret.append(&mut event::routes());
ret.append(&mut routes![rss, show_rss, show_list, list]);
ret.append(&mut routes![log, show_list, list]);
ret
}

View File

@@ -176,22 +176,18 @@ async fn create(
data: Form<UserAddForm<'_>>,
admin: ManageUserUser,
) -> Flash<Redirect> {
if User::create(db, data.name).await {
Log::create(
db,
format!("{} created new user: {data:?}", admin.user.name),
)
.await;
Flash::success(
Redirect::to("/admin/user"),
"Mitglied erfolgreich angelegt!",
)
} else {
Flash::error(
Redirect::to("/admin/user"),
format!("Mitlgied {} gibt/gab es bereits", data.name),
)
}
User::create(db, data.name).await;
Log::create(
db,
format!("{} created new user: {data:?}", admin.user.name),
)
.await;
Flash::success(
Redirect::to("/admin/user"),
"Mitglied erfolgreich angelegt!",
)
}
pub fn routes() -> Vec<Route> {