jp.ms.common.modules 1.0.43 → 1.0.44
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/common/rooms-manager.service.d.ts +61 -0
- package/dist/common/rooms-manager.service.js +148 -0
- package/dist/common/rooms-manager.service.js.map +1 -0
- package/dist/common/tournament-rooms-manager.service.d.ts +10 -0
- package/dist/common/tournament-rooms-manager.service.js +66 -0
- package/dist/common/tournament-rooms-manager.service.js.map +1 -0
- package/dist/dto/games/fool/fool-table.dto.d.ts +0 -1
- package/dist/dto/games/fool/fool-table.dto.js +0 -10
- package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
- package/dist/exception/global-exception-filter.d.ts +2 -0
- package/dist/exception/global-exception-filter.js +23 -17
- package/dist/exception/global-exception-filter.js.map +1 -1
- package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +3 -0
- package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +33 -23
- package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
- package/dist/modules/base-achievements/base-achievements.constants.d.ts +1 -0
- package/dist/modules/base-achievements/base-achievements.constants.js +5 -0
- package/dist/modules/base-achievements/base-achievements.constants.js.map +1 -0
- package/dist/modules/base-achievements/base-achievements.interfaces.d.ts +15 -0
- package/dist/modules/base-achievements/base-achievements.interfaces.js +3 -0
- package/dist/modules/base-achievements/base-achievements.interfaces.js.map +1 -0
- package/dist/modules/base-achievements/base-achievements.module.d.ts +29 -7
- package/dist/modules/base-achievements/base-achievements.module.js +166 -76
- package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
- package/dist/modules/base-achievements/index.d.ts +2 -0
- package/dist/modules/base-achievements/index.js +3 -1
- package/dist/modules/base-achievements/index.js.map +1 -1
- package/dist/modules/event-bus/events-bus.app.subscribe.service.d.ts +3 -3
- package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
- package/dist/modules/index.d.ts +1 -1
- package/dist/modules/index.js +4 -3
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/main/main.service.js +8 -6
- package/dist/modules/main/main.service.js.map +1 -1
- package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +1 -1
- package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.d.ts +1 -0
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js +4 -0
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -1
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts +7 -5
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js +58 -38
- package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -1
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.d.ts +1 -0
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js +4 -0
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -1
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts +7 -5
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js +55 -35
- package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -1
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.interfaces.d.ts +1 -0
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +4 -0
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +7 -5
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +53 -20
- package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/views/achievement-snackbar.view.d.ts +8 -0
- package/dist/views/achievement-snackbar.view.js +26 -0
- package/dist/views/achievement-snackbar.view.js.map +1 -0
- package/dist/views/base-table.view.d.ts +13 -0
- package/dist/views/base-table.view.js +34 -0
- package/dist/views/base-table.view.js.map +1 -0
- package/dist/views/index.d.ts +3 -0
- package/dist/views/index.js +7 -1
- package/dist/views/index.js.map +1 -1
- package/dist/views/level-up-snackbar.view.d.ts +7 -0
- package/dist/views/level-up-snackbar.view.js +26 -0
- package/dist/views/level-up-snackbar.view.js.map +1 -0
- package/package.json +5 -5
- package/src/common/rooms-manager.service.ts +250 -0
- package/src/common/tournament-rooms-manager.service.ts +121 -0
- package/src/dto/games/fool/fool-table.dto.ts +0 -8
- package/src/exception/global-exception-filter.ts +34 -20
- package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +48 -35
- package/src/modules/base-achievements/base-achievements.constants.ts +1 -0
- package/src/modules/base-achievements/base-achievements.interfaces.ts +22 -0
- package/src/modules/base-achievements/base-achievements.module.ts +347 -234
- package/src/modules/base-achievements/index.ts +5 -0
- package/src/modules/event-bus/events-bus.app.subscribe.service.ts +5 -5
- package/src/modules/index.ts +6 -1
- package/src/modules/main/main.service.ts +7 -5
- package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +1 -1
- package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +1 -0
- package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +7 -0
- package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +89 -41
- package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +1 -0
- package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +7 -0
- package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +89 -40
- package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +1 -0
- package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +7 -0
- package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +79 -33
- package/src/views/achievement-snackbar.view.ts +38 -0
- package/src/views/base-table.view.ts +57 -0
- package/src/views/index.ts +3 -0
- package/src/views/level-up-snackbar.view.ts +38 -0
- package/dist/utils/date.d.ts +0 -2
- package/dist/utils/date.js +0 -11
- package/dist/utils/date.js.map +0 -1
- package/dist/utils/game-table-result.d.ts +0 -40
- package/dist/utils/game-table-result.js +0 -152
- package/dist/utils/game-table-result.js.map +0 -1
- package/src/utils/date.ts +0 -7
- package/src/utils/game-table-result.ts +0 -190
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IActivityLogGameResult } from 'jp.db.schemas';
|
|
2
|
+
import { GameMaster, GamePlayerMovedOnTheTableEvent, GameTableFinishedEvent } from 'jp.ms.common.engine';
|
|
3
|
+
import { EventsBusAppSubscribeService } from '../modules/event-bus';
|
|
4
|
+
export interface IUserGameResult {
|
|
5
|
+
userId: string;
|
|
6
|
+
userName: string;
|
|
7
|
+
userAvatarUrl: string;
|
|
8
|
+
balanceAdding: number;
|
|
9
|
+
experienceAdding: number;
|
|
10
|
+
levelAdding: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class RoomsManagerService {
|
|
13
|
+
protected getGameTableResults(master: GameMaster): {
|
|
14
|
+
gameType: string;
|
|
15
|
+
gameId: string;
|
|
16
|
+
roomId: string;
|
|
17
|
+
date: Date;
|
|
18
|
+
pot: number;
|
|
19
|
+
players: {
|
|
20
|
+
userId: string;
|
|
21
|
+
fullName: string;
|
|
22
|
+
profit: number;
|
|
23
|
+
figures: never[];
|
|
24
|
+
}[];
|
|
25
|
+
winners: {
|
|
26
|
+
userId: string;
|
|
27
|
+
fullName: string;
|
|
28
|
+
profit: number;
|
|
29
|
+
figures: never[];
|
|
30
|
+
}[];
|
|
31
|
+
history: {
|
|
32
|
+
userId: string;
|
|
33
|
+
fullName: string;
|
|
34
|
+
date: Date;
|
|
35
|
+
actionType: string;
|
|
36
|
+
state: string;
|
|
37
|
+
turnNumber: number;
|
|
38
|
+
moveAction: string | undefined;
|
|
39
|
+
moveData: import("jp.ms.common.engine").BaseMoveData | undefined;
|
|
40
|
+
figures: {
|
|
41
|
+
figureId: number;
|
|
42
|
+
type: string;
|
|
43
|
+
name: string;
|
|
44
|
+
}[];
|
|
45
|
+
}[];
|
|
46
|
+
};
|
|
47
|
+
protected getGameTableActivityLogResult(master: GameMaster): IActivityLogGameResult;
|
|
48
|
+
protected getUserGameResults(master: GameMaster, addBalance: boolean): IUserGameResult[];
|
|
49
|
+
protected commitExperience(master: GameMaster, userGameResults: IUserGameResult[], event: GameTableFinishedEvent, eventsBusAppSubscribeService: EventsBusAppSubscribeService, levelUpBonus: number): void;
|
|
50
|
+
protected getUserRatings(master: GameMaster): {
|
|
51
|
+
userId: string;
|
|
52
|
+
userName: string;
|
|
53
|
+
userAvatarUrl: string;
|
|
54
|
+
profit: number;
|
|
55
|
+
game: string;
|
|
56
|
+
}[];
|
|
57
|
+
protected handleRoomTableGamePlayerMoved: (event: GamePlayerMovedOnTheTableEvent, eventsBusAppSubscribeService: EventsBusAppSubscribeService) => void;
|
|
58
|
+
protected processGameFinishEvent(event: GameTableFinishedEvent, eventsBusAppSubscribeService: EventsBusAppSubscribeService): void;
|
|
59
|
+
private processLevelUp;
|
|
60
|
+
private processFinishEvent;
|
|
61
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RoomsManagerService = void 0;
|
|
4
|
+
const jp_ms_common_engine_1 = require("jp.ms.common.engine");
|
|
5
|
+
const views_1 = require("../views");
|
|
6
|
+
class RoomsManagerService {
|
|
7
|
+
getGameTableResults(master) {
|
|
8
|
+
return {
|
|
9
|
+
gameType: master.getRoom().getGameType(),
|
|
10
|
+
gameId: master.getGameRound()?.getId() ?? '',
|
|
11
|
+
roomId: master.getRoom().getId(),
|
|
12
|
+
date: new Date(),
|
|
13
|
+
pot: master.getGameRound()?.getPot() ?? 0,
|
|
14
|
+
players: master
|
|
15
|
+
.getTable()
|
|
16
|
+
.getPlayers()
|
|
17
|
+
.map((item) => ({
|
|
18
|
+
userId: item.id,
|
|
19
|
+
fullName: item.fullName,
|
|
20
|
+
profit: item.profit,
|
|
21
|
+
figures: [],
|
|
22
|
+
})),
|
|
23
|
+
winners: master
|
|
24
|
+
.getGameResultHelper()
|
|
25
|
+
.getWinners()
|
|
26
|
+
.map((item) => ({
|
|
27
|
+
userId: item.id,
|
|
28
|
+
fullName: item.fullName,
|
|
29
|
+
profit: item.profit,
|
|
30
|
+
figures: [],
|
|
31
|
+
})),
|
|
32
|
+
history: master
|
|
33
|
+
.getGameRound()
|
|
34
|
+
?.getHistory()
|
|
35
|
+
.map((item) => ({
|
|
36
|
+
userId: item.userId,
|
|
37
|
+
fullName: item.fullName,
|
|
38
|
+
date: item.date,
|
|
39
|
+
actionType: item.actionType,
|
|
40
|
+
state: item.state,
|
|
41
|
+
turnNumber: item.turnNumber,
|
|
42
|
+
moveAction: item.move?.action,
|
|
43
|
+
moveData: item.move ?? undefined,
|
|
44
|
+
figures: item.figures?.map((item) => ({
|
|
45
|
+
figureId: item.id,
|
|
46
|
+
type: item.type,
|
|
47
|
+
name: item.getName(),
|
|
48
|
+
})) ?? [],
|
|
49
|
+
})) ?? [],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getGameTableActivityLogResult(master) {
|
|
53
|
+
const players = master.table.getPlayers().map((item) => ({
|
|
54
|
+
userId: item.id,
|
|
55
|
+
userName: item.fullName,
|
|
56
|
+
game: master.room.getGameType(),
|
|
57
|
+
channel: '',
|
|
58
|
+
}));
|
|
59
|
+
const winners = master
|
|
60
|
+
.getGameResultHelper()
|
|
61
|
+
.getWinners()
|
|
62
|
+
.map((item) => ({
|
|
63
|
+
userId: item.id,
|
|
64
|
+
userName: item.fullName,
|
|
65
|
+
game: master.room.getGameType(),
|
|
66
|
+
channel: '',
|
|
67
|
+
}));
|
|
68
|
+
const loosers = master
|
|
69
|
+
.getGameResultHelper()
|
|
70
|
+
.getLosers()
|
|
71
|
+
.map((item) => ({
|
|
72
|
+
userId: item.id,
|
|
73
|
+
userName: item.fullName,
|
|
74
|
+
game: master.room.getGameType(),
|
|
75
|
+
channel: '',
|
|
76
|
+
}));
|
|
77
|
+
const foundProfi = master
|
|
78
|
+
.getGameResultHelper()
|
|
79
|
+
.getLosers()
|
|
80
|
+
.find((item) => item.level > 100);
|
|
81
|
+
return {
|
|
82
|
+
players,
|
|
83
|
+
winners,
|
|
84
|
+
loosers,
|
|
85
|
+
profiWinners: foundProfi ? winners : [],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
getUserGameResults(master, addBalance) {
|
|
89
|
+
return master
|
|
90
|
+
.getTable()
|
|
91
|
+
.getPlayers()
|
|
92
|
+
.map((player) => {
|
|
93
|
+
const experienceAdding = master.levelHelper.getNewExperienceAmount(player);
|
|
94
|
+
const levelAdding = master.levelHelper.getNewLevelAdding(player.level, player.experience + experienceAdding);
|
|
95
|
+
return {
|
|
96
|
+
userId: player.id,
|
|
97
|
+
userName: player.fullName,
|
|
98
|
+
userAvatarUrl: player.avatarUrl,
|
|
99
|
+
balanceAdding: addBalance ? player.profit : 0,
|
|
100
|
+
experienceAdding,
|
|
101
|
+
levelAdding,
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
commitExperience(master, userGameResults, event, eventsBusAppSubscribeService, levelUpBonus) {
|
|
106
|
+
master.table.getPlayers().forEach((player) => {
|
|
107
|
+
const foundPlayer = userGameResults.find((item) => item.userId === player.id);
|
|
108
|
+
if (foundPlayer) {
|
|
109
|
+
player.addExperience(foundPlayer?.experienceAdding);
|
|
110
|
+
if (foundPlayer.levelAdding === 1) {
|
|
111
|
+
player.levelUp();
|
|
112
|
+
this.processLevelUp(event, player, eventsBusAppSubscribeService, levelUpBonus);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
getUserRatings(master) {
|
|
118
|
+
return master
|
|
119
|
+
.getTable()
|
|
120
|
+
.getPlayers()
|
|
121
|
+
.map((player) => {
|
|
122
|
+
return {
|
|
123
|
+
userId: player.id,
|
|
124
|
+
userName: player.fullName,
|
|
125
|
+
userAvatarUrl: player.avatarUrl,
|
|
126
|
+
profit: player.profit,
|
|
127
|
+
game: master.getRoom().getGameType(),
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
handleRoomTableGamePlayerMoved = (event, eventsBusAppSubscribeService) => {
|
|
132
|
+
eventsBusAppSubscribeService.pushNewEvent(new jp_ms_common_engine_1.GamePlayerMovedAppEvent(event.gameType, event.room.getRoomMaster(), event.master, event.player));
|
|
133
|
+
};
|
|
134
|
+
processGameFinishEvent(event, eventsBusAppSubscribeService) {
|
|
135
|
+
for (const player of event.master.getTable().getPlayers()) {
|
|
136
|
+
this.processFinishEvent(event, player, eventsBusAppSubscribeService);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
processLevelUp(event, player, eventsBusAppSubscribeService, levelUpBonus) {
|
|
140
|
+
eventsBusAppSubscribeService.pushNewEvent(new jp_ms_common_engine_1.UserGotNewLevelAppEvent(event.gameType, player.id, player.fullName, player.level));
|
|
141
|
+
player.sendMessage(new jp_ms_common_engine_1.SnackbarSendToPlayerWsEvent(event.gameType, player.id, new views_1.LevelUpSnackbarView(event.room.getLocaleService(), player.language, player.level, levelUpBonus).build()));
|
|
142
|
+
}
|
|
143
|
+
processFinishEvent(event, player, eventsBusAppSubscribeService) {
|
|
144
|
+
eventsBusAppSubscribeService.pushNewEvent(new jp_ms_common_engine_1.GamePlayerRoundFinishedAppEvent(event.gameType, event.room.getRoomMaster(), event.master, player));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.RoomsManagerService = RoomsManagerService;
|
|
148
|
+
//# sourceMappingURL=rooms-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rooms-manager.service.js","sourceRoot":"","sources":["../../src/common/rooms-manager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GameResultRepository, UsersRepository, ActivityLogRepository, OneTableTournamentRoomsRepository, ManyTablesTournamentRoomsRepository, RatingRepository } from 'jp.db.schemas';
|
|
2
|
+
import { GameTableFinishedEvent, TournamentMaster } from 'jp.ms.common.engine';
|
|
3
|
+
import { Connection } from 'mongoose';
|
|
4
|
+
import { EventsBusAppSubscribeService } from '../modules/event-bus';
|
|
5
|
+
import { RoomsManagerService } from './rooms-manager.service';
|
|
6
|
+
export declare class TournamentRoomsManagerService extends RoomsManagerService {
|
|
7
|
+
protected handleRoomTableGameFinished: (event: GameTableFinishedEvent, connection: Connection, gameResultRepository: GameResultRepository, usersRepository: UsersRepository, activityLogRepository: ActivityLogRepository, eventsBusAppSubscribeService: EventsBusAppSubscribeService, levelUpBonus: number) => Promise<void>;
|
|
8
|
+
protected saveTournamentResult(master: TournamentMaster, connection: Connection, tournamentRepository: OneTableTournamentRoomsRepository | ManyTablesTournamentRoomsRepository, usersRepository: UsersRepository, ratingRepository: RatingRepository): Promise<void>;
|
|
9
|
+
private saveGameTablesResultForTournamentRoom;
|
|
10
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TournamentRoomsManagerService = void 0;
|
|
4
|
+
const rooms_manager_service_1 = require("./rooms-manager.service");
|
|
5
|
+
class TournamentRoomsManagerService extends rooms_manager_service_1.RoomsManagerService {
|
|
6
|
+
handleRoomTableGameFinished = async (event, connection, gameResultRepository, usersRepository, activityLogRepository, eventsBusAppSubscribeService, levelUpBonus) => {
|
|
7
|
+
await this.saveGameTablesResultForTournamentRoom(event, connection, gameResultRepository, usersRepository, activityLogRepository, eventsBusAppSubscribeService, levelUpBonus);
|
|
8
|
+
this.processGameFinishEvent(event, eventsBusAppSubscribeService);
|
|
9
|
+
};
|
|
10
|
+
async saveTournamentResult(master, connection, tournamentRepository, usersRepository, ratingRepository) {
|
|
11
|
+
const userTournamentResult = master.getTournamentResult().map((player) => {
|
|
12
|
+
return {
|
|
13
|
+
userId: player.playerId,
|
|
14
|
+
userName: player.playerName,
|
|
15
|
+
userAvatarUrl: player.playerAvatarUrl,
|
|
16
|
+
balanceAdding: player.profit,
|
|
17
|
+
experienceAdding: 0,
|
|
18
|
+
levelAdding: 0,
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
const ratings = userTournamentResult.map((item) => ({
|
|
22
|
+
userId: item.userId,
|
|
23
|
+
userName: item.userName,
|
|
24
|
+
userAvatarUrl: item.userAvatarUrl,
|
|
25
|
+
profit: item.balanceAdding,
|
|
26
|
+
game: master.getRoom().getGameType(),
|
|
27
|
+
}));
|
|
28
|
+
const session = await connection.startSession();
|
|
29
|
+
session.startTransaction();
|
|
30
|
+
try {
|
|
31
|
+
await usersRepository.saveGameResult(userTournamentResult);
|
|
32
|
+
await tournamentRepository.finishTournament(master.getTournamentId(), master.getTournamentResult());
|
|
33
|
+
await ratingRepository.addBulkPlayerRating(ratings);
|
|
34
|
+
await session.commitTransaction();
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
await session.abortTransaction();
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
await session.endSession();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async saveGameTablesResultForTournamentRoom(event, connection, gameResultRepository, usersRepository, activityLogRepository, eventsBusAppSubscribeService, levelUpBonus) {
|
|
45
|
+
const session = await connection.startSession();
|
|
46
|
+
session.startTransaction();
|
|
47
|
+
const master = event.master;
|
|
48
|
+
try {
|
|
49
|
+
await gameResultRepository.createGameResult(this.getGameTableResults(master));
|
|
50
|
+
const userGameResults = this.getUserGameResults(master, false);
|
|
51
|
+
await usersRepository.saveGameResult(userGameResults);
|
|
52
|
+
await activityLogRepository.addGameTableResult(this.getGameTableActivityLogResult(master));
|
|
53
|
+
this.commitExperience(master, userGameResults, event, eventsBusAppSubscribeService, levelUpBonus);
|
|
54
|
+
await session.commitTransaction();
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
await session.abortTransaction();
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
await session.endSession();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.TournamentRoomsManagerService = TournamentRoomsManagerService;
|
|
66
|
+
//# sourceMappingURL=tournament-rooms-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tournament-rooms-manager.service.js","sourceRoot":"","sources":["../../src/common/tournament-rooms-manager.service.ts"],"names":[],"mappings":";;;AAaA,mEAA8D;AAE9D,MAAa,6BAA8B,SAAQ,2CAAmB;IAC1D,2BAA2B,GAAG,KAAK,EAC3C,KAA6B,EAC7B,UAAsB,EACtB,oBAA0C,EAC1C,eAAgC,EAChC,qBAA4C,EAC5C,4BAA0D,EAC1D,YAAoB,EACpB,EAAE;QACF,MAAM,IAAI,CAAC,qCAAqC,CAC9C,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,CACb,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IACnE,CAAC,CAAC;IAEQ,KAAK,CAAC,oBAAoB,CAClC,MAAwB,EACxB,UAAsB,EACtB,oBACyE,EACzE,eAAgC,EAChC,gBAAkC;QAElC,MAAM,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvE,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACvB,QAAQ,EAAE,MAAM,CAAC,UAAU;gBAC3B,aAAa,EAAE,MAAM,CAAC,eAAe;gBACrC,aAAa,EAAE,MAAM,CAAC,MAAM;gBAC5B,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;aACf,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YAC3D,MAAM,oBAAoB,CAAC,gBAAgB,CACzC,MAAM,CAAC,eAAe,EAAE,EACxB,MAAM,CAAC,mBAAmB,EAAE,CAC7B,CAAC;YACF,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qCAAqC,CACjD,KAA6B,EAC7B,UAAsB,EACtB,oBAA0C,EAC1C,eAAgC,EAChC,qBAA4C,EAC5C,4BAA0D,EAC1D,YAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,gBAAgB,CACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACjC,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,qBAAqB,CAAC,kBAAkB,CAC5C,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAC3C,CAAC;YACF,IAAI,CAAC,gBAAgB,CACnB,MAAM,EACN,eAAe,EACf,KAAK,EACL,4BAA4B,EAC5B,YAAY,CACb,CAAC;YACF,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AAzGD,sEAyGC"}
|
|
@@ -8,7 +8,6 @@ export declare class FoolTableDto implements IFoolTable {
|
|
|
8
8
|
playersTurnTimer: number | undefined;
|
|
9
9
|
restartTimer: number | undefined;
|
|
10
10
|
tableSize: number;
|
|
11
|
-
tableCardsSkin: string;
|
|
12
11
|
players: FoolPlayerDto[];
|
|
13
12
|
cardsSlots: CardsPairSlotsDto;
|
|
14
13
|
cardsDeck: CardsDeckDto;
|
|
@@ -22,7 +22,6 @@ class FoolTableDto {
|
|
|
22
22
|
playersTurnTimer;
|
|
23
23
|
restartTimer;
|
|
24
24
|
tableSize;
|
|
25
|
-
tableCardsSkin;
|
|
26
25
|
players;
|
|
27
26
|
cardsSlots;
|
|
28
27
|
cardsDeck;
|
|
@@ -73,15 +72,6 @@ __decorate([
|
|
|
73
72
|
(0, class_transformer_1.Expose)(),
|
|
74
73
|
__metadata("design:type", Number)
|
|
75
74
|
], FoolTableDto.prototype, "tableSize", void 0);
|
|
76
|
-
__decorate([
|
|
77
|
-
(0, swagger_1.ApiProperty)({
|
|
78
|
-
description: 'Table cards skin',
|
|
79
|
-
type: Number,
|
|
80
|
-
}),
|
|
81
|
-
(0, class_validator_1.IsNumber)(),
|
|
82
|
-
(0, class_transformer_1.Expose)(),
|
|
83
|
-
__metadata("design:type", String)
|
|
84
|
-
], FoolTableDto.prototype, "tableCardsSkin", void 0);
|
|
85
75
|
__decorate([
|
|
86
76
|
(0, class_validator_1.IsArray)(),
|
|
87
77
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fool-table.dto.js","sourceRoot":"","sources":["../../../../src/dto/games/fool/fool-table.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAkE;AAClE,qDAAoE;AAGpE,iDAA0E;AAC1E,+CAMyB;AAEzB,uDAAkD;AAElD,MAAa,YAAY;IAGvB,MAAM,CAAqB;IAI3B,iBAAiB,CAAiC;IAQlD,gBAAgB,CAAqB;IAQrC,YAAY,CAAqB;IAQjC,SAAS,CAAS;
|
|
1
|
+
{"version":3,"file":"fool-table.dto.js","sourceRoot":"","sources":["../../../../src/dto/games/fool/fool-table.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAkE;AAClE,qDAAoE;AAGpE,iDAA0E;AAC1E,+CAMyB;AAEzB,uDAAkD;AAElD,MAAa,YAAY;IAGvB,MAAM,CAAqB;IAI3B,iBAAiB,CAAiC;IAQlD,gBAAgB,CAAqB;IAQrC,YAAY,CAAqB;IAQjC,SAAS,CAAS;IAMlB,OAAO,CAAkB;IAIzB,UAAU,CAAoB;IAI9B,SAAS,CAAe;IAIxB,OAAO,CAAa;IAIpB,UAAU,CAAgB;IAI1B,UAAU,CAAgB;IAE1B,YAAY,MAAkB;QAC5B,OAAO,IAAA,mCAAe,EAAC,YAAY,EAAE,MAAM,EAAE;YAC3C,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;CACF;AAhED,oCAgEC;AA7DC;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;IAC9B,IAAA,0BAAM,GAAE;8BACD,+BAAkB;4CAAC;AAI3B;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+BAAkB,CAAC;IAC9B,IAAA,0BAAM,GAAE;;uDACyC;AAQlD;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,0BAAM,GAAE;;sDAC4B;AAQrC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,0BAAM,GAAE;;kDACwB;AAQjC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,0BAAM,GAAE;;+CACS;AAMlB;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+BAAa,CAAC;IACzB,IAAA,0BAAM,GAAE;;6CACgB;AAIzB;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,6BAAiB,CAAC;IAC7B,IAAA,0BAAM,GAAE;8BACG,6BAAiB;gDAAC;AAI9B;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,wBAAY,CAAC;IACxB,IAAA,0BAAM,GAAE;8BACE,wBAAY;+CAAC;AAIxB;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,sBAAU,CAAC;IACtB,IAAA,0BAAM,GAAE;8BACA,sBAAU;6CAAC;AAIpB;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAa,CAAC;IACzB,IAAA,0BAAM,GAAE;8BACG,yBAAa;gDAAC;AAI1B;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAa,CAAC;IACzB,IAAA,0BAAM,GAAE;8BACG,yBAAa;gDAAC"}
|
|
@@ -2,4 +2,6 @@ import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
|
|
|
2
2
|
export declare class GlobalExceptionFilter implements ExceptionFilter {
|
|
3
3
|
private readonly logger;
|
|
4
4
|
catch(exception: Error, host: ArgumentsHost): void;
|
|
5
|
+
private processHttpExceptionWithSnackbar;
|
|
6
|
+
private processHttpException;
|
|
5
7
|
}
|
|
@@ -16,29 +16,35 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
16
16
|
this.logger.error(exception);
|
|
17
17
|
const ctx = host.switchToHttp();
|
|
18
18
|
const response = ctx.getResponse();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
else if (exception instanceof common_1.HttpException) {
|
|
30
|
-
const status = exception.getStatus();
|
|
31
|
-
response.status(status).json({
|
|
32
|
-
statusCode: status,
|
|
33
|
-
message: exception.message,
|
|
34
|
-
});
|
|
35
|
-
return;
|
|
19
|
+
switch (exception.constructor.name) {
|
|
20
|
+
case http_exception_wth_snackbar_1.HttpExceptionWithSnackbar.name: {
|
|
21
|
+
return this.processHttpExceptionWithSnackbar(exception, response);
|
|
22
|
+
}
|
|
23
|
+
case common_1.HttpException.name: {
|
|
24
|
+
return this.processHttpException(exception, response);
|
|
25
|
+
}
|
|
36
26
|
}
|
|
37
27
|
response.status(common_1.HttpStatus.INTERNAL_SERVER_ERROR).json({
|
|
38
28
|
statusCode: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
39
29
|
message: exception.message,
|
|
40
30
|
});
|
|
41
31
|
}
|
|
32
|
+
processHttpExceptionWithSnackbar(exception, response) {
|
|
33
|
+
const data = exception.getResponse();
|
|
34
|
+
const status = exception.getStatus();
|
|
35
|
+
response.status(status).json({
|
|
36
|
+
statusCode: status,
|
|
37
|
+
message: exception.message,
|
|
38
|
+
snackbar: data.snackbar,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
processHttpException(exception, response) {
|
|
42
|
+
const status = exception.getStatus();
|
|
43
|
+
response.status(status).json({
|
|
44
|
+
statusCode: status,
|
|
45
|
+
message: exception.message,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
42
48
|
};
|
|
43
49
|
exports.GlobalExceptionFilter = GlobalExceptionFilter;
|
|
44
50
|
exports.GlobalExceptionFilter = GlobalExceptionFilter = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception-filter.js","sourceRoot":"","sources":["../../src/exception/global-exception-filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAMwB;AAGxB,wCAA6C;AAE7C,+EAGuC;AAGhC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACf,MAAM,GAAG,IAAI,yBAAe,EAAE,CAAC;IAEhD,KAAK,CAAC,SAAgB,EAAE,IAAmB;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAE7C,
|
|
1
|
+
{"version":3,"file":"global-exception-filter.js","sourceRoot":"","sources":["../../src/exception/global-exception-filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAMwB;AAGxB,wCAA6C;AAE7C,+EAGuC;AAGhC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACf,MAAM,GAAG,IAAI,yBAAe,EAAE,CAAC;IAEhD,KAAK,CAAC,SAAgB,EAAE,IAAmB;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAE7C,QAAQ,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACnC,KAAK,uDAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,gCAAgC,CAC1C,SAAsC,EACtC,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,KAAK,sBAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAA0B,EAAE,QAAQ,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,mBAAU,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC;YACrD,UAAU,EAAE,mBAAU,CAAC,qBAAqB;YAC5C,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAC;IACL,CAAC;IAEO,gCAAgC,CACtC,SAAoC,EACpC,QAA4C;QAE5C,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAA+B,CAAC;QAClE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAC1B,SAAwB,EACxB,QAA4C;QAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,cAAK,EAAC,KAAK,CAAC;GACA,qBAAqB,CAiDjC"}
|
|
@@ -84,36 +84,46 @@ let AntiFreezeSystemService = AntiFreezeSystemService_1 = class AntiFreezeSystem
|
|
|
84
84
|
clear() {
|
|
85
85
|
this.prevSet.forEach((item) => {
|
|
86
86
|
if (item.count === this.options.antiFreezeSystemCheckCount) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
room?.getTables().forEach((table) => {
|
|
91
|
-
table.getPlayers().forEach((player) => {
|
|
92
|
-
room?.handleLeaveTournament(player);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
room?.getRoomMaster().onTournamentCancel();
|
|
87
|
+
const roomName = item.room.constructor.name;
|
|
88
|
+
if (roomName.includes(jp_ms_common_engine_1.OneTableTournamentRoom.name)) {
|
|
89
|
+
this.clearOneTableRoom(item);
|
|
96
90
|
}
|
|
97
|
-
else if (
|
|
98
|
-
this.
|
|
99
|
-
const room = this.manyTablesRoomsManagerService.getRoomByTableId(item.tableId);
|
|
100
|
-
room?.getTables().forEach((table) => {
|
|
101
|
-
table.getPlayers().forEach((player) => {
|
|
102
|
-
room?.handleLeaveTournament(player);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
room?.getRoomMaster().onTournamentCancel();
|
|
91
|
+
else if (roomName.includes(jp_ms_common_engine_1.ManyTablesTournamentRoom.name)) {
|
|
92
|
+
this.clearManyTablesRoom(item);
|
|
106
93
|
}
|
|
107
|
-
else {
|
|
108
|
-
this.
|
|
109
|
-
this.simpleRoomsManagerService
|
|
110
|
-
.getRoomByTableId(item.tableId)
|
|
111
|
-
?.restartTable(item.tableId);
|
|
94
|
+
else if (roomName.includes(jp_ms_common_engine_1.SimpleRoom.name)) {
|
|
95
|
+
this.clearSimpleRoom(item);
|
|
112
96
|
}
|
|
113
97
|
this.prevSet.delete(item.tableId);
|
|
114
98
|
}
|
|
115
99
|
});
|
|
116
100
|
}
|
|
101
|
+
clearOneTableRoom(item) {
|
|
102
|
+
this.logger.log(`${AntiFreezeSystemService_1.name}: cancel tournamentId: ${item.room.getId()}`);
|
|
103
|
+
const room = this.oneTableRoomsManagerService.getRoomByTableId(item.tableId);
|
|
104
|
+
room?.getTables().forEach((table) => {
|
|
105
|
+
table.getPlayers().forEach((player) => {
|
|
106
|
+
room?.handleLeaveTournament(player);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
room?.getRoomMaster().onTournamentCancel();
|
|
110
|
+
}
|
|
111
|
+
clearManyTablesRoom(item) {
|
|
112
|
+
this.logger.log(`${AntiFreezeSystemService_1.name}: cancel tournamentId: ${item.room.getId()}`);
|
|
113
|
+
const room = this.manyTablesRoomsManagerService.getRoomByTableId(item.tableId);
|
|
114
|
+
room?.getTables().forEach((table) => {
|
|
115
|
+
table.getPlayers().forEach((player) => {
|
|
116
|
+
room?.handleLeaveTournament(player);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
room?.getRoomMaster().onTournamentCancel();
|
|
120
|
+
}
|
|
121
|
+
clearSimpleRoom(item) {
|
|
122
|
+
this.logger.log(`${AntiFreezeSystemService_1.name}: restart tableId: ${item.tableId}`);
|
|
123
|
+
this.simpleRoomsManagerService
|
|
124
|
+
.getRoomByTableId(item.tableId)
|
|
125
|
+
?.restartTable(item.tableId);
|
|
126
|
+
}
|
|
117
127
|
};
|
|
118
128
|
exports.AntiFreezeSystemService = AntiFreezeSystemService;
|
|
119
129
|
exports.AntiFreezeSystemService = AntiFreezeSystemService = AntiFreezeSystemService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anti-freeze-system.service.js","sourceRoot":"","sources":["../../../src/modules/anti-freeze-system/anti-freeze-system.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"anti-freeze-system.service.js","sourceRoot":"","sources":["../../../src/modules/anti-freeze-system/anti-freeze-system.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const BASE_ACHIEVEMENTS_OPTIONS: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-achievements.constants.js","sourceRoot":"","sources":["../../../src/modules/base-achievements/base-achievements.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ModuleMetadata } from '@nestjs/common';
|
|
2
|
+
import { Type } from '@nestjs/common/interfaces/type.interface';
|
|
3
|
+
import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
|
|
4
|
+
import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
|
|
5
|
+
import { I18nService } from 'nestjs-i18n';
|
|
6
|
+
export interface BaseAchievementsOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
7
|
+
imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
|
|
8
|
+
inject?: any[];
|
|
9
|
+
useFactory?: (...args: any[]) => BaseAchievementsFactoryOptions;
|
|
10
|
+
}
|
|
11
|
+
export interface BaseAchievementsFactoryOptions {
|
|
12
|
+
gameType: string;
|
|
13
|
+
i18n: I18nService | any;
|
|
14
|
+
achievementBonus: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-achievements.interfaces.js","sourceRoot":"","sources":["../../../src/modules/base-achievements/base-achievements.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ActivityLogRepository,
|
|
2
|
-
import {
|
|
1
|
+
import { ActivityLogRepository, UsersRepository, AchievementRepository, Achievement, UsersAchievement, UsersAchievementsRepository } from 'jp.db.schemas';
|
|
2
|
+
import { UserGotNewLevelAppEvent, BaseAchievement, BaseUserAppEvent, GamePlayerRoundFinishedAppEvent, GamePlayerMovedAppEvent, GamePlayerManyTablesTournamentFinishedAppEvent, GamePlayerOneTableTournamentFinishedAppEvent } from 'jp.ms.common.engine';
|
|
3
3
|
import { EventsBusAppSubscribeService } from '../event-bus/events-bus.app.subscribe.service';
|
|
4
4
|
import { PlayersManagerService } from '../players-manager';
|
|
5
|
+
import { BaseAchievementsFactoryOptions } from './base-achievements.interfaces';
|
|
5
6
|
export declare abstract class BaseAchievementsModule {
|
|
6
7
|
protected readonly eventsBusAppSubscribeService: EventsBusAppSubscribeService;
|
|
7
8
|
protected readonly playersManager: PlayersManagerService;
|
|
@@ -9,9 +10,30 @@ export declare abstract class BaseAchievementsModule {
|
|
|
9
10
|
protected readonly activityLogRepository: ActivityLogRepository;
|
|
10
11
|
protected readonly achievementRepository: AchievementRepository;
|
|
11
12
|
protected readonly usersAchievementRepository: UsersAchievementsRepository;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
protected
|
|
15
|
-
protected
|
|
16
|
-
|
|
13
|
+
private readonly options;
|
|
14
|
+
protected allAchievements: Array<Achievement>;
|
|
15
|
+
protected achievemnts: Map<string, BaseAchievement>;
|
|
16
|
+
protected usersAchievements: Map<string, UsersAchievement[]>;
|
|
17
|
+
constructor(eventsBusAppSubscribeService: EventsBusAppSubscribeService, playersManager: PlayersManagerService, usersRepository: UsersRepository, activityLogRepository: ActivityLogRepository, achievementRepository: AchievementRepository, usersAchievementRepository: UsersAchievementsRepository, options: BaseAchievementsFactoryOptions);
|
|
18
|
+
abstract createAchievemnt(code: string, gameType: string): BaseAchievement;
|
|
19
|
+
onModuleInit(): Promise<void>;
|
|
20
|
+
protected onHandleAppEvent(event: BaseUserAppEvent): Promise<void>;
|
|
21
|
+
protected handleGamePlayerRoundFinishedAppEvent(event: GamePlayerRoundFinishedAppEvent): Promise<void>;
|
|
22
|
+
protected abstract handleGamePlayerMovedAppEvent(event: GamePlayerMovedAppEvent): any;
|
|
23
|
+
protected handleGamePlayerManyTablesTournamentFinishedAppEvent(event: GamePlayerManyTablesTournamentFinishedAppEvent): void;
|
|
24
|
+
protected handleGamePlayerOneTableTournamentFinishedAppEvent(event: GamePlayerOneTableTournamentFinishedAppEvent): Promise<void>;
|
|
25
|
+
protected handleUserGotLevelUp(event: UserGotNewLevelAppEvent): void;
|
|
26
|
+
private processEarnOneMillion;
|
|
27
|
+
private processFailNTimes;
|
|
28
|
+
private processPlayNTimes;
|
|
29
|
+
private processPlayNTimesADay;
|
|
30
|
+
private processWinNTimes;
|
|
31
|
+
private processWinNTimesARow;
|
|
32
|
+
private processWinNProfi;
|
|
33
|
+
private processTakeNPlaceOnManyTablesTournament;
|
|
34
|
+
private processWinNTimesOneTableTournament;
|
|
35
|
+
protected giveAchievement(achievementCode: string, userId: string, fullName: string, game: string): Promise<void>;
|
|
36
|
+
protected gameTypedCode(achievementCode: string): string;
|
|
37
|
+
protected processManyGBAchievements(achievements: Array<string>, count: number, userId: string, fullName: string, game: string): void;
|
|
38
|
+
protected processOneUniqAchievement(achievementCode: string, count: number, userId: string, fullName: string, game: string): void;
|
|
17
39
|
}
|