This commit is contained in:
2026-06-11 12:26:32 +05:45
parent 7f6ae57c3a
commit 7bad51659b
5 changed files with 263 additions and 79 deletions
@@ -310,6 +310,42 @@ class RegistrationController extends Controller
]);
}
public function correctShot(Request $request)
{
$request->validate([
'session_id' => 'required|exists:game_sessions,id',
'shot_number' => 'required|integer|in:1,2,3',
'result' => 'required|boolean',
]);
$session = GameSession::with('registration')->findOrFail($request->session_id);
$shot = $session->shots()->where('shot_number', $request->shot_number)->first();
if ($shot) {
$shot->update(['result' => $request->result]);
} else {
GameShot::create([
'game_session_id' => $session->id,
'shot_number' => $request->shot_number,
'result' => $request->result,
]);
}
$sessionScore = $session->calculateScore();
$session->update(['score' => $sessionScore]);
$registration = $session->registration;
$registration->update([
'total_score' => $registration->sessions()->sum('score')
]);
return response()->json([
'status' => 'ok',
'total_score' => $registration->fresh()->total_score,
]);
}
//Leaderboard
public function leaderboard()
{