diff --git a/moneymgr_backend/src/controllers/backup_controller.rs b/moneymgr_backend/src/controllers/backup_controller.rs index 4b35db3..25a0dea 100644 --- a/moneymgr_backend/src/controllers/backup_controller.rs +++ b/moneymgr_backend/src/controllers/backup_controller.rs @@ -78,12 +78,15 @@ pub async fn finances_manager_import(auth: AuthExtractor, file: FileExtractor) - /// Export data to a [FinancesManager](https://gitlab.com/pierre42100/cpp-financesmanager) file pub async fn finances_manager_export(auth: AuthExtractor) -> HttpResult { - let accounts = accounts_service::get_list_user(auth.user_id()).await?; + let mut accounts = accounts_service::get_list_user(auth.user_id()).await?; + accounts.sort_by_key(|a| a.id()); let mut out = FinancesManagerFile { accounts: vec![] }; for account in accounts { - let movements = movements_service::get_list_account(account.id()).await?; + let mut movements = movements_service::get_list_account(account.id()).await?; + movements.sort_by(|a, b| b.time.cmp(&a.time)); + let mut file_account = FinancesManagerAccount { name: account.name, movements: Vec::with_capacity(movements.len()),