feat: add transaction handling for user registration process

This commit is contained in:
2025-11-04 10:18:06 +01:00
parent 8a4712da66
commit b781696bb4

View File

@@ -8,6 +8,7 @@ use App\Mail\UserRegistrationCompleted;
use App\Models\Company;
use App\Models\StudentData;
use App\Models\User;
use DB;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
@@ -46,6 +47,9 @@ class RegisteredUserController extends Controller
'company_data.hiring' => ['required_if:role,EMPLOYER', 'boolean'],
]);
DB::createTransaction();
try {
$user = User::create([
'email' => $request->email,
'first_name' => $request->first_name,
@@ -73,6 +77,12 @@ class RegisteredUserController extends Controller
]);
}
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
throw $e;
}
Mail::to($user)->sendNow(new UserRegistrationCompleted($user->name, $password));
event(new Registered($user));