SyntaxSquad/DADProject#10 feat: Account deletion (soft delete)

This commit is contained in:
AfonsoCMSousa
2025-12-23 21:39:38 +00:00
parent c34d74db46
commit 30705fd194
3 changed files with 173 additions and 20 deletions
+15 -1
View File
@@ -1,5 +1,4 @@
<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\GameController;
use App\Http\Controllers\MatchController;
@@ -65,10 +64,12 @@ Route::middleware('auth:sanctum')->group(function () {
$user = $request->user();
// Delete old avatar if exists
if ($user->photo_avatar_filename) {
\Storage::disk('public')->delete('photos_avatars/' . $user->photo_avatar_filename);
}
// Store new avatar
$file = $request->file('avatar');
$filename = str_pad($user->id, 5, '0', STR_PAD_LEFT) . '_' . \Str::random(10) . '.' . $file->extension();
$file->storeAs('photos_avatars', $filename, 'public');
@@ -79,6 +80,19 @@ Route::middleware('auth:sanctum')->group(function () {
return response()->json($user);
});
// Delete account
Route::delete('/me', function (Request $request) {
$user = $request->user();
$user->tokens()->delete();
$user->delete();
return response()->json([
'message' => 'Account deleted successfully'
]);
});
Route::get('/{user}/matches', [UserController::class, 'getMatches']);
});