sendou.ink/app/features/sendouq/queries/addPlayerResults.server.ts
Kalle c0ec15b7de
Some checks failed
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
Unify db type files
2025-03-21 21:47:08 +02:00

46 lines
1.0 KiB
TypeScript

import { sql } from "~/db/sql";
import type { Tables } from "~/db/tables";
const addPlayerResultDeltaStm = sql.prepare(/* sql */ `
insert into "PlayerResult" (
"ownerUserId",
"otherUserId",
"mapWins",
"mapLosses",
"setWins",
"setLosses",
"type",
"season"
) values (
@ownerUserId,
@otherUserId,
@mapWins,
@mapLosses,
@setWins,
@setLosses,
@type,
@season
) on conflict ("ownerUserId", "otherUserId", "type", "season") do
update
set
"mapWins" = "mapWins" + @mapWins,
"mapLosses" = "mapLosses" + @mapLosses,
"setWins" = "setWins" + @setWins,
"setLosses" = "setLosses" + @setLosses
`);
export function addPlayerResults(results: Array<Tables["PlayerResult"]>) {
for (const result of results) {
addPlayerResultDeltaStm.run({
ownerUserId: result.ownerUserId,
otherUserId: result.otherUserId,
mapWins: result.mapWins,
mapLosses: result.mapLosses,
setWins: result.setWins,
setLosses: result.setLosses,
type: result.type,
season: result.season,
});
}
}