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,20 +71,21 @@ class AdminController extends Controller
$waterlevel = $request->has('waterlevel') ? 1 : 0;
$siren = $request->has('siren') ? 1 : 0;
DB::table('station')->insert([
'stationid' => $validated['stationid'],
'name' => $validated['stationname'],
'district' => $validated['district'],
'lng' => $validated['longitude'],
'lat' => $validated['latitude'],
'mainriverbasin' => $validated['mainriverbasin'],
'subriverbasin' => $validated['subriverbasin'],
'rainfall' => $rainfall,
'waterlevel' => $waterlevel,
'siren' => $siren,
'cctv_link' => $validated['cctv_link'],
]);
DB::transaction(function () use ($validated, $rainfall, $waterlevel, $siren) {
DB::table('station')->insert([
'stationid' => $validated['stationid'],
'name' => $validated['stationname'],
'district' => $validated['district'],
'lng' => $validated['longitude'],
'lat' => $validated['latitude'],
'mainriverbasin' => $validated['mainriverbasin'],
'subriverbasin' => $validated['subriverbasin'],
'rainfall' => $rainfall,
'waterlevel' => $waterlevel,
'siren' => $siren,
'cctv_link' => $validated['cctv_link'],
]);
});
return redirect()->back()->with('success',__('toast.stationsuccess'));
@@ -101,16 +102,18 @@ class AdminController extends Controller
'access_level' => 'required|integer',
]);
DB::table('users')->insert([
'name' => $validated['name'],
'email' => $validated['email'] ?? null,
'password' => bcrypt($validated['password']),
'access_level' => $validated['access_level'],
'login_attempts' => 0,
'is_blocked' => 0,
'created_at' => now(),
'updated_at' => now(),
]);
DB::transaction(function () use ($validated) {
DB::table('users')->insert([
'name' => $validated['name'],
'email' => $validated['email'] ?? null,
'password' => bcrypt($validated['password']),
'access_level' => $validated['access_level'],
'login_attempts' => 0,
'is_blocked' => 0,
'created_at' => now(),
'updated_at' => now(),
]);
});
return redirect()->back()->with('success', __('toast.usersuccess'));
@@ -175,34 +178,32 @@ class AdminController extends Controller
]);
if ($request->has('is_blocked'))
{
DB::transaction(function () use ($request, $validated, $userid) {
if ($request->has('is_blocked'))
{
DB::table('users')->where('id',$userid)
->update([
'is_blocked' => 0,
'login_attempts' => 0,
'updated_at' => now(),
]);
}else{
DB::table('users')->where('id',$userid)
->update([
'is_blocked' => 1,
'updated_at' => now(),
]);
}
DB::table('users')->where('id',$userid)
->update([
'is_blocked' => 0,
'login_attempts' => 0,
'updated_at' => now(),
'name' => $validated['name'],
'email' => $validated['email'],
'access_level' => $validated['access_level'],
'updated_at' => now(),
]);
}else{
DB::table('users')->where('id',$userid)
->update([
'is_blocked' => 1,
'updated_at' => now(),
]);
}
DB::table('users')->where('id',$userid)
->update([
'name' => $validated['name'],
'email' => $validated['email'],
'access_level' => $validated['access_level'],
'updated_at' => now(),
]);
});
return redirect()->back()->with('success',__('toast.userupdated'));
}