<?php
require __DIR__ . '/middleware.php';

$auth = require_auth();
$employeeId = (int)$auth['employee_id'];

$body = read_json();
$score = isset($body['score']) ? (int)$body['score'] : 0;
if ($score < 0) $score = 0;

$pdo = db();

$pdo->beginTransaction();
try {
  // lock row si existe
  $st = $pdo->prepare("SELECT best_score FROM employee_game_scores WHERE employee_id=? FOR UPDATE");
  $st->execute([$employeeId]);
  $row = $st->fetch();

  if (!$row) {
    $ins = $pdo->prepare("INSERT INTO employee_game_scores(employee_id, best_score) VALUES(?,?)");
    $ins->execute([$employeeId, $score]);
    $best = $score;
  } else {
    $best = (int)$row['best_score'];
    if ($score > $best) {
      $up = $pdo->prepare("UPDATE employee_game_scores SET best_score=? WHERE employee_id=?");
      $up->execute([$score, $employeeId]);
      $best = $score;
    }
  }

  $pdo->commit();
  json_response(["ok"=>true, "best_score"=>$best], 200);
} catch (Exception $e) {
  $pdo->rollBack();
  json_response(["error"=>"server_error"], 500);
}