summaryrefslogtreecommitdiff
path: root/backend/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'backend/app/src')
-rw-r--r--backend/app/src/databases.rs11
-rw-r--r--backend/app/src/main.rs51
-rw-r--r--backend/app/src/routes/account.rs50
-rw-r--r--backend/app/src/routes/balance.rs17
-rw-r--r--backend/app/src/routes/budget.rs20
-rw-r--r--backend/app/src/routes/budget_update.rs20
-rw-r--r--backend/app/src/routes/category.rs18
-rw-r--r--backend/app/src/routes/mod.rs5
8 files changed, 0 insertions, 192 deletions
diff --git a/backend/app/src/databases.rs b/backend/app/src/databases.rs
deleted file mode 100644
index 7202e78..0000000
--- a/backend/app/src/databases.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-use rocket_sync_db_pools::{database, diesel};
-
-cfg_if::cfg_if! {
- if #[cfg(test)] {
- #[database("user_data.test")]
- pub struct UserDataDb(diesel::SqliteConnection);
- } else {
- #[database("user_data")]
- pub struct UserDataDb(diesel::SqliteConnection);
- }
-}
diff --git a/backend/app/src/main.rs b/backend/app/src/main.rs
deleted file mode 100644
index dca6096..0000000
--- a/backend/app/src/main.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-use budgeting_app_core::MIGRATIONS;
-use diesel::SqliteConnection;
-use diesel_migrations::MigrationHarness;
-use rocket::fairing::AdHoc;
-use rocket::http::ContentType;
-use rocket::{launch, routes, Build, Rocket};
-
-use crate::databases::UserDataDb;
-
-pub mod databases;
-pub mod routes;
-
-fn run_database_migrations(connection: &mut SqliteConnection) {
- connection
- .run_pending_migrations(MIGRATIONS)
- .expect("Error running database migrations");
-}
-
-#[launch]
-async fn rocket() -> Rocket<Build> {
- rocket::build()
- .attach(UserDataDb::fairing())
- .attach(AdHoc::on_liftoff("Database Migration", |rocket| {
- Box::pin(async move {
- let user_data_db = UserDataDb::get_one(rocket).await.expect(
- "Failed to get connection to user data database in order to run migrations",
- );
- user_data_db.run(run_database_migrations).await;
- })
- }))
- .attach(AdHoc::on_response("Add CORS headers", |_req, res| {
- Box::pin(async move {
- res.set_header(ContentType::JSON);
- res.set_header(rocket::http::Header::new(
- "Access-Control-Allow-Origin",
- "http://localhost:5173",
- ));
- })
- }))
- .mount(
- "/",
- routes![
- routes::account::get_all_accounts,
- routes::account::create_account,
- routes::balance::get_all_category_balances,
- routes::budget::get_current_category_budget_per_category,
- routes::budget_update::get_all_budget_updates,
- routes::category::get_all_categories,
- ],
- )
-}
diff --git a/backend/app/src/routes/account.rs b/backend/app/src/routes/account.rs
deleted file mode 100644
index 96f1f38..0000000
--- a/backend/app/src/routes/account.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-use budgeting_app_core::{
- models::account::Account,
- queries::accounts::{get_all_accounts as get_all_accounts_query, insert_accounts},
-};
-use rocket::http::Status;
-use rocket::serde::json::Json;
-use rocket::{get, post, Responder};
-
-use crate::databases::UserDataDb;
-
-#[get("/account")]
-pub async fn get_all_accounts(user_data_db: UserDataDb) -> Result<Json<Vec<Account>>, (Status, String)> {
- user_data_db
- .run(get_all_accounts_query)
- .await
- .map(Json)
- .map_err(|err| (Status::InternalServerError, err.to_string()))
-}
-
-#[derive(Responder)]
-pub enum CreateAccountResponder {
- #[response(status = 500, content_type = "text")]
- InternalServerError(String),
-
- #[response(status = 202, content_type = "json")]
- Created(Json<Account>),
-
- #[response(status = 400, content_type = "text")]
- BadRequest(String),
-}
-
-#[post("/account", data = "<account>", format = "json")]
-pub async fn create_account(
- account: Json<Account>,
- 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_accounts(&accounts_vec, connection))
- .await;
-
- match num_rows_inserted {
- Ok(_) => CreateAccountResponder::Created(Json(account)),
- Err(err) => CreateAccountResponder::InternalServerError(format!(
- "Error creating account: {err}"
- )),
- }
-}
diff --git a/backend/app/src/routes/balance.rs b/backend/app/src/routes/balance.rs
deleted file mode 100644
index 21adb3b..0000000
--- a/backend/app/src/routes/balance.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-use budgeting_app_core::{
- models::category_balance::CategoryBalance,
- queries::categories::get_all_category_balances as get_all_category_balances_query,
-};
-use rocket::{get, http::Status, serde::json::Json};
-
-use crate::databases::UserDataDb;
-#[get("/balance/category")]
-pub async fn get_all_category_balances(
- user_data_db: UserDataDb,
-) -> Result<Json<Vec<CategoryBalance>>, Status> {
- user_data_db
- .run(get_all_category_balances_query)
- .await
- .map(Json)
- .map_err(|_| Status { code: 500 })
-}
diff --git a/backend/app/src/routes/budget.rs b/backend/app/src/routes/budget.rs
deleted file mode 100644
index dc0802a..0000000
--- a/backend/app/src/routes/budget.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-use budgeting_app_core::{
- models::category_budget::CategoryBudget,
- queries::categories::get_most_recent_category_budget_per_category_id as get_most_recent_category_budget_per_category_id_query,
-};
-use rocket::get;
-use rocket::http::Status;
-use rocket::serde::json::Json;
-
-use crate::databases::UserDataDb;
-
-#[get("/budget/category?current")]
-pub async fn get_current_category_budget_per_category(
- user_data_db: UserDataDb,
-) -> Result<Json<Vec<CategoryBudget>>, Status> {
- user_data_db
- .run(get_most_recent_category_budget_per_category_id_query)
- .await
- .map(Json)
- .map_err(|_| Status { code: 500 })
-}
diff --git a/backend/app/src/routes/budget_update.rs b/backend/app/src/routes/budget_update.rs
deleted file mode 100644
index 86dda9f..0000000
--- a/backend/app/src/routes/budget_update.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-use budgeting_app_core::{
- models::budget_update::BudgetUpdate,
- queries::budget_updates::get_all_budget_updates as get_all_budget_updates_query,
-};
-use rocket::get;
-use rocket::http::Status;
-use rocket::serde::json::Json;
-
-use crate::databases::UserDataDb;
-
-#[get("/budget-update")]
-pub async fn get_all_budget_updates(
- user_data_db: UserDataDb,
-) -> Result<Json<Vec<BudgetUpdate>>, Status> {
- user_data_db
- .run(get_all_budget_updates_query)
- .await
- .map(Json)
- .map_err(|_| Status { code: 500 })
-}
diff --git a/backend/app/src/routes/category.rs b/backend/app/src/routes/category.rs
deleted file mode 100644
index ca021fc..0000000
--- a/backend/app/src/routes/category.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-use budgeting_app_core::{
- models::category::Category,
- queries::categories::get_all_categories as get_all_categories_query,
-};
-use rocket::get;
-use rocket::http::Status;
-use rocket::serde::json::Json;
-
-use crate::databases::UserDataDb;
-
-#[get("/category")]
-pub async fn get_all_categories(user_data_db: UserDataDb) -> Result<Json<Vec<Category>>, Status> {
- user_data_db
- .run(get_all_categories_query)
- .await
- .map(Json)
- .map_err(|_| Status { code: 500 })
-}
diff --git a/backend/app/src/routes/mod.rs b/backend/app/src/routes/mod.rs
deleted file mode 100644
index bf0ab4a..0000000
--- a/backend/app/src/routes/mod.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-pub mod account;
-pub mod balance;
-pub mod budget;
-pub mod budget_update;
-pub mod category;