jp.ms.common.modules 1.0.43 → 1.0.45

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.
Files changed (102) hide show
  1. package/dist/common/rooms-manager.service.d.ts +61 -0
  2. package/dist/common/rooms-manager.service.js +148 -0
  3. package/dist/common/rooms-manager.service.js.map +1 -0
  4. package/dist/common/tournament-rooms-manager.service.d.ts +10 -0
  5. package/dist/common/tournament-rooms-manager.service.js +66 -0
  6. package/dist/common/tournament-rooms-manager.service.js.map +1 -0
  7. package/dist/dto/games/fool/fool-table.dto.d.ts +0 -1
  8. package/dist/dto/games/fool/fool-table.dto.js +0 -10
  9. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  10. package/dist/exception/global-exception-filter.d.ts +2 -0
  11. package/dist/exception/global-exception-filter.js +23 -17
  12. package/dist/exception/global-exception-filter.js.map +1 -1
  13. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +3 -0
  14. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +33 -23
  15. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  16. package/dist/modules/base-achievements/base-achievements.constants.d.ts +1 -0
  17. package/dist/modules/base-achievements/base-achievements.constants.js +5 -0
  18. package/dist/modules/base-achievements/base-achievements.constants.js.map +1 -0
  19. package/dist/modules/base-achievements/base-achievements.interfaces.d.ts +15 -0
  20. package/dist/modules/base-achievements/base-achievements.interfaces.js +3 -0
  21. package/dist/modules/base-achievements/base-achievements.interfaces.js.map +1 -0
  22. package/dist/modules/base-achievements/base-achievements.module.d.ts +29 -7
  23. package/dist/modules/base-achievements/base-achievements.module.js +166 -76
  24. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  25. package/dist/modules/base-achievements/index.d.ts +2 -0
  26. package/dist/modules/base-achievements/index.js +3 -1
  27. package/dist/modules/base-achievements/index.js.map +1 -1
  28. package/dist/modules/event-bus/events-bus.app.subscribe.service.d.ts +3 -3
  29. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
  30. package/dist/modules/index.d.ts +1 -1
  31. package/dist/modules/index.js +4 -3
  32. package/dist/modules/index.js.map +1 -1
  33. package/dist/modules/main/main.service.js +8 -6
  34. package/dist/modules/main/main.service.js.map +1 -1
  35. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +1 -1
  36. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  37. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.d.ts +1 -0
  38. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js +4 -0
  39. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -1
  40. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts +7 -5
  41. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js +58 -38
  42. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -1
  43. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.d.ts +1 -0
  44. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js +4 -0
  45. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -1
  46. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts +7 -5
  47. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js +55 -35
  48. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -1
  49. package/dist/modules/simple-rooms-manager/simple-rooms-manager.interfaces.d.ts +1 -0
  50. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +4 -0
  51. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  52. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +7 -5
  53. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +53 -20
  54. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/dist/views/achievement-snackbar.view.d.ts +8 -0
  57. package/dist/views/achievement-snackbar.view.js +26 -0
  58. package/dist/views/achievement-snackbar.view.js.map +1 -0
  59. package/dist/views/base-table.view.d.ts +13 -0
  60. package/dist/views/base-table.view.js +34 -0
  61. package/dist/views/base-table.view.js.map +1 -0
  62. package/dist/views/index.d.ts +3 -0
  63. package/dist/views/index.js +7 -1
  64. package/dist/views/index.js.map +1 -1
  65. package/dist/views/level-up-snackbar.view.d.ts +7 -0
  66. package/dist/views/level-up-snackbar.view.js +26 -0
  67. package/dist/views/level-up-snackbar.view.js.map +1 -0
  68. package/package.json +5 -5
  69. package/src/common/rooms-manager.service.ts +250 -0
  70. package/src/common/tournament-rooms-manager.service.ts +121 -0
  71. package/src/dto/games/fool/fool-table.dto.ts +0 -8
  72. package/src/exception/global-exception-filter.ts +34 -20
  73. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +48 -35
  74. package/src/modules/base-achievements/base-achievements.constants.ts +1 -0
  75. package/src/modules/base-achievements/base-achievements.interfaces.ts +22 -0
  76. package/src/modules/base-achievements/base-achievements.module.ts +347 -234
  77. package/src/modules/base-achievements/index.ts +5 -0
  78. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +5 -5
  79. package/src/modules/index.ts +6 -1
  80. package/src/modules/main/main.service.ts +7 -5
  81. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +1 -1
  82. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +1 -0
  83. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +7 -0
  84. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +89 -41
  85. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +1 -0
  86. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +7 -0
  87. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +89 -40
  88. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +1 -0
  89. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +7 -0
  90. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +79 -33
  91. package/src/views/achievement-snackbar.view.ts +38 -0
  92. package/src/views/base-table.view.ts +57 -0
  93. package/src/views/index.ts +3 -0
  94. package/src/views/level-up-snackbar.view.ts +38 -0
  95. package/dist/utils/date.d.ts +0 -2
  96. package/dist/utils/date.js +0 -11
  97. package/dist/utils/date.js.map +0 -1
  98. package/dist/utils/game-table-result.d.ts +0 -40
  99. package/dist/utils/game-table-result.js +0 -152
  100. package/dist/utils/game-table-result.js.map +0 -1
  101. package/src/utils/date.ts +0 -7
  102. package/src/utils/game-table-result.ts +0 -190
