Skip to content

Commit d5fc469

Browse files
Rastipunkclaude
andcommitted
fix(results): resolve TS error — source variable scoped inside transaction
Move resolvedSource to outer scope so it's accessible after the transaction completes for the return value. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 446d31c commit d5fc469

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

backend/src/services/resultService.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ export async function publishResult(data: PublishResultInput, ctx: AuditContext)
102102
const instanceResultSourceMode = pool.tournamentInstance.resultSourceMode as ResultSourceMode;
103103

104104
// 5) Transaction with FOR UPDATE locking
105+
let resolvedSource: ResultSource = "HOST_MANUAL"; // will be set inside tx
105106
const saved = await prisma.$transaction(async (tx) => {
106107
// header (poolId+matchId) — lock row to serialize concurrent publications
107108
let header = await tx.poolMatchResult.findUnique({ where: { poolId_matchId: { poolId, matchId } } });
@@ -133,6 +134,7 @@ export async function publishResult(data: PublishResultInput, ctx: AuditContext)
133134
}
134135
source = "HOST_OVERRIDE";
135136
}
137+
resolvedSource = source;
136138

137139
// Override siempre requiere justificación
138140
if (source === "HOST_OVERRIDE" && !reason) {
@@ -180,7 +182,7 @@ export async function publishResult(data: PublishResultInput, ctx: AuditContext)
180182
userAgent: ctx.userAgent ?? null,
181183
}));
182184

183-
return { saved, pool, match, source: saved.currentVersion?.source ?? source };
185+
return { saved, pool, match, source: resolvedSource };
184186
}
185187

186188
// ─── sendResultNotifications ─────────────────────────────────

0 commit comments

Comments
 (0)