diff --git a/moneymgr_backend/src/controllers/movement_controller.rs b/moneymgr_backend/src/controllers/movement_controller.rs index c91894e..d051046 100644 --- a/moneymgr_backend/src/controllers/movement_controller.rs +++ b/moneymgr_backend/src/controllers/movement_controller.rs @@ -28,6 +28,21 @@ pub async fn get_single(movement: MovementInPath) -> HttpResult { Ok(HttpResponse::Ok().json(movement.movement())) } +/// Update a single movement information +pub async fn update( + auth: AuthExtractor, + movement: MovementInPath, + req: web::Json, +) -> HttpResult { + if let Some(err) = req.check_error(auth.user_id()).await? { + return Ok(HttpResponse::BadRequest().json(err)); + } + + movements_service::update(movement.movement().id(), &req).await?; + + Ok(HttpResponse::Accepted().finish()) +} + /// Delete a movement pub async fn delete(movement: MovementInPath) -> HttpResult { movements_service::delete(movement.movement().id()).await?; diff --git a/moneymgr_backend/src/main.rs b/moneymgr_backend/src/main.rs index e18119d..d2fc456 100644 --- a/moneymgr_backend/src/main.rs +++ b/moneymgr_backend/src/main.rs @@ -139,6 +139,10 @@ async fn main() -> std::io::Result<()> { "/api/movement/{movement_id}", web::get().to(movement_controller::get_single), ) + .route( + "/api/movement/{movement_id}", + web::put().to(movement_controller::update), + ) .route( "/api/movement/{movement_id}", web::delete().to(movement_controller::delete), diff --git a/moneymgr_web/src/widgets/AccountWidget.tsx b/moneymgr_web/src/widgets/AccountWidget.tsx index f47e2a8..1064db4 100644 --- a/moneymgr_web/src/widgets/AccountWidget.tsx +++ b/moneymgr_web/src/widgets/AccountWidget.tsx @@ -12,13 +12,13 @@ export function AccountWidget(p: { account: Account }): React.ReactElement { height: "1.5em", width: "1.5em", backgroundColor: darkTheme.enabled ? "white" : "black", - mask: `url(\"data:image/svg+xml;base64,${toBase64( + mask: `url("data:image/svg+xml;base64,${toBase64( new TextEncoder().encode( ServerApi.Config.accounts_types.find( (t) => t.code === p.account.type )!.icon ) - )}\")`, + )}")`, }} /> ); diff --git a/moneymgr_web/src/widgets/MoneyNavList.tsx b/moneymgr_web/src/widgets/MoneyNavList.tsx index f0e48b2..da2e67b 100644 --- a/moneymgr_web/src/widgets/MoneyNavList.tsx +++ b/moneymgr_web/src/widgets/MoneyNavList.tsx @@ -59,6 +59,7 @@ export function MoneyNavList(): React.ReactElement { {accounts.list.list.map((a) => ( }