Merge branch dev into features/notifications

This commit is contained in:
2026-03-19 09:56:35 +01:00
30 changed files with 1012 additions and 80 deletions
+51 -2
View File
@@ -3,6 +3,11 @@
namespace App\Http\Controllers;
use App\Events\UserCreated;
use App\Mail\CreateUserByAdminMail;
use App\Mail\DeactivateAccountMail;
use App\Mail\DeleteAccountMail;
use App\Mail\RegisterMail;
use App\Mail\UpdateRoleMail;
use App\Mail\ValidateMail;
use App\Models\Notification;
use App\Models\User;
@@ -54,9 +59,18 @@ class UserController extends Controller
$notification->users()->attach(
$admins->pluck('id')->toArray()
);
broadcast(new UserCreated($user));
foreach ($admins as $admin) {
$data = [
'adminName' => $admin->name,
'adminLastname' => $admin->lastname,
'userName' => $user->name,
'userLastname' => $user->lastname,
];
Mail::to($admin->email)->send(new RegisterMail($data));
}
return response()->json(['message' => 'User created successfully']);
}
@@ -85,6 +99,13 @@ class UserController extends Controller
"phone" => $phone->formatInternational(),
]);
$data = [
'name' => $user->name,
'lastname' => $user->lastname,
];
Mail::to($user->email)->send(new CreateUserByAdminMail($data));
return response()->json([
'message' => 'User created successfully',
"password" => $password,
@@ -94,6 +115,13 @@ class UserController extends Controller
public function delete(Request $request): JsonResponse {
try {
$user = User::find($request->user()->id);
$data = [
'name' => $user->name,
'lastname' => $user->lastname,
];
Mail::to($user->email)->send(new DeleteAccountMail($data));
$user->delete();
return response()->json(['message' => 'User deleted successfully']);
} catch(\Exception $e) {
@@ -124,6 +152,12 @@ class UserController extends Controller
try {
$user = User::find($id);
$data = [
'name' => $user->name,
'lastname' => $user->lastname,
];
Mail::to($user->email)->send(new DeleteAccountMail($data));
$user->delete();
return response()->json(['message' => 'User deleted successfully']);
} catch(\Exception $e) {
@@ -142,6 +176,12 @@ class UserController extends Controller
try {
$userToDeactivate->update(['validate' => 0]);
$data = [
'name' => $userToDeactivate->name,
'lastname' => $userToDeactivate->lastname,
];
Mail::to($userToDeactivate->email)->send(new DeactivateAccountMail($data));
return response()->json(['message' => 'User deactivated successfully']);
} catch (ModelNotFoundException $e) {
return response()->json(['message' => 'Utilisateur non trouvé'], 404);
@@ -181,12 +221,12 @@ class UserController extends Controller
try {
$user = User::find($id);
$user->validate = 1;
$user->role = 3;
$user->verified_at = now();
$user->save();
$data = [
'name' => $user->name,
'lastname' => $user->lastname,
@@ -213,11 +253,20 @@ class UserController extends Controller
$user->save();
$role = \App\Services\GetRole::getRole($request['role']);
$notification = Notification::create([
'content' => "Votre rôle à changé pour {$role} !",
]);
$notification->users()->attach($user->id);
$data = [
'name' => $user->name,
'lastname' => $user->lastname,
'role' => $role,
];
Mail::to($user->email)->send(new UpdateRoleMail($data));
return response()->json(['message' => 'User role added successfully']);
} catch(\Exception $e) {
Log::info($e->getMessage());