jp.db.schemas 2.0.4 → 2.0.5
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/models/tournament-template.enum.d.ts +4 -0
- package/dist/models/tournament-template.enum.d.ts.map +1 -0
- package/dist/models/tournament-template.enum.js +8 -0
- package/dist/models/tournament-template.enum.js.map +1 -0
- package/dist/repositories/tournament-many-tables-rooms.repository.d.ts +1 -2
- package/dist/repositories/tournament-many-tables-rooms.repository.d.ts.map +1 -1
- package/dist/repositories/tournament-many-tables-rooms.repository.js +1 -2
- package/dist/repositories/tournament-many-tables-rooms.repository.js.map +1 -1
- package/dist/repositories/tournament-one-table-rooms.repository.d.ts +3 -1
- package/dist/repositories/tournament-one-table-rooms.repository.d.ts.map +1 -1
- package/dist/repositories/tournament-one-table-rooms.repository.js +14 -4
- package/dist/repositories/tournament-one-table-rooms.repository.js.map +1 -1
- package/package.json +1 -1
- package/src/models/tournament-template.enum.ts +3 -0
- package/src/repositories/tournament-many-tables-rooms.repository.ts +1 -2
- package/src/repositories/tournament-one-table-rooms.repository.ts +22 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tournament-template.enum.d.ts","sourceRoot":"","sources":["../../src/models/tournament-template.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAC9B,MAAM,WAAW;CACpB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TournamentTemplateEnum = void 0;
|
|
4
|
+
var TournamentTemplateEnum;
|
|
5
|
+
(function (TournamentTemplateEnum) {
|
|
6
|
+
TournamentTemplateEnum["MASTER"] = "MASTER";
|
|
7
|
+
})(TournamentTemplateEnum || (exports.TournamentTemplateEnum = TournamentTemplateEnum = {}));
|
|
8
|
+
//# sourceMappingURL=tournament-template.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tournament-template.enum.js","sourceRoot":"","sources":["../../src/models/tournament-template.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAC9B,2CAAiB,CAAA;AACrB,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Model } from 'mongoose';
|
|
2
2
|
import { TournamentManyTablesRoom, TournamentManyTablesRoomDocument, TournamentOneTableRoomDocument } from '../';
|
|
3
|
-
import { ITournamentParticipant } from '../models/tournament-participant.interface';
|
|
4
3
|
import { ITournamentWinner } from '../models/tournament-winner.interface';
|
|
5
4
|
export declare class TournamentManyTablesRoomsRepository {
|
|
6
5
|
private tournamentModel;
|
|
@@ -11,7 +10,7 @@ export declare class TournamentManyTablesRoomsRepository {
|
|
|
11
10
|
createTournament(tournament: Partial<TournamentManyTablesRoom>): Promise<TournamentManyTablesRoomDocument>;
|
|
12
11
|
updateTournament(tournamentId: string, tournament: Partial<TournamentManyTablesRoom>): Promise<void>;
|
|
13
12
|
removeTournament(tournamentId: string): Promise<void>;
|
|
14
|
-
startTournament(tournamentId: string
|
|
13
|
+
startTournament(tournamentId: string): Promise<void>;
|
|
15
14
|
cancelTournament(tournamentId: string): Promise<void>;
|
|
16
15
|
finishTournament(tournamentId: string, winners: Array<ITournamentWinner>): Promise<void>;
|
|
17
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tournament-many-tables-rooms.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/tournament-many-tables-rooms.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAEH,wBAAwB,EACxB,gCAAgC,EAAE,8BAA8B,EACnE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tournament-many-tables-rooms.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/tournament-many-tables-rooms.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAEH,wBAAwB,EACxB,gCAAgC,EAAE,8BAA8B,EACnE,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBACa,mCAAmC;IACa,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,KAAK,CAAC,gCAAgC,CAAC;IAGnH,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAMvG,kBAAkB,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC;IAM3F,eAAe,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAMpF,gBAAgB,CAAE,UAAU,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAI3G,gBAAgB,CAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9F,gBAAgB,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,eAAe,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD,gBAAgB,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,gBAAgB,CAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAWlG"}
|
|
@@ -48,12 +48,11 @@ let TournamentManyTablesRoomsRepository = class TournamentManyTablesRoomsReposit
|
|
|
48
48
|
async removeTournament(tournamentId) {
|
|
49
49
|
await this.tournamentModel.findByIdAndDelete(tournamentId);
|
|
50
50
|
}
|
|
51
|
-
async startTournament(tournamentId
|
|
51
|
+
async startTournament(tournamentId) {
|
|
52
52
|
await this.tournamentModel.findByIdAndUpdate(tournamentId, {
|
|
53
53
|
$set: {
|
|
54
54
|
startDate: new Date(),
|
|
55
55
|
status: tournament_status_enum_1.TournamentStatusEnum.STATE_IN_PROGRESS,
|
|
56
|
-
participants,
|
|
57
56
|
},
|
|
58
57
|
}).exec();
|
|
59
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tournament-many-tables-rooms.repository.js","sourceRoot":"","sources":["../../src/repositories/tournament-many-tables-rooms.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA+C;AAC/C,uCAAiC;AAEjC,2BAIa;AAEb,6EAAwE;AAIjE,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAC5C,YAAiE,eAAwD;QAAxD,oBAAe,GAAf,eAAe,CAAyC;IACzH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAAkB,EAAE,QAAgB;QACxD,OAAO,IAAI,CAAC,eAAe;aACtB,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;aACjC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,YAAoB;QAC1C,OAAO,IAAI,CAAC,eAAe;aACtB,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,QAAgB;QACnC,OAAO,IAAI,CAAC,eAAe;aACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;aACrC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAA6C;QACjE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB,EAAE,UAA6C;QACvF,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,oBACG,UAAU,CAChB;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAE,YAAoB;QAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,YAAoB
|
|
1
|
+
{"version":3,"file":"tournament-many-tables-rooms.repository.js","sourceRoot":"","sources":["../../src/repositories/tournament-many-tables-rooms.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA+C;AAC/C,uCAAiC;AAEjC,2BAIa;AAEb,6EAAwE;AAIjE,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAC5C,YAAiE,eAAwD;QAAxD,oBAAe,GAAf,eAAe,CAAyC;IACzH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAAkB,EAAE,QAAgB;QACxD,OAAO,IAAI,CAAC,eAAe;aACtB,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;aACjC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,YAAoB;QAC1C,OAAO,IAAI,CAAC,eAAe;aACtB,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,QAAgB;QACnC,OAAO,IAAI,CAAC,eAAe;aACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;aACrC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAA6C;QACjE,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB,EAAE,UAA6C;QACvF,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,oBACG,UAAU,CAChB;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAE,YAAoB;QAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,YAAoB;QACvC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,6CAAoB,CAAC,iBAAiB;aACjD;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB;QACxC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,MAAM,EAAE,6CAAoB,CAAC,eAAe;aAC/C;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB,EAAE,OAAiC;QAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,MAAM,EAAE,6CAAoB,CAAC,cAAc;gBAC3C,OAAO;aACV;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;CACJ,CAAA;AAzEY,kFAAmC;8CAAnC,mCAAmC;IAD/C,IAAA,mBAAU,GAAE;IAEK,WAAA,IAAA,sBAAW,EAAC,4BAAwB,CAAC,IAAI,CAAC,CAAA;qCAA0B,gBAAK;GAD9E,mCAAmC,CAyE/C"}
|
|
@@ -5,10 +5,12 @@ import { ITournamentWinner } from '../models/tournament-winner.interface';
|
|
|
5
5
|
export declare class TournamentOneTableRoomsRepository {
|
|
6
6
|
private tournamentModel;
|
|
7
7
|
constructor(tournamentModel: Model<TournamentOneTableRoomDocument>);
|
|
8
|
-
findTemplateById(templateId: string, gameType: string): Promise<TournamentOneTableRoomDocument | null>;
|
|
9
8
|
findTournamentById(tournamentId: string): Promise<TournamentOneTableRoomDocument | null>;
|
|
9
|
+
findTemplateById(templateId: string, gameType: string): Promise<TournamentOneTableRoomDocument | null>;
|
|
10
10
|
findTournaments(gameType: string): Promise<Array<TournamentOneTableRoomDocument>>;
|
|
11
|
+
findWaitingTournament(gameType: string): Promise<TournamentOneTableRoomDocument | null>;
|
|
11
12
|
createTournament(tournament: Partial<TournamentOneTableRoom>): Promise<TournamentOneTableRoomDocument>;
|
|
13
|
+
createTournamentFromMasterTemplate(gameType: string): Promise<TournamentOneTableRoomDocument>;
|
|
12
14
|
startTournament(tournamentId: string, participants: Array<ITournamentParticipant>): Promise<void>;
|
|
13
15
|
cancelTournament(tournamentId: string): Promise<void>;
|
|
14
16
|
finishTournament(tournamentId: string, winners: Array<ITournamentWinner>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tournament-one-table-rooms.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/tournament-one-table-rooms.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,KAAK,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"tournament-one-table-rooms.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/tournament-one-table-rooms.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,KAAK,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,qBACa,iCAAiC;IACa,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,KAAK,CAAC,8BAA8B,CAAC;IAG/G,kBAAkB,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAMzF,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAMvG,eAAe,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAMlF,qBAAqB,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAMxF,gBAAgB,CAAE,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIvG,kCAAkC,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAU9F,eAAe,CAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlG,gBAAgB,CAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,gBAAgB,CAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAWlG"}
|
|
@@ -18,18 +18,19 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
18
18
|
const mongoose_2 = require("mongoose");
|
|
19
19
|
const __1 = require("../");
|
|
20
20
|
const tournament_status_enum_1 = require("../models/tournament-status.enum");
|
|
21
|
+
const tournament_template_enum_1 = require("../models/tournament-template.enum");
|
|
21
22
|
let TournamentOneTableRoomsRepository = class TournamentOneTableRoomsRepository {
|
|
22
23
|
constructor(tournamentModel) {
|
|
23
24
|
this.tournamentModel = tournamentModel;
|
|
24
25
|
}
|
|
25
|
-
async
|
|
26
|
+
async findTournamentById(tournamentId) {
|
|
26
27
|
return this.tournamentModel
|
|
27
|
-
.
|
|
28
|
+
.findById(tournamentId)
|
|
28
29
|
.exec();
|
|
29
30
|
}
|
|
30
|
-
async
|
|
31
|
+
async findTemplateById(templateId, gameType) {
|
|
31
32
|
return this.tournamentModel
|
|
32
|
-
.
|
|
33
|
+
.findOne({ isTemplate: true, templateId, gameType })
|
|
33
34
|
.exec();
|
|
34
35
|
}
|
|
35
36
|
async findTournaments(gameType) {
|
|
@@ -37,9 +38,18 @@ let TournamentOneTableRoomsRepository = class TournamentOneTableRoomsRepository
|
|
|
37
38
|
.find({ gameType, isTemplate: false })
|
|
38
39
|
.exec();
|
|
39
40
|
}
|
|
41
|
+
async findWaitingTournament(gameType) {
|
|
42
|
+
return this.tournamentModel
|
|
43
|
+
.findOne({ gameType, status: tournament_status_enum_1.TournamentStatusEnum.STATE_WAITING_FOR_START })
|
|
44
|
+
.exec();
|
|
45
|
+
}
|
|
40
46
|
async createTournament(tournament) {
|
|
41
47
|
return this.tournamentModel.create(tournament);
|
|
42
48
|
}
|
|
49
|
+
async createTournamentFromMasterTemplate(gameType) {
|
|
50
|
+
const masterTemplate = await this.findTemplateById(tournament_template_enum_1.TournamentTemplateEnum.MASTER, gameType);
|
|
51
|
+
return this.createTournament(Object.assign(Object.assign({}, masterTemplate), { isTemplate: false, templateId: undefined }));
|
|
52
|
+
}
|
|
43
53
|
async startTournament(tournamentId, participants) {
|
|
44
54
|
await this.tournamentModel.findByIdAndUpdate(tournamentId, {
|
|
45
55
|
$set: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tournament-one-table-rooms.repository.js","sourceRoot":"","sources":["../../src/repositories/tournament-one-table-rooms.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA+C;AAC/C,uCAAiC;AAEjC,2BAA6E;AAE7E,6EAAwE;
|
|
1
|
+
{"version":3,"file":"tournament-one-table-rooms.repository.js","sourceRoot":"","sources":["../../src/repositories/tournament-one-table-rooms.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA+C;AAC/C,uCAAiC;AAEjC,2BAA6E;AAE7E,6EAAwE;AAExE,iFAA4E;AAGrE,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAC1C,YAA+D,eAAsD;QAAtD,oBAAe,GAAf,eAAe,CAAuC;IACrH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,YAAoB;QAC1C,OAAO,IAAI,CAAC,eAAe;aACtB,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAAkB,EAAE,QAAgB;QACxD,OAAO,IAAI,CAAC,eAAe;aACtB,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;aACnD,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,QAAgB;QACnC,OAAO,IAAI,CAAC,eAAe;aACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;aACrC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAE,QAAgB;QACzC,OAAO,IAAI,CAAC,eAAe;aACtB,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,6CAAoB,CAAC,uBAAuB,EAAE,CAAC;aAC3E,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,UAA2C;QAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAE,QAAgB;QACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5F,OAAO,IAAI,CAAC,gBAAgB,iCACrB,cAAc,KACjB,UAAU,EAAE,KAAK,EACjB,UAAU,EAAE,SAAS,IACvB,CAAC;IACP,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,YAAoB,EAAE,YAA2C;QACpF,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,6CAAoB,CAAC,iBAAiB;gBAC9C,YAAY;aACf;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB;QACxC,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,MAAM,EAAE,6CAAoB,CAAC,eAAe;aAC/C;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,YAAoB,EAAE,OAAiC;QAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACxC,YAAY,EACZ;YACI,IAAI,EAAE;gBACF,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,MAAM,EAAE,6CAAoB,CAAC,cAAc;gBAC3C,OAAO;aACV;SACJ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;CACJ,CAAA;AA5EY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,mBAAU,GAAE;IAEK,WAAA,IAAA,sBAAW,EAAC,0BAAsB,CAAC,IAAI,CAAC,CAAA;qCAA0B,gBAAK;GAD5E,iCAAiC,CA4E7C"}
|
package/package.json
CHANGED
|
@@ -52,14 +52,13 @@ export class TournamentManyTablesRoomsRepository {
|
|
|
52
52
|
await this.tournamentModel.findByIdAndDelete(tournamentId);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
async startTournament (tournamentId: string
|
|
55
|
+
async startTournament (tournamentId: string): Promise<void> {
|
|
56
56
|
await this.tournamentModel.findByIdAndUpdate(
|
|
57
57
|
tournamentId,
|
|
58
58
|
{
|
|
59
59
|
$set: {
|
|
60
60
|
startDate: new Date(),
|
|
61
61
|
status: TournamentStatusEnum.STATE_IN_PROGRESS,
|
|
62
|
-
participants,
|
|
63
62
|
},
|
|
64
63
|
}).exec();
|
|
65
64
|
}
|
|
@@ -6,21 +6,22 @@ import { TournamentOneTableRoom, TournamentOneTableRoomDocument } from '../';
|
|
|
6
6
|
import { ITournamentParticipant } from '../models/tournament-participant.interface';
|
|
7
7
|
import { TournamentStatusEnum } from '../models/tournament-status.enum';
|
|
8
8
|
import { ITournamentWinner } from '../models/tournament-winner.interface';
|
|
9
|
+
import { TournamentTemplateEnum } from '../models/tournament-template.enum';
|
|
9
10
|
|
|
10
11
|
@Injectable()
|
|
11
12
|
export class TournamentOneTableRoomsRepository {
|
|
12
13
|
constructor (@InjectModel(TournamentOneTableRoom.name) private tournamentModel: Model<TournamentOneTableRoomDocument>) {
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
async
|
|
16
|
+
async findTournamentById (tournamentId: string): Promise<TournamentOneTableRoomDocument | null> {
|
|
16
17
|
return this.tournamentModel
|
|
17
|
-
.
|
|
18
|
+
.findById(tournamentId)
|
|
18
19
|
.exec();
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
async
|
|
22
|
+
async findTemplateById (templateId: string, gameType: string): Promise<TournamentOneTableRoomDocument | null> {
|
|
22
23
|
return this.tournamentModel
|
|
23
|
-
.
|
|
24
|
+
.findOne({ isTemplate: true, templateId, gameType })
|
|
24
25
|
.exec();
|
|
25
26
|
}
|
|
26
27
|
|
|
@@ -30,8 +31,24 @@ export class TournamentOneTableRoomsRepository {
|
|
|
30
31
|
.exec();
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
async findWaitingTournament (gameType: string): Promise<TournamentOneTableRoomDocument | null> {
|
|
35
|
+
return this.tournamentModel
|
|
36
|
+
.findOne({ gameType, status: TournamentStatusEnum.STATE_WAITING_FOR_START })
|
|
37
|
+
.exec();
|
|
38
|
+
}
|
|
39
|
+
|
|
33
40
|
async createTournament (tournament: Partial<TournamentOneTableRoom>): Promise<TournamentOneTableRoomDocument> {
|
|
34
|
-
return this.tournamentModel.create(tournament)
|
|
41
|
+
return this.tournamentModel.create(tournament);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async createTournamentFromMasterTemplate (gameType: string): Promise<TournamentOneTableRoomDocument> {
|
|
45
|
+
const masterTemplate = await this.findTemplateById(TournamentTemplateEnum.MASTER, gameType);
|
|
46
|
+
|
|
47
|
+
return this.createTournament({
|
|
48
|
+
...masterTemplate,
|
|
49
|
+
isTemplate: false,
|
|
50
|
+
templateId: undefined,
|
|
51
|
+
});
|
|
35
52
|
}
|
|
36
53
|
|
|
37
54
|
async startTournament (tournamentId: string, participants: Array<ITournamentParticipant>): Promise<void> {
|