From 3a0d9dc3f9db49d2d24950151b0e63cec16fb6a1 Mon Sep 17 00:00:00 2001 From: br0kenpixel <23280129+br0kenpixel@users.noreply.github.com> Date: Sat, 29 Nov 2025 16:21:21 +0100 Subject: [PATCH] fix: do not save new internship status if mail was not sent successfully --- .../InternshipStatusDataController.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/backend/app/Http/Controllers/InternshipStatusDataController.php b/backend/app/Http/Controllers/InternshipStatusDataController.php index b8709f4..8c32f88 100644 --- a/backend/app/Http/Controllers/InternshipStatusDataController.php +++ b/backend/app/Http/Controllers/InternshipStatusDataController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Enums\InternshipStatus; use App\Mail\InternshipStatusUpdated; use App\Models\Internship; use App\Models\InternshipStatusData; @@ -114,7 +115,7 @@ class InternshipStatusDataController extends Controller 'note' => ['required', 'string', 'min:1'] ]); - InternshipStatusData::create([ + $newStatus = InternshipStatusData::make([ 'internship_id' => $id, 'status' => $request->status, 'note' => $request->note, @@ -122,8 +123,18 @@ class InternshipStatusDataController extends Controller 'modified_by' => $user->id ]); - Mail::to($internship->student)->sendNow(new InternshipStatusUpdated($internship, $user->name, $internship->student->name, $internship->company->name, $internshipStatus->status, $request->status, $request->note)); + Mail::to($internship->student) + ->sendNow(new InternshipStatusUpdated( + $internship, + $user->name, + $internship->student->name, + $internship->company->name, + $internshipStatus->status, + $request->enum('status', InternshipStatus::class), + $request->note + )); + $newStatus->save(); return response()->noContent(); }