init
This commit is contained in:
30
src/features/bracket/server.ts
Normal file
30
src/features/bracket/server.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { superTokensFunctionMiddleware } from "@/utils/supertokens";
|
||||
import { createServerFn } from "@tanstack/react-start";
|
||||
import { z } from "zod";
|
||||
import { Logger } from "@/lib/logger";
|
||||
import brackets from './utils';
|
||||
|
||||
const logger = new Logger("Bracket Generation")
|
||||
|
||||
// Transform the imported JSON to match the expected format
|
||||
function transformBracketData(bracketData: any) {
|
||||
return {
|
||||
n: bracketData.config.teams,
|
||||
doubleElim: bracketData.config.doubleElimination,
|
||||
matches: bracketData.matches,
|
||||
winnersBracket: bracketData.structure.winners,
|
||||
losersBracket: bracketData.structure.losers
|
||||
};
|
||||
}
|
||||
|
||||
export const previewBracket = createServerFn()
|
||||
.validator(z.number())
|
||||
.middleware([superTokensFunctionMiddleware])
|
||||
.handler(async ({ data: teams }) => {
|
||||
logger.info('Generating bracket', teams);
|
||||
if (!Object.keys(brackets).includes(teams.toString()))
|
||||
throw Error("Bracket not available")
|
||||
|
||||
// Transform the imported data to match expected format
|
||||
return transformBracketData(brackets[teams]);
|
||||
});
|
||||
Reference in New Issue
Block a user