significant refactor
This commit is contained in:
@@ -4,34 +4,20 @@ import { pbAdmin } from "@/lib/pocketbase/client";
|
||||
import { tournamentInputSchema } from "@/features/tournaments/types";
|
||||
import { logger } from ".";
|
||||
import { z } from "zod";
|
||||
import { toServerResult } from "@/lib/tanstack-query/utils/to-server-result";
|
||||
|
||||
export const listTournaments = createServerFn()
|
||||
.middleware([superTokensFunctionMiddleware])
|
||||
.handler(async () => {
|
||||
try {
|
||||
const result = await pbAdmin.listTournaments();
|
||||
return result;
|
||||
} catch (error) {
|
||||
logger.error('Error fetching tournaments', error);
|
||||
return [];
|
||||
}
|
||||
});
|
||||
.handler(async () =>
|
||||
toServerResult(pbAdmin.listTournaments)
|
||||
);
|
||||
|
||||
export const createTournament = createServerFn()
|
||||
.validator(tournamentInputSchema)
|
||||
.middleware([superTokensAdminFunctionMiddleware])
|
||||
.handler(async ({ data }) => {
|
||||
try {
|
||||
logger.info('Creating tournament', data);
|
||||
|
||||
const tournament = await pbAdmin.createTournament(data);
|
||||
|
||||
return tournament;
|
||||
} catch (error) {
|
||||
logger.error('Error creating tournament', error);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
.handler(async ({ data }) =>
|
||||
toServerResult(() => pbAdmin.createTournament(data))
|
||||
);
|
||||
|
||||
export const updateTournament = createServerFn()
|
||||
.validator(z.object({
|
||||
@@ -39,26 +25,16 @@ export const updateTournament = createServerFn()
|
||||
updates: tournamentInputSchema.partial()
|
||||
}))
|
||||
.middleware([superTokensAdminFunctionMiddleware])
|
||||
.handler(async ({ data }) => {
|
||||
try {
|
||||
logger.info('Updating tournament', data);
|
||||
|
||||
const tournament = await pbAdmin.updateTournament(data.id, data.updates);
|
||||
return tournament;
|
||||
} catch (error) {
|
||||
logger.error('Error updating tournament', error);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
.handler(async ({ data }) =>
|
||||
toServerResult(() => pbAdmin.updateTournament(data.id, data.updates))
|
||||
);
|
||||
|
||||
export const getTournament = createServerFn()
|
||||
.validator(z.string())
|
||||
.middleware([superTokensFunctionMiddleware])
|
||||
.handler(async ({ data: tournamentId }) => {
|
||||
logger.info('Getting tournament', tournamentId);
|
||||
const tournament = await pbAdmin.getTournament(tournamentId);
|
||||
return tournament;
|
||||
});
|
||||
.handler(async ({ data: tournamentId }) =>
|
||||
toServerResult(() => pbAdmin.getTournament(tournamentId))
|
||||
);
|
||||
|
||||
export const enrollTeam = createServerFn()
|
||||
.validator(z.object({
|
||||
@@ -66,8 +42,8 @@ export const enrollTeam = createServerFn()
|
||||
teamId: z.string()
|
||||
}))
|
||||
.middleware([superTokensFunctionMiddleware])
|
||||
.handler(async ({ data: { tournamentId, teamId }, context }) => {
|
||||
try {
|
||||
.handler(async ({ data: { tournamentId, teamId }, context }) =>
|
||||
toServerResult(async () => {
|
||||
const userId = context.userAuthId;
|
||||
const isAdmin = context.roles.includes("Admin");
|
||||
|
||||
@@ -83,11 +59,8 @@ export const enrollTeam = createServerFn()
|
||||
logger.info('Enrolling team in tournament', { tournamentId, teamId, userId });
|
||||
const tournament = await pbAdmin.enrollTeam(tournamentId, teamId);
|
||||
return tournament;
|
||||
} catch (error) {
|
||||
logger.error('Error enrolling team', error);
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
export const unenrollTeam = createServerFn()
|
||||
.validator(z.object({
|
||||
@@ -95,22 +68,13 @@ export const unenrollTeam = createServerFn()
|
||||
teamId: z.string()
|
||||
}))
|
||||
.middleware([superTokensAdminFunctionMiddleware])
|
||||
.handler(async ({ data: { tournamentId, teamId }, context }) => {
|
||||
try {
|
||||
logger.info('Enrolling team in tournament', { tournamentId, teamId, context });
|
||||
const tournament = await pbAdmin.unenrollTeam(tournamentId, teamId);
|
||||
return tournament;
|
||||
} catch (error) {
|
||||
logger.error('Error enrolling team', error);
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
.handler(async ({ data: { tournamentId, teamId }, context }) =>
|
||||
toServerResult(() => pbAdmin.unenrollTeam(tournamentId, teamId))
|
||||
);
|
||||
|
||||
export const getUnenrolledTeams = createServerFn()
|
||||
.validator(z.string())
|
||||
.middleware([superTokensAdminFunctionMiddleware])
|
||||
.handler(async ({ data: tournamentId }) => {
|
||||
logger.info('Getting unenrolled teams', tournamentId);
|
||||
const teams = await pbAdmin.getUnenrolledTeams(tournamentId);
|
||||
return teams;
|
||||
});
|
||||
.handler(async ({ data: tournamentId }) =>
|
||||
toServerResult(() => pbAdmin.getUnenrolledTeams(tournamentId))
|
||||
);
|
||||
Reference in New Issue
Block a user