summaryrefslogtreecommitdiff
path: root/rust/app/src/routes/budget.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/app/src/routes/budget.rs')
-rw-r--r--rust/app/src/routes/budget.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/rust/app/src/routes/budget.rs b/rust/app/src/routes/budget.rs
new file mode 100644
index 0000000..dc0802a
--- /dev/null
+++ b/rust/app/src/routes/budget.rs
@@ -0,0 +1,20 @@
+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 })
+}