added brackets and function to get them, updated data structure of players view
This commit is contained in:
@@ -22,6 +22,11 @@ export const divisions = sqliteTable('divisions', {
|
||||
name: text('div_name').notNull()
|
||||
});
|
||||
|
||||
export const brackets = sqliteTable('brackets', {
|
||||
id: integer('brackets_id').primaryKey({ autoIncrement: true }),
|
||||
name: text('bracket_name').notNull()
|
||||
});
|
||||
|
||||
export const scoringPresets = sqliteTable('scoringPresets', {
|
||||
id: integer('scoringPresets_id').primaryKey({ autoIncrement: true }),
|
||||
presetID: integer('preset').notNull(),
|
||||
@@ -57,6 +62,9 @@ export const registeredPlayers = sqliteTable('registeredPlayers', {
|
||||
registeredEventID: integer('event_registered')
|
||||
.references(() => registeredEvents.id)
|
||||
.notNull(),
|
||||
bracket: integer('bracket_registered')
|
||||
.references(() => brackets.id)
|
||||
.notNull(),
|
||||
placement: integer('player_placement').notNull().default(0)
|
||||
});
|
||||
|
||||
@@ -115,6 +123,7 @@ export const registeredEventPlayersView = sqliteView('registeredEventPlayersView
|
||||
firstName: players.firstName,
|
||||
lastName: players.lastName,
|
||||
placement: registeredPlayers.placement,
|
||||
bracket: brackets.name,
|
||||
eventId: registeredEvents.id,
|
||||
eventName: eventTypes.name,
|
||||
teamId: teams.id,
|
||||
@@ -123,6 +132,7 @@ export const registeredEventPlayersView = sqliteView('registeredEventPlayersView
|
||||
})
|
||||
.from(registeredPlayers)
|
||||
.innerJoin(registeredEvents, eq(registeredPlayers.registeredEventID, registeredEvents.id))
|
||||
.innerJoin(brackets, eq(registeredPlayers.bracket, brackets.id))
|
||||
.innerJoin(eventTypes, eq(registeredEvents.eventType, eventTypes.id))
|
||||
.innerJoin(players, eq(registeredPlayers.playerID, players.id))
|
||||
.innerJoin(teams, eq(players.team, teams.id));
|
||||
|
||||
@@ -57,13 +57,19 @@ export async function getAllRegisteredEventPlayers(eventId: number) {
|
||||
const eventPlayers = await db
|
||||
.select()
|
||||
.from(schema.registeredEventPlayersView)
|
||||
.where(eq(schema.registeredEventPlayersView.eventId, eventId));
|
||||
.where(eq(schema.registeredEventPlayersView.eventId, eventId))
|
||||
.orderBy(
|
||||
schema.registeredEventPlayersView.bracket,
|
||||
schema.registeredEventPlayersView.placement,
|
||||
schema.registeredEventPlayersView.teamName
|
||||
);
|
||||
return {
|
||||
eventPlayers: eventPlayers.map((players) => ({
|
||||
id: players.playerId,
|
||||
firstName: players.firstName,
|
||||
lastName: players.lastName,
|
||||
placement: players.placement,
|
||||
bracket: players.bracket,
|
||||
eventId: players.eventId,
|
||||
eventName: players.eventName,
|
||||
teamId: players.teamId,
|
||||
@@ -72,3 +78,11 @@ export async function getAllRegisteredEventPlayers(eventId: number) {
|
||||
}))
|
||||
};
|
||||
}
|
||||
|
||||
export async function getAllBrackets() {
|
||||
const brackets = await db.select().from(schema.brackets);
|
||||
|
||||
return {
|
||||
brackets: brackets
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user