summaryrefslogtreecommitdiff
path: root/rust/schist_backend/src/routes/budget.rs
blob: 89438b98dd37d23cd848a899603ec8575228b5f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use rocket::get;
use rocket::http::Status;
use rocket::serde::json::Json;
use schist_models::category_budget::CategoryBudget;
use schist_queries::categories::get_most_recent_category_budget_per_category_id as get_most_recent_category_budget_per_category_id_query;

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 })
}