You've already forked isop-mirror
feat: add transaction handling for user registration process
This commit is contained in:
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user