diff --git a/app/Endpoint/Api/Http/Controllers/Account/ChangePasswordController.php b/app/Endpoint/Api/Http/Controllers/Account/ChangePasswordController.php new file mode 100644 index 00000000..48b1d219 --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Account/ChangePasswordController.php @@ -0,0 +1,36 @@ +validate([ + 'old_password' => ['bail', 'required', 'string', 'min:6', 'max:32'], + 'new_password' => ['bail', 'required', 'string', 'min:6', 'max:32'], + ]); + + $user = $request->user(); + + if (! $user->verifyPassword($input['old_password'])) { + throw new BizException(__('Invalid old password')); + } + + $user->update([ + 'password' => $input['new_password'], + ]); + + return response()->noContent(); + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 4c565e18..8b7f1f71 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -1,5 +1,6 @@