Skip to content

Commit bf3db0b

Browse files
committed
Improve errors
1 parent c664e10 commit bf3db0b

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/api/expenses_api.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,11 @@ void budget::import_expenses_api(const httplib::Request& req, httplib::Response&
115115
auto expense = budget::expense_get(id);
116116

117117
if (!expense.temporary) {
118-
return api_error(req, res, "Invalid expense in the form");
118+
return api_error(req, res, "Invalid expense in the form (not temporary)");
119119
}
120120

121121
if (!req.has_param(amount_param) || !req.has_param(name_param) || !req.has_param(account_param)) {
122-
return api_error(req, res, "Invalid parameters in the form");
122+
return api_error(req, res, "Invalid parameters in the form (missing some parameters)");
123123
}
124124

125125
if (!req.has_param(included_param)) {
@@ -271,21 +271,21 @@ void budget::import_neon_expenses_api(const httplib::Request& req, httplib::Resp
271271
const auto & file_content = file.content;
272272

273273
if (!file_content.length()) {
274-
return api_error(req, res, "Invalid parameters");
274+
return api_error(req, res, "Invalid parameters (missing CSV file)");
275275
}
276276

277277
auto [columns, values] = parse_csv(file_content, ';');
278278

279279
if (columns.empty()) {
280-
return api_error(req, res, "Invalid file, missing columns");
280+
return api_error(req, res, "Invalid CSV file (missing columns)");
281281
}
282282

283283
if (values.empty()) {
284-
return api_error(req, res, "Invalid file, missing values");
284+
return api_error(req, res, "Invalid CSV file (missing values)");
285285
}
286286

287287
if (!range_contains(columns, "Date"sv) || !range_contains(columns, "Amount"sv)|| !range_contains(columns, "Description"sv)) {
288-
return api_error(req, res, "Invalid file, missing columns");
288+
return api_error(req, res, "Invalid CSV file (missing mandatory columns)");
289289
}
290290

291291
size_t date_index = std::distance(columns.begin(), std::ranges::find(columns, "Date"sv));
@@ -330,21 +330,21 @@ void budget::import_cembra_expenses_api(const httplib::Request& req, httplib::Re
330330
const auto & file_content = file.content;
331331

332332
if (!file_content.length()) {
333-
return api_error(req, res, "Invalid parameters");
333+
return api_error(req, res, "Invalid parameters (missing CSV file)");
334334
}
335335

336336
auto [columns, values] = parse_csv(file_content, ',');
337337

338338
if (columns.empty()) {
339-
return api_error(req, res, "Invalid file, missing columns");
339+
return api_error(req, res, "Invalid CSV file (missing columns)");
340340
}
341341

342342
if (values.empty()) {
343-
return api_error(req, res, "Invalid file, missing values");
343+
return api_error(req, res, "Invalid CSV file (missing values)");
344344
}
345345

346346
if (!range_contains(columns, "Booking date"sv) || !range_contains(columns, "Merchant"sv)|| !range_contains(columns, "Amount (CHF)"sv)) {
347-
return api_error(req, res, "Invalid file, missing columns");
347+
return api_error(req, res, "Invalid CSV file (missing mandatory columns)");
348348
}
349349

350350
size_t date_index = std::distance(columns.begin(), std::ranges::find(columns, "Booking date"sv));

0 commit comments

Comments
 (0)