Merge pull request 'feat: api users change password endpoint' (#84) from feature/api-update-password into develop
Reviewed-on: https://gitea.fernandovideira.com/SyntaxSquad/DADProject/pulls/84 Reviewed-by: KZix <[email protected]> Reviewed-by: Edd <[email protected]>
This commit was merged in pull request #84.
This commit is contained in:
@@ -127,6 +127,28 @@ class UserController extends Controller
|
||||
return response()->json($user);
|
||||
}
|
||||
|
||||
|
||||
public function updatePassword(Request $request, User $user)
|
||||
{
|
||||
$this->authorize('update', $user);
|
||||
|
||||
$validated = $request->validate([
|
||||
'current_password' => 'required|string',
|
||||
'new_password' => 'required|string|min:3|confirmed',
|
||||
]);
|
||||
|
||||
// Verificar se a password atual está correta
|
||||
if (!Hash::check($validated['current_password'], $user->password)) {
|
||||
return response()->json(['message' => 'Current password is incorrect'], 403);
|
||||
}
|
||||
|
||||
// Atualizar para a nova password
|
||||
$user->password = Hash::make($validated['new_password']);
|
||||
$user->save();
|
||||
|
||||
return response()->json(['message' => 'Password updated successfully']);
|
||||
}
|
||||
|
||||
/**
|
||||
* DELETE /api/users/{user}
|
||||
* Apagar conta (Soft Delete)
|
||||
|
||||
+2
-1
@@ -4,8 +4,8 @@ use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\GameController;
|
||||
use App\Http\Controllers\MatchController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\UserController;
|
||||
use App\Http\Controllers\StatisticsController;
|
||||
use App\Http\Controllers\UserController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::prefix('v1')->group(function () {
|
||||
@@ -23,6 +23,7 @@ Route::prefix('v1')->group(function () {
|
||||
Route::prefix('users/me')->group(function () {
|
||||
Route::get('/', [ProfileController::class, 'show']);
|
||||
Route::put('/', [ProfileController::class, 'update']);
|
||||
Route::patch('/password', [ProfileController::class, 'updatePassword']);
|
||||
Route::delete('/', [ProfileController::class, 'destroy']);
|
||||
Route::get('/coins', [ProfileController::class, 'getCoins']);
|
||||
Route::put('/password', [
|
||||
|
||||
@@ -12,7 +12,7 @@ post {
|
||||
|
||||
body:json {
|
||||
{
|
||||
"email":"a1@mail.pt",
|
||||
"email":"p[email protected]",
|
||||
"password":"123"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
meta {
|
||||
name: Patch Password
|
||||
type: http
|
||||
seq: 3
|
||||
}
|
||||
|
||||
patch {
|
||||
url: {{api_url}}/users/me
|
||||
body: json
|
||||
auth: none
|
||||
}
|
||||
|
||||
headers {
|
||||
Accept: application/json
|
||||
Authorization: Bearer {{token}}
|
||||
}
|
||||
|
||||
body:json {
|
||||
{
|
||||
"current_password":"123",
|
||||
"new_password": "456"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user