diff --git a/docs/connected_services/how_to/endpoints.md b/docs/connected_services/how_to/endpoints.md index 48544b9..68d93dc 100644 --- a/docs/connected_services/how_to/endpoints.md +++ b/docs/connected_services/how_to/endpoints.md @@ -51,7 +51,7 @@ | name | 400 | 401 | 404 | 406 | | :------------------ | :----------------: | :----------------: | :----------------------: | :----------------: | | ChangePassword | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_check_mark: | -| AdminChangePassword | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_check_mark: | +| AdminChangePassword | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | SetBal | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | ### Meta endpoint support diff --git a/src/bank_api.cpp b/src/bank_api.cpp index 0d4ca0f..108f2af 100644 --- a/src/bank_api.cpp +++ b/src/bank_api.cpp @@ -119,9 +119,16 @@ void api::AdminChangePassword(req_args) const else { StrFromSV_Wrapper name_val(name.value()); - StrFromSV_Wrapper pass_val(pass.value()); - bank.ChangePassword(name_val.str, pass_val.str); - res = BankResponse{k204NoContent, std::nullopt}; + if (bank.Contains(name_val.str)) + { + StrFromSV_Wrapper pass_val(pass.value()); + bank.ChangePassword(name_val.str, pass_val.str); + res = BankResponse{k204NoContent, std::nullopt}; + } + else + { + res = BankResponse{k404NotFound, "\"User not found\""}; + } } } RESPONSE_PARSE(std::move(res));