@@ -1,190 +0,0 @@
1
- import { Connection } from 'mongoose';
2
- import {
3
- GameResultRepository,
4
- OneTableTournamentRoomsRepository,
5
- ManyTablesTournamentRoomsRepository,
6
- UsersRepository,
7
- RatingRepository,
8
- } from 'jp.db.schemas';
9
- import { GameMaster, TournamentMaster } from 'jp.ms.common.engine';
10
-
11
- export function getGameTableResults(master: GameMaster) {
12
- return {
13
- gameType: master.getRoom().getGameType(),
14
- gameId: master.getGameRound()?.getId() ?? '',
15
- roomId: master.getRoom().getId(),
16
- date: new Date(),
17
- pot: master.getGameRound()?.getPot() ?? 0,
18
- players: master
19
- .getTable()
20
- .getPlayers()
21
- .map((item) => ({
22
- userId: item.id,
23
- fullName: item.fullName,
24
- profit: item.profit,
25
- figures: [],
26
- })),
27
- winners: master
28
- .getGameResultHelper()
29
- .getWinners()
30
- .map((item) => ({
31
- userId: item.id,
32
- fullName: item.fullName,
33
- profit: item.profit,
34
- figures: [],
35
- })),
36
- history:
37
- master
38
- .getGameRound()
39
- ?.getHistory()
40
- .map((item) => ({
41
- userId: item.userId,
42
- fullName: item.fullName,
43
- date: item.date,
44
- actionType: item.actionType,
45
- state: item.state,
46
- turnNumber: item.turnNumber,
47
- moveAction: item.move?.action,
48
- moveData: item.move ?? undefined,
49
- figures:
50
- item.figures?.map((item) => ({
51
- figureId: item.id,
52
- type: item.type,
53
- name: item.getName(),
54
- })) ?? [],
55
- })) ?? [],
56
- };
57
- }
58
-
59
- export async function saveGameTablesResultForSimpleRoom(
60
- master: GameMaster,
61
- connection: Connection,
62
- gameResultRepository: GameResultRepository,
63
- usersRepository: UsersRepository,
64
- ratingRepository: RatingRepository,
65
- ) {
66
- const userGameResult = master
67
- .getTable()
68
- .getPlayers()
69
- .map((player) => {
70
- return {
71
- userId: player.id,
72
- userName: player.fullName,
73
- userAvatarUrl: player.avatarUrl,
74
- balanceAdding: player.profit,
75
- experienceAdding: master.levelHelper.getNewExperienceAmount(player),
76
- levelAdding: master.levelHelper.getNewLevelAdding(
77
- player.level,
78
- player.experience,
79
- ),
80
- };
81
- });
82
-
83
- const ratings = userGameResult.map((item) => ({
84
- userId: item.userId,
85
- userName: item.userName,
86
- userAvatarUrl: item.userAvatarUrl,
87
- profit: item.balanceAdding,
88
- game: master.getRoom().getGameType(),
89
- }));
90
-
91
- const session = await connection.startSession();
92
- session.startTransaction();
93
-
94
- try {
95
- await gameResultRepository.createGameResult(getGameTableResults(master));
96
- await usersRepository.saveGameResult(userGameResult);
97
- await ratingRepository.addBulkPlayerRating(ratings);
98
-
99
- await session.commitTransaction();
100
- } catch (error) {
101
- await session.abortTransaction();
102
- throw error;
103
- } finally {
104
- await session.endSession();
105
- }
106
- }
107
-
108
- export async function saveGameTablesResultForTournamentRoom(
109
- master: GameMaster,
110
- connection: Connection,
111
- gameResultRepository: GameResultRepository,
112
- usersRepository: UsersRepository,
113
- ) {
114
- const userGameResult = master
115
- .getTable()
116
- .getPlayers()
117
- .map((player) => {
118
- return {
119
- userId: player.id,
120
- userName: player.fullName,
121
- userAvatarUrl: player.avatarUrl,
122
- balanceAdding: 0,
123
- experienceAdding: master.levelHelper.getNewExperienceAmount(player),
124
- levelAdding: master.levelHelper.getNewLevelAdding(
125
- player.level,
126
- player.experience,
127
- ),
128
- };
129
- });
130
-
131
- const session = await connection.startSession();
132
- session.startTransaction();
133
-
134
- try {
135
- await gameResultRepository.createGameResult(getGameTableResults(master));
136
- await usersRepository.saveGameResult(userGameResult);
137
- await session.commitTransaction();
138
- } catch (error) {
139
- await session.abortTransaction();
140
- throw error;
141
- } finally {
142
- await session.endSession();
143
- }
144
- }
145
-
146
- export async function saveTournamentResult(
147
- master: TournamentMaster,
148
- connection: Connection,
149
- tournamentRepository:
150
- OneTableTournamentRoomsRepository | ManyTablesTournamentRoomsRepository,
151
- usersRepository: UsersRepository,
152
- ratingRepository: RatingRepository,
153
- ) {
154
- const userTournamentResult = master.getTournamentResult().map((player) => {
155
- return {
156
- userId: player.playerId,
157
- userName: player.playerName,
158
- userAvatarUrl: player.playerAvatarUrl,
159
- balanceAdding: player.profit,
160
- experienceAdding: 0,
161
- levelAdding: 0,
162
- };
163
- });
164
-
165
- const ratings = userTournamentResult.map((item) => ({
166
- userId: item.userId,
167
- userName: item.userName,
168
- userAvatarUrl: item.userAvatarUrl,
169
- profit: item.balanceAdding,
170
- game: master.getRoom().getGameType(),
171
- }));
172
-
173
- const session = await connection.startSession();
174
- session.startTransaction();
175
-
176
- try {
177
- await usersRepository.saveGameResult(userTournamentResult);
178
- await tournamentRepository.finishTournament(
179
- master.getTournamentId(),
180
- master.getTournamentResult(),
181
- );
182
- await ratingRepository.addBulkPlayerRating(ratings);
183
- await session.commitTransaction();
184
- } catch (error) {
185
- await session.abortTransaction();
186
- throw error;
187
- } finally {
188
- await session.endSession();
189
- }
190
- }