From 27b95c9186bd45edd4c982a7cc89cf69cf2c5d46 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Wed, 16 Oct 2024 12:51:21 +0100 Subject: All backend stuff lives in backend folder --- backend/src/routes/account.rs | 57 ------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 backend/src/routes/account.rs (limited to 'backend/src/routes/account.rs') diff --git a/backend/src/routes/account.rs b/backend/src/routes/account.rs deleted file mode 100644 index 7bbdb4f..0000000 --- a/backend/src/routes/account.rs +++ /dev/null @@ -1,57 +0,0 @@ -use diesel::result::DatabaseErrorKind; -use rocket::http::Status; -use rocket::serde::json::Json; -use rocket::{get, post, Responder}; - -use crate::databases::UserDataDb; -use crate::models::account::Account; -use crate::queries::accounts::{get_all_accounts as get_all_accounts_query, insert_account}; - -#[get("/account")] -pub async fn get_all_accounts(user_data_db: UserDataDb) -> Result>, Status> { - user_data_db - .run(get_all_accounts_query) - .await - .map(Json) - .map_err(|_| Status { code: 500 }) -} - -#[derive(Responder)] -pub enum CreateAccountResponder { - #[response(status = 500, content_type = "text")] - InternalServerError(String), - - #[response(status = 202, content_type = "json")] - Created(Json), - - #[response(status = 400, content_type = "text")] - BadRequest(String), -} - -#[post("/account", data = "", format = "json")] -pub async fn create_account( - account: Json, - user_data_db: UserDataDb, -) -> CreateAccountResponder { - let account = account.into_inner(); - let accounts_vec = vec![account.clone()]; - - let num_rows_inserted = user_data_db - .run(move |connection| insert_account(&accounts_vec, connection)) - .await; - - match num_rows_inserted { - Ok(_) => CreateAccountResponder::Created(Json(account)), - Err(err) => match err { - diesel::result::Error::DatabaseError(DatabaseErrorKind::UniqueViolation, info) => { - let column = info.column_name().unwrap_or("account"); - CreateAccountResponder::BadRequest(format!( - "Error creating account: {column} was not unique." - )) - } - _ => CreateAccountResponder::InternalServerError(format!( - "Error creating account: {err}" - )), - }, - } -} -- cgit v1.2.3