summaryrefslogtreecommitdiff
path: root/rust/schist_backend/src/routes/budget.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-17 09:29:32 +0000
committerJoe Carstairs <me@joeac.net>2024-11-17 09:30:04 +0000
commit10f071447594f2bdcec84a461df9ad648f71f44b (patch)
tree645924a4948f39a4d9e2ec270d79fc6c2a3a937a /rust/schist_backend/src/routes/budget.rs
parent1ae19eb3315c40e3f9062592c27fa76c11cf626c (diff)
Renames app to 'schist'
Diffstat (limited to 'rust/schist_backend/src/routes/budget.rs')
-rw-r--r--rust/schist_backend/src/routes/budget.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/rust/schist_backend/src/routes/budget.rs b/rust/schist_backend/src/routes/budget.rs
new file mode 100644
index 0000000..92213bb
--- /dev/null
+++ b/rust/schist_backend/src/routes/budget.rs
@@ -0,0 +1,20 @@
+use schist_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 })
+}