free agents
This commit is contained in:
@@ -7,8 +7,10 @@ import type {
|
||||
} from "@/features/tournaments/types";
|
||||
import type { Team } from "@/features/teams/types";
|
||||
import PocketBase from "pocketbase";
|
||||
import { transformTournament, transformTournamentInfo } from "@/lib/pocketbase/util/transform-types";
|
||||
import { transformFreeAgent, transformTournament, transformTournamentInfo } from "@/lib/pocketbase/util/transform-types";
|
||||
import { transformTeam } from "@/lib/pocketbase/util/transform-types";
|
||||
import { getFreeAgents } from "@/features/tournaments/server";
|
||||
import { PlayerInfo } from "@/features/players/types";
|
||||
|
||||
export function createTournamentsService(pb: PocketBase) {
|
||||
return {
|
||||
@@ -133,5 +135,33 @@ export function createTournamentsService(pb: PocketBase) {
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
async enrollFreeAgent(playerId: string, phone: string, tournamentId: string): Promise<void> {
|
||||
await pb.collection("free_agents").create({
|
||||
tournament: tournamentId,
|
||||
player: playerId,
|
||||
phone: phone
|
||||
});
|
||||
},
|
||||
|
||||
async unenrollFreeAgent(playerId: string, tournamentId: string): Promise<void> {
|
||||
const result = await pb.collection("free_agents").getFirstListItem(
|
||||
`player = "${playerId}" && tournament = "${tournamentId}"`
|
||||
);
|
||||
await pb.collection("free_agents").delete(result.id);
|
||||
},
|
||||
async getFreeAgents(tournamentId: string): Promise<{ id: string, phone: string, player: PlayerInfo | undefined }[]> {
|
||||
try {
|
||||
const free_agents = await pb
|
||||
.collection("free_agents")
|
||||
.getFullList({ filter: `tournament = "${tournamentId}"`,
|
||||
expand: 'player'
|
||||
});
|
||||
|
||||
return free_agents.map(transformFreeAgent);
|
||||
} catch (error) {
|
||||
logger.error("PocketBase | Error getting unenrolled teams", error);
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user