@mshowes/brackets-manager 1.8.7 → 1.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/base/getter.d.ts +6 -5
- package/dist/core/base/getter.d.ts.map +1 -1
- package/dist/core/base/getter.js +75 -47
- package/dist/core/base/getter.js.map +1 -1
- package/dist/core/base/stage/creator.d.ts +5 -4
- package/dist/core/base/stage/creator.d.ts.map +1 -1
- package/dist/core/base/stage/creator.js +155 -80
- package/dist/core/base/stage/creator.js.map +1 -1
- package/dist/core/base/updater.d.ts +1 -1
- package/dist/core/base/updater.d.ts.map +1 -1
- package/dist/core/base/updater.js +33 -27
- package/dist/core/base/updater.js.map +1 -1
- package/dist/core/create.d.ts +3 -49
- package/dist/core/create.d.ts.map +1 -1
- package/dist/core/create.js +5 -115
- package/dist/core/create.js.map +1 -1
- package/dist/core/db.d.ts +113 -0
- package/dist/core/db.d.ts.map +1 -0
- package/dist/core/db.js +473 -0
- package/dist/core/db.js.map +1 -0
- package/dist/core/delete.d.ts +4 -4
- package/dist/core/delete.d.ts.map +1 -1
- package/dist/core/delete.js +13 -23
- package/dist/core/delete.js.map +1 -1
- package/dist/core/find.d.ts +22 -42
- package/dist/core/find.d.ts.map +1 -1
- package/dist/core/find.js +29 -171
- package/dist/core/find.js.map +1 -1
- package/dist/core/get.d.ts.map +1 -1
- package/dist/core/get.js +26 -50
- package/dist/core/get.js.map +1 -1
- package/dist/core/manager.d.ts +30 -34
- package/dist/core/manager.d.ts.map +1 -1
- package/dist/core/manager.js +42 -163
- package/dist/core/manager.js.map +1 -1
- package/dist/core/reset.d.ts +12 -7
- package/dist/core/reset.d.ts.map +1 -1
- package/dist/core/reset.js +26 -37
- package/dist/core/reset.js.map +1 -1
- package/dist/core/types.d.ts +0 -72
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +29 -45
- package/dist/core/update.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/core/find.d.ts
CHANGED
|
@@ -1,60 +1,40 @@
|
|
|
1
|
-
import { Group, Id, Match,
|
|
2
|
-
import {
|
|
3
|
-
export declare class Find
|
|
1
|
+
import { Group, Id, Match, Round, Stage } from '../model';
|
|
2
|
+
import type { DrizzleDatabase } from './db';
|
|
3
|
+
export declare class Find {
|
|
4
|
+
private readonly db;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Creates an instance of Find, which will handle finding data in the storage.
|
|
6
7
|
*
|
|
7
|
-
* @param
|
|
8
|
-
*/
|
|
9
|
-
upperBracket(stageId: Id): Promise<Group>;
|
|
10
|
-
/**
|
|
11
|
-
* Gets the loser bracket.
|
|
12
|
-
*
|
|
13
|
-
* @param stageId ID of the stage.
|
|
8
|
+
* @param db The Drizzle database instance.
|
|
14
9
|
*/
|
|
15
|
-
|
|
10
|
+
constructor(db: DrizzleDatabase);
|
|
16
11
|
/**
|
|
17
|
-
* Returns
|
|
18
|
-
*
|
|
19
|
-
* If a `participantId` is given, the previous match _from their point of view_ is returned.
|
|
12
|
+
* Returns a stage by its name.
|
|
20
13
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
14
|
+
* @param tournamentId ID of the tournament.
|
|
15
|
+
* @param name Name of the stage.
|
|
23
16
|
*/
|
|
24
|
-
|
|
17
|
+
stage(tournamentId: Id, name: string): Promise<Stage | null>;
|
|
25
18
|
/**
|
|
26
|
-
* Returns
|
|
19
|
+
* Returns a group by its number.
|
|
27
20
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* - If the participant is eliminated, no match is returned.
|
|
31
|
-
*
|
|
32
|
-
* @param matchId ID of the target match.
|
|
33
|
-
* @param participantId Optional ID of the participant.
|
|
21
|
+
* @param stageId ID of the stage.
|
|
22
|
+
* @param number Number of the group.
|
|
34
23
|
*/
|
|
35
|
-
|
|
24
|
+
group(stageId: Id, number: number): Promise<Group | null>;
|
|
36
25
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* **Example:** In group of id 1, give me the 4th match in the 3rd round.
|
|
26
|
+
* Returns a round by its number in its group.
|
|
40
27
|
*
|
|
41
28
|
* @param groupId ID of the group.
|
|
42
|
-
* @param
|
|
43
|
-
* @param matchNumber Number of the match in its parent round.
|
|
44
|
-
*/
|
|
45
|
-
match(groupId: Id, roundNumber: number, matchNumber: number): Promise<Match>;
|
|
46
|
-
/**
|
|
47
|
-
* Finds a match game based on its `id` or based on the combination of its `parent_id` and `number`.
|
|
48
|
-
*
|
|
49
|
-
* @param game Values to change in a match game.
|
|
29
|
+
* @param number Number of the round in its group.
|
|
50
30
|
*/
|
|
51
|
-
|
|
31
|
+
round(groupId: Id, number: number): Promise<Round | null>;
|
|
52
32
|
/**
|
|
53
|
-
* Returns
|
|
33
|
+
* Returns a match by its number in its round.
|
|
54
34
|
*
|
|
55
|
-
* @param
|
|
56
|
-
* @param
|
|
35
|
+
* @param roundId ID of the round.
|
|
36
|
+
* @param number Number of the match in its round.
|
|
57
37
|
*/
|
|
58
|
-
|
|
38
|
+
match(roundId: Id, number: number): Promise<Match | null>;
|
|
59
39
|
}
|
|
60
40
|
//# sourceMappingURL=find.d.ts.map
|
package/dist/core/find.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/core/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/core/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAG5C,qBAAa,IAAI;IACb,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkB;IAErC;;;;OAIG;gBACS,EAAE,EAAE,eAAe;IAI/B;;;;;OAKG;IACU,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAMzE;;;;;OAKG;IACU,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAItE;;;;;OAKG;IACU,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAItE;;;;;OAKG;IACU,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAGzE"}
|
package/dist/core/find.js
CHANGED
|
@@ -1,194 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { stageDb, groupDb, roundDb, matchDb } from './db';
|
|
2
|
+
export class Find {
|
|
3
|
+
db;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Creates an instance of Find, which will handle finding data in the storage.
|
|
6
6
|
*
|
|
7
|
-
* @param
|
|
7
|
+
* @param db The Drizzle database instance.
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (!stage)
|
|
12
|
-
throw Error('Stage not found.');
|
|
13
|
-
switch (stage.type) {
|
|
14
|
-
case 'round_robin':
|
|
15
|
-
throw Error('Round-robin stages do not have an upper bracket.');
|
|
16
|
-
case 'single_elimination':
|
|
17
|
-
case 'double_elimination':
|
|
18
|
-
return this.getUpperBracket(stageId);
|
|
19
|
-
default:
|
|
20
|
-
throw Error('Unknown stage type.');
|
|
21
|
-
}
|
|
9
|
+
constructor(db) {
|
|
10
|
+
this.db = db;
|
|
22
11
|
}
|
|
23
12
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* @param stageId ID of the stage.
|
|
27
|
-
*/
|
|
28
|
-
async loserBracket(stageId) {
|
|
29
|
-
const stage = await this.storage.select('stage', stageId);
|
|
30
|
-
if (!stage)
|
|
31
|
-
throw Error('Stage not found.');
|
|
32
|
-
switch (stage.type) {
|
|
33
|
-
case 'round_robin':
|
|
34
|
-
throw Error('Round-robin stages do not have a loser bracket.');
|
|
35
|
-
case 'single_elimination':
|
|
36
|
-
throw Error('Single elimination stages do not have a loser bracket.');
|
|
37
|
-
case 'double_elimination':
|
|
38
|
-
const group = await this.getLoserBracket(stageId);
|
|
39
|
-
if (!group)
|
|
40
|
-
throw Error('Loser bracket not found.');
|
|
41
|
-
return group;
|
|
42
|
-
default:
|
|
43
|
-
throw Error('Unknown stage type.');
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Returns the matches leading to the given match.
|
|
48
|
-
*
|
|
49
|
-
* If a `participantId` is given, the previous match _from their point of view_ is returned.
|
|
13
|
+
* Returns a stage by its name.
|
|
50
14
|
*
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
15
|
+
* @param tournamentId ID of the tournament.
|
|
16
|
+
* @param name Name of the stage.
|
|
53
17
|
*/
|
|
54
|
-
async
|
|
55
|
-
const
|
|
56
|
-
if (!
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (!stage)
|
|
60
|
-
throw Error('Stage not found.');
|
|
61
|
-
const group = await this.storage.select('group', match.group_id);
|
|
62
|
-
if (!group)
|
|
63
|
-
throw Error('Group not found.');
|
|
64
|
-
const round = await this.storage.select('round', match.round_id);
|
|
65
|
-
if (!round)
|
|
66
|
-
throw Error('Round not found.');
|
|
67
|
-
const matchLocation = helpers.getMatchLocation(stage.type, group.number);
|
|
68
|
-
const previousMatches = await this.getPreviousMatches(match, matchLocation, stage, round.number);
|
|
69
|
-
if (participantId !== undefined) {
|
|
70
|
-
return previousMatches.filter((m) => helpers.isParticipantInMatch(m, participantId));
|
|
71
|
-
}
|
|
72
|
-
return previousMatches;
|
|
18
|
+
async stage(tournamentId, name) {
|
|
19
|
+
const stages = await stageDb.getByTournament(this.db, tournamentId);
|
|
20
|
+
if (!stages)
|
|
21
|
+
return null;
|
|
22
|
+
return stages.find((stage) => stage.name === name) ?? null;
|
|
73
23
|
}
|
|
74
24
|
/**
|
|
75
|
-
* Returns
|
|
25
|
+
* Returns a group by its number.
|
|
76
26
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* - If the participant is eliminated, no match is returned.
|
|
80
|
-
*
|
|
81
|
-
* @param matchId ID of the target match.
|
|
82
|
-
* @param participantId Optional ID of the participant.
|
|
27
|
+
* @param stageId ID of the stage.
|
|
28
|
+
* @param number Number of the group.
|
|
83
29
|
*/
|
|
84
|
-
async
|
|
85
|
-
|
|
86
|
-
if (!match)
|
|
87
|
-
throw Error('Match not found.');
|
|
88
|
-
const stage = await this.storage.select('stage', match.stage_id);
|
|
89
|
-
if (!stage)
|
|
90
|
-
throw Error('Stage not found.');
|
|
91
|
-
const group = await this.storage.select('group', match.group_id);
|
|
92
|
-
if (!group)
|
|
93
|
-
throw Error('Group not found.');
|
|
94
|
-
const { roundNumber, roundCount } = await this.getRoundPositionalInfo(match.round_id);
|
|
95
|
-
const matchLocation = helpers.getMatchLocation(stage.type, group.number);
|
|
96
|
-
const nextMatches = helpers.getNonNull(await this.getNextMatches(match, matchLocation, stage, roundNumber, roundCount));
|
|
97
|
-
if (participantId !== undefined) {
|
|
98
|
-
if (!helpers.isParticipantInMatch(match, participantId))
|
|
99
|
-
throw Error('The participant does not belong to this match.');
|
|
100
|
-
if (!helpers.isMatchStale(match)) {
|
|
101
|
-
throw Error('The match is not stale yet, so it is not possible to conclude the next matches for this participant.');
|
|
102
|
-
}
|
|
103
|
-
const loser = helpers.getLoser(match);
|
|
104
|
-
if (stage.type === 'single_elimination' &&
|
|
105
|
-
loser?.id === participantId)
|
|
106
|
-
return []; // Eliminated.
|
|
107
|
-
if (stage.type === 'double_elimination') {
|
|
108
|
-
// TODO: refactor `getNextMatches()` to return 1 next match per group. Then we can get rid of `getMatchesByGroupDoubleElimination()`.
|
|
109
|
-
const { winnerBracketMatch, loserBracketMatch, finalGroupMatch, } = await this.getMatchesByGroupDoubleElimination(nextMatches, new Map([[group.id, group]]));
|
|
110
|
-
const winner = helpers.getWinner(match);
|
|
111
|
-
if (matchLocation === 'loser_bracket') {
|
|
112
|
-
if (participantId === loser?.id)
|
|
113
|
-
return []; // Eliminated from lower bracket.
|
|
114
|
-
if (participantId === winner?.id)
|
|
115
|
-
return loserBracketMatch ? [loserBracketMatch] : [];
|
|
116
|
-
}
|
|
117
|
-
else if (matchLocation === 'winner_bracket') {
|
|
118
|
-
if (!loserBracketMatch) {
|
|
119
|
-
throw Error('All matches of winner bracket should lead to loser bracket.');
|
|
120
|
-
}
|
|
121
|
-
if (participantId === loser?.id)
|
|
122
|
-
return [loserBracketMatch]; // Eliminated from upper bracket, going to lower bracket.
|
|
123
|
-
if (participantId === winner?.id)
|
|
124
|
-
return winnerBracketMatch ? [winnerBracketMatch] : [];
|
|
125
|
-
}
|
|
126
|
-
else if (matchLocation === 'final_group') {
|
|
127
|
-
if (!finalGroupMatch) {
|
|
128
|
-
throw Error('All matches of a final group should also lead to the final group.');
|
|
129
|
-
}
|
|
130
|
-
return [finalGroupMatch];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return nextMatches;
|
|
30
|
+
async group(stageId, number) {
|
|
31
|
+
return groupDb.getFirst(this.db, { stage_id: stageId, number });
|
|
135
32
|
}
|
|
136
33
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* **Example:** In group of id 1, give me the 4th match in the 3rd round.
|
|
34
|
+
* Returns a round by its number in its group.
|
|
140
35
|
*
|
|
141
36
|
* @param groupId ID of the group.
|
|
142
|
-
* @param
|
|
143
|
-
* @param matchNumber Number of the match in its parent round.
|
|
144
|
-
*/
|
|
145
|
-
async match(groupId, roundNumber, matchNumber) {
|
|
146
|
-
return this.findMatch(groupId, roundNumber, matchNumber);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Finds a match game based on its `id` or based on the combination of its `parent_id` and `number`.
|
|
150
|
-
*
|
|
151
|
-
* @param game Values to change in a match game.
|
|
37
|
+
* @param number Number of the round in its group.
|
|
152
38
|
*/
|
|
153
|
-
async
|
|
154
|
-
return this.
|
|
39
|
+
async round(groupId, number) {
|
|
40
|
+
return roundDb.getFirst(this.db, { group_id: groupId, number });
|
|
155
41
|
}
|
|
156
42
|
/**
|
|
157
|
-
* Returns
|
|
43
|
+
* Returns a match by its number in its round.
|
|
158
44
|
*
|
|
159
|
-
* @param
|
|
160
|
-
* @param
|
|
45
|
+
* @param roundId ID of the round.
|
|
46
|
+
* @param number Number of the match in its round.
|
|
161
47
|
*/
|
|
162
|
-
async
|
|
163
|
-
|
|
164
|
-
const existing = fetchedGroups.get(groupId);
|
|
165
|
-
if (existing)
|
|
166
|
-
return existing;
|
|
167
|
-
const group = await this.storage.select('group', groupId);
|
|
168
|
-
if (!group)
|
|
169
|
-
throw Error('Group not found.');
|
|
170
|
-
fetchedGroups.set(groupId, group);
|
|
171
|
-
return group;
|
|
172
|
-
};
|
|
173
|
-
let matchByGroupType = {};
|
|
174
|
-
for (const match of matches) {
|
|
175
|
-
const group = await getGroup(match.group_id);
|
|
176
|
-
matchByGroupType = {
|
|
177
|
-
winnerBracketMatch: matchByGroupType['winnerBracketMatch'] ??
|
|
178
|
-
(helpers.isWinnerBracket('double_elimination', group.number)
|
|
179
|
-
? match
|
|
180
|
-
: undefined),
|
|
181
|
-
loserBracketMatch: matchByGroupType['loserBracketMatch'] ??
|
|
182
|
-
(helpers.isLoserBracket('double_elimination', group.number)
|
|
183
|
-
? match
|
|
184
|
-
: undefined),
|
|
185
|
-
finalGroupMatch: matchByGroupType['finalGroupMatch'] ??
|
|
186
|
-
(helpers.isFinalGroup('double_elimination', group.number)
|
|
187
|
-
? match
|
|
188
|
-
: undefined),
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
return matchByGroupType;
|
|
48
|
+
async match(roundId, number) {
|
|
49
|
+
return matchDb.getFirst(this.db, { round_id: roundId, number });
|
|
192
50
|
}
|
|
193
51
|
}
|
|
194
52
|
//# sourceMappingURL=find.js.map
|
package/dist/core/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/core/find.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/core/find.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAM,OAAO,IAAI;IACI,EAAE,CAAkB;IAErC;;;;OAIG;IACH,YAAY,EAAmB;QAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,YAAgB,EAAE,IAAY;QAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,OAAW,EAAE,MAAc;QAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,OAAW,EAAE,MAAc;QAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,OAAW,EAAE,MAAc;QAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;CACJ"}
|
package/dist/core/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/core/get.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EAEL,KAAK,EACL,KAAK,EACL,SAAS,EAGT,EAAE,EACF,WAAW,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,UAAU,EAEV,KAAK,+BAA+B,EACvC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/core/get.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EAEL,KAAK,EACL,KAAK,EACL,SAAS,EAGT,EAAE,EACF,WAAW,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,UAAU,EAEV,KAAK,+BAA+B,EACvC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAY3C,qBAAa,GAAI,SAAQ,UAAU;IAC/B;;;;OAIG;IACU,UAAU,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAM9D;;;;OAIG;IACU,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsBvD;;;;OAIG;IACU,cAAc,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAoCjE;;;;OAIG;IACU,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAc/D;;;;;OAKG;IACU,YAAY,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAiBlE;;;;;;;;;;;;;;OAcG;IACU,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAkB7D;;;;;;;;;;;;;;;;OAgBG;IACU,cAAc,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAsD1D;;;;OAIG;IACU,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB7D;;;;OAIG;IACU,cAAc,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACvE;;;;;OAKG;IACU,cAAc,CACvB,OAAO,EAAE,EAAE,EACX,iBAAiB,EAAE,+BAA+B,GACnD,OAAO,CAAC,WAAW,EAAE,CAAC;IA0CzB;;;;OAIG;YACW,iBAAiB;IAqB/B;;;;OAIG;YACW,kBAAkB;IAahC;;;;;OAKG;YACW,mBAAmB;IAiCjC;;;;OAIG;YACW,0BAA0B;IA8DxC;;;;OAIG;YACW,0BAA0B;IA0ExC;;;;OAIG;YACW,oBAAoB;CAwBrC"}
|
package/dist/core/get.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Status, } from '../model';
|
|
2
2
|
import { BaseGetter } from './base/getter';
|
|
3
3
|
import * as helpers from './helpers';
|
|
4
|
+
import { tournamentDb, stageDb, groupDb, roundDb, matchDb, matchGameDb, participantDb, } from './db';
|
|
4
5
|
export class Get extends BaseGetter {
|
|
5
6
|
/**
|
|
6
7
|
* Returns a tournament by its ID.
|
|
@@ -8,7 +9,7 @@ export class Get extends BaseGetter {
|
|
|
8
9
|
* @param tournamentId ID of the tournament.
|
|
9
10
|
*/
|
|
10
11
|
async tournament(tournamentId) {
|
|
11
|
-
const tournament = await this.
|
|
12
|
+
const tournament = await tournamentDb.getById(this.db, tournamentId);
|
|
12
13
|
if (!tournament)
|
|
13
14
|
throw Error('Tournament not found.');
|
|
14
15
|
return tournament;
|
|
@@ -19,13 +20,11 @@ export class Get extends BaseGetter {
|
|
|
19
20
|
* @param stageId ID of the stage.
|
|
20
21
|
*/
|
|
21
22
|
async stageData(stageId) {
|
|
22
|
-
const stage = await this.
|
|
23
|
+
const stage = await stageDb.getById(this.db, stageId);
|
|
23
24
|
if (!stage)
|
|
24
25
|
throw Error('Stage not found.');
|
|
25
26
|
const stageData = await this.getStageSpecificData(stage.id);
|
|
26
|
-
const participants = await this.
|
|
27
|
-
tournament_id: stage.tournament_id,
|
|
28
|
-
});
|
|
27
|
+
const participants = await participantDb.getByTournament(this.db, stage.tournament_id);
|
|
29
28
|
if (!participants)
|
|
30
29
|
throw Error('Error getting participants.');
|
|
31
30
|
return {
|
|
@@ -43,15 +42,11 @@ export class Get extends BaseGetter {
|
|
|
43
42
|
* @param tournamentId ID of the tournament.
|
|
44
43
|
*/
|
|
45
44
|
async tournamentData(tournamentId) {
|
|
46
|
-
const stages = await this.
|
|
47
|
-
tournament_id: tournamentId,
|
|
48
|
-
});
|
|
45
|
+
const stages = await stageDb.getByTournament(this.db, tournamentId);
|
|
49
46
|
if (!stages)
|
|
50
47
|
throw Error('Error getting stages.');
|
|
51
48
|
const stagesData = await Promise.all(stages.map((stage) => this.getStageSpecificData(stage.id)));
|
|
52
|
-
const participants = await this.
|
|
53
|
-
tournament_id: tournamentId,
|
|
54
|
-
});
|
|
49
|
+
const participants = await participantDb.getByTournament(this.db, tournamentId);
|
|
55
50
|
if (!participants)
|
|
56
51
|
throw Error('Error getting participants.');
|
|
57
52
|
return {
|
|
@@ -70,7 +65,7 @@ export class Get extends BaseGetter {
|
|
|
70
65
|
*/
|
|
71
66
|
async matchGames(matches) {
|
|
72
67
|
const parentMatches = matches.filter((match) => match.child_count > 0);
|
|
73
|
-
const matchGamesQueries = await Promise.all(parentMatches.map((match) => this.
|
|
68
|
+
const matchGamesQueries = await Promise.all(parentMatches.map((match) => matchGameDb.getByParent(this.db, match.id)));
|
|
74
69
|
if (matchGamesQueries.some((game) => game === null))
|
|
75
70
|
throw Error('Error getting match games.');
|
|
76
71
|
return helpers.getNonNull(matchGamesQueries).flat();
|
|
@@ -82,15 +77,11 @@ export class Get extends BaseGetter {
|
|
|
82
77
|
* @param tournamentId ID of the tournament.
|
|
83
78
|
*/
|
|
84
79
|
async currentStage(tournamentId) {
|
|
85
|
-
const stages = await this.
|
|
86
|
-
tournament_id: tournamentId,
|
|
87
|
-
});
|
|
80
|
+
const stages = await stageDb.getByTournament(this.db, tournamentId);
|
|
88
81
|
if (!stages)
|
|
89
82
|
throw Error('Error getting stages.');
|
|
90
83
|
for (const stage of stages) {
|
|
91
|
-
const matches = await this.
|
|
92
|
-
stage_id: stage.id,
|
|
93
|
-
});
|
|
84
|
+
const matches = await matchDb.getByStage(this.db, stage.id);
|
|
94
85
|
if (!matches)
|
|
95
86
|
throw Error('Error getting matches.');
|
|
96
87
|
if (matches.every((match) => match.status >= Status.Completed))
|
|
@@ -115,16 +106,14 @@ export class Get extends BaseGetter {
|
|
|
115
106
|
* ```
|
|
116
107
|
*/
|
|
117
108
|
async currentRound(stageId) {
|
|
118
|
-
const matches = await this.
|
|
119
|
-
stage_id: stageId,
|
|
120
|
-
});
|
|
109
|
+
const matches = await matchDb.getByStage(this.db, stageId);
|
|
121
110
|
if (!matches)
|
|
122
111
|
throw Error('Error getting matches.');
|
|
123
112
|
const matchesByRound = helpers.splitBy(matches, 'round_id');
|
|
124
113
|
for (const roundMatches of matchesByRound) {
|
|
125
114
|
if (roundMatches.every((match) => match.status >= Status.Completed))
|
|
126
115
|
continue;
|
|
127
|
-
const round = await this.
|
|
116
|
+
const round = await roundDb.getById(this.db, roundMatches[0].round_id);
|
|
128
117
|
if (!round)
|
|
129
118
|
throw Error('Round not found.');
|
|
130
119
|
return round;
|
|
@@ -149,7 +138,7 @@ export class Get extends BaseGetter {
|
|
|
149
138
|
* ```
|
|
150
139
|
*/
|
|
151
140
|
async currentMatches(stageId) {
|
|
152
|
-
const stage = await this.
|
|
141
|
+
const stage = await stageDb.getById(this.db, stageId);
|
|
153
142
|
if (!stage)
|
|
154
143
|
throw Error('Stage not found.');
|
|
155
144
|
// TODO: Implement this for all stage types.
|
|
@@ -158,9 +147,7 @@ export class Get extends BaseGetter {
|
|
|
158
147
|
if (stage.type !== 'single_elimination') {
|
|
159
148
|
throw Error('Not implemented for round robin and double elimination. Ask if needed.');
|
|
160
149
|
}
|
|
161
|
-
const matches = await this.
|
|
162
|
-
stage_id: stageId,
|
|
163
|
-
});
|
|
150
|
+
const matches = await matchDb.getByStage(this.db, stageId);
|
|
164
151
|
if (!matches)
|
|
165
152
|
throw Error('Error getting matches.');
|
|
166
153
|
const matchesByRound = helpers.splitBy(matches, 'round_id');
|
|
@@ -191,7 +178,7 @@ export class Get extends BaseGetter {
|
|
|
191
178
|
* @param stageId ID of the stage.
|
|
192
179
|
*/
|
|
193
180
|
async seeding(stageId) {
|
|
194
|
-
const stage = await this.
|
|
181
|
+
const stage = await stageDb.getById(this.db, stageId);
|
|
195
182
|
if (!stage)
|
|
196
183
|
throw Error('Stage not found.');
|
|
197
184
|
const pickRelevantProps = (slot) => {
|
|
@@ -206,7 +193,7 @@ export class Get extends BaseGetter {
|
|
|
206
193
|
}
|
|
207
194
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
208
195
|
async finalStandings(stageId, roundRobinOptions) {
|
|
209
|
-
const stage = await this.
|
|
196
|
+
const stage = await stageDb.getById(this.db, stageId);
|
|
210
197
|
if (!stage)
|
|
211
198
|
throw Error('Stage not found.');
|
|
212
199
|
switch (stage.type) {
|
|
@@ -240,9 +227,7 @@ export class Get extends BaseGetter {
|
|
|
240
227
|
async roundRobinSeeding(stage) {
|
|
241
228
|
if (stage.settings.size === undefined)
|
|
242
229
|
throw Error('The size of the seeding is undefined.');
|
|
243
|
-
const matches = await this.
|
|
244
|
-
stage_id: stage.id,
|
|
245
|
-
});
|
|
230
|
+
const matches = await matchDb.getByStage(this.db, stage.id);
|
|
246
231
|
if (!matches)
|
|
247
232
|
throw Error('Error getting matches.');
|
|
248
233
|
const slots = helpers.convertMatchesToSeeding(matches);
|
|
@@ -263,12 +248,13 @@ export class Get extends BaseGetter {
|
|
|
263
248
|
* @param stage The stage.
|
|
264
249
|
*/
|
|
265
250
|
async eliminationSeeding(stage) {
|
|
266
|
-
const firstRound = await this.
|
|
251
|
+
const firstRound = await roundDb.getFirst(this.db, {
|
|
252
|
+
stage_id: stage.id,
|
|
253
|
+
number: 1,
|
|
254
|
+
});
|
|
267
255
|
if (!firstRound)
|
|
268
256
|
throw Error('Error getting the first round.');
|
|
269
|
-
const matches = await this.
|
|
270
|
-
round_id: firstRound.id,
|
|
271
|
-
});
|
|
257
|
+
const matches = await matchDb.getByRound(this.db, firstRound.id);
|
|
272
258
|
if (!matches)
|
|
273
259
|
throw Error('Error getting matches.');
|
|
274
260
|
return helpers.convertMatchesToSeeding(matches);
|
|
@@ -280,14 +266,10 @@ export class Get extends BaseGetter {
|
|
|
280
266
|
* @param roundRobinOptions The options for the round-robin standings.
|
|
281
267
|
*/
|
|
282
268
|
async roundRobinStandings(stage, roundRobinOptions) {
|
|
283
|
-
const participants = await this.
|
|
284
|
-
tournament_id: stage.tournament_id,
|
|
285
|
-
});
|
|
269
|
+
const participants = await participantDb.getByTournament(this.db, stage.tournament_id);
|
|
286
270
|
if (!participants)
|
|
287
271
|
throw Error('Error getting participants.');
|
|
288
|
-
const matches = await this.
|
|
289
|
-
stage_id: stage.id,
|
|
290
|
-
});
|
|
272
|
+
const matches = await matchDb.getByStage(this.db, stage.id);
|
|
291
273
|
if (!matches)
|
|
292
274
|
throw Error('Error getting matches.');
|
|
293
275
|
const matchesByGroup = helpers.splitBy(matches, 'group_id');
|
|
@@ -392,19 +374,13 @@ export class Get extends BaseGetter {
|
|
|
392
374
|
* @param stageId ID of the stage.
|
|
393
375
|
*/
|
|
394
376
|
async getStageSpecificData(stageId) {
|
|
395
|
-
const groups = await this.
|
|
396
|
-
stage_id: stageId,
|
|
397
|
-
});
|
|
377
|
+
const groups = await groupDb.getByStage(this.db, stageId);
|
|
398
378
|
if (!groups)
|
|
399
379
|
throw Error('Error getting groups.');
|
|
400
|
-
const rounds = await this.
|
|
401
|
-
stage_id: stageId,
|
|
402
|
-
});
|
|
380
|
+
const rounds = await roundDb.getByStage(this.db, stageId);
|
|
403
381
|
if (!rounds)
|
|
404
382
|
throw Error('Error getting rounds.');
|
|
405
|
-
const matches = await this.
|
|
406
|
-
stage_id: stageId,
|
|
407
|
-
});
|
|
383
|
+
const matches = await matchDb.getByStage(this.db, stageId);
|
|
408
384
|
if (!matches)
|
|
409
385
|
throw Error('Error getting matches.');
|
|
410
386
|
const matchGames = await this.matchGames(matches);
|
package/dist/core/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/core/get.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/core/get.ts"],"names":[],"mappings":"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"}
|