fix(reliability): resolve F-12 — wrap AdminController write operations in DB::transaction()

This commit is contained in:
root
2026-05-28 16:36:07 +08:00
parent f9061ade2f
commit f7f2736245

View File

@@ -71,6 +71,7 @@ class AdminController extends Controller
$waterlevel = $request->has('waterlevel') ? 1 : 0; $waterlevel = $request->has('waterlevel') ? 1 : 0;
$siren = $request->has('siren') ? 1 : 0; $siren = $request->has('siren') ? 1 : 0;
DB::transaction(function () use ($validated, $rainfall, $waterlevel, $siren) {
DB::table('station')->insert([ DB::table('station')->insert([
'stationid' => $validated['stationid'], 'stationid' => $validated['stationid'],
'name' => $validated['stationname'], 'name' => $validated['stationname'],
@@ -83,8 +84,8 @@ class AdminController extends Controller
'waterlevel' => $waterlevel, 'waterlevel' => $waterlevel,
'siren' => $siren, 'siren' => $siren,
'cctv_link' => $validated['cctv_link'], 'cctv_link' => $validated['cctv_link'],
]); ]);
});
return redirect()->back()->with('success',__('toast.stationsuccess')); return redirect()->back()->with('success',__('toast.stationsuccess'));
@@ -101,6 +102,7 @@ class AdminController extends Controller
'access_level' => 'required|integer', 'access_level' => 'required|integer',
]); ]);
DB::transaction(function () use ($validated) {
DB::table('users')->insert([ DB::table('users')->insert([
'name' => $validated['name'], 'name' => $validated['name'],
'email' => $validated['email'] ?? null, 'email' => $validated['email'] ?? null,
@@ -111,6 +113,7 @@ class AdminController extends Controller
'created_at' => now(), 'created_at' => now(),
'updated_at' => now(), 'updated_at' => now(),
]); ]);
});
return redirect()->back()->with('success', __('toast.usersuccess')); return redirect()->back()->with('success', __('toast.usersuccess'));
@@ -175,6 +178,7 @@ class AdminController extends Controller
]); ]);
DB::transaction(function () use ($request, $validated, $userid) {
if ($request->has('is_blocked')) if ($request->has('is_blocked'))
{ {
DB::table('users')->where('id',$userid) DB::table('users')->where('id',$userid)
@@ -192,17 +196,14 @@ class AdminController extends Controller
]); ]);
} }
DB::table('users')->where('id',$userid) DB::table('users')->where('id',$userid)
->update([ ->update([
'name' => $validated['name'], 'name' => $validated['name'],
'email' => $validated['email'], 'email' => $validated['email'],
'access_level' => $validated['access_level'], 'access_level' => $validated['access_level'],
'updated_at' => now(), 'updated_at' => now(),
]); ]);
});
return redirect()->back()->with('success',__('toast.userupdated')); return redirect()->back()->with('success',__('toast.userupdated'));
} }