Version 1.0 #102
@@ -127,6 +127,28 @@ class UserController extends Controller
|
|||||||
return response()->json($user);
|
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}
|
* DELETE /api/users/{user}
|
||||||
* Apagar conta (Soft Delete)
|
* Apagar conta (Soft Delete)
|
||||||
|
|||||||
+2
-1
@@ -4,8 +4,8 @@ use App\Http\Controllers\AuthController;
|
|||||||
use App\Http\Controllers\GameController;
|
use App\Http\Controllers\GameController;
|
||||||
use App\Http\Controllers\MatchController;
|
use App\Http\Controllers\MatchController;
|
||||||
use App\Http\Controllers\ProfileController;
|
use App\Http\Controllers\ProfileController;
|
||||||
use App\Http\Controllers\UserController;
|
|
||||||
use App\Http\Controllers\StatisticsController;
|
use App\Http\Controllers\StatisticsController;
|
||||||
|
use App\Http\Controllers\UserController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
Route::prefix('v1')->group(function () {
|
Route::prefix('v1')->group(function () {
|
||||||
@@ -23,6 +23,7 @@ Route::prefix('v1')->group(function () {
|
|||||||
Route::prefix('users/me')->group(function () {
|
Route::prefix('users/me')->group(function () {
|
||||||
Route::get('/', [ProfileController::class, 'show']);
|
Route::get('/', [ProfileController::class, 'show']);
|
||||||
Route::put('/', [ProfileController::class, 'update']);
|
Route::put('/', [ProfileController::class, 'update']);
|
||||||
|
Route::patch('/password', [ProfileController::class, 'updatePassword']);
|
||||||
Route::delete('/', [ProfileController::class, 'destroy']);
|
Route::delete('/', [ProfileController::class, 'destroy']);
|
||||||
Route::get('/coins', [ProfileController::class, 'getCoins']);
|
Route::get('/coins', [ProfileController::class, 'getCoins']);
|
||||||
Route::put('/password', [
|
Route::put('/password', [
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ post {
|
|||||||
|
|
||||||
body:json {
|
body:json {
|
||||||
{
|
{
|
||||||
"email":"a1@mail.pt",
|
"email":"p[email protected]",
|
||||||
"password":"123"
|
"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