jp.ms.common.modules 1.0.34 → 1.0.35

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 (259) hide show
  1. package/dist/config/cors.js.map +1 -1
  2. package/dist/config/database.js +1 -1
  3. package/dist/config/database.js.map +1 -1
  4. package/dist/config/locale.js +3 -3
  5. package/dist/config/locale.js.map +1 -1
  6. package/dist/config/menu.js +1 -1
  7. package/dist/config/menu.js.map +1 -1
  8. package/dist/dto/app-screen/app-screen-field-list-item.dto.js.map +1 -1
  9. package/dist/dto/app-screen/app-screen-field.dto.js.map +1 -1
  10. package/dist/dto/app-screen/app-screen-section-list-item.dto.js.map +1 -1
  11. package/dist/dto/app-screen/app-screen.dto.js +3 -1
  12. package/dist/dto/app-screen/app-screen.dto.js.map +1 -1
  13. package/dist/dto/app-screen/base-app-screen.dto.js +3 -1
  14. package/dist/dto/app-screen/base-app-screen.dto.js.map +1 -1
  15. package/dist/dto/app-table/card.dto.js.map +1 -1
  16. package/dist/dto/app-table/cards-deck.dto.d.ts +2 -2
  17. package/dist/dto/app-table/cards-deck.dto.js.map +1 -1
  18. package/dist/dto/app-table/cards-player.dto.js.map +1 -1
  19. package/dist/dto/common/find-free-table.dto.js.map +1 -1
  20. package/dist/dto/common/join-tournament.dto.js.map +1 -1
  21. package/dist/dto/common/many-tables-tournament-create.dto.js +3 -1
  22. package/dist/dto/common/many-tables-tournament-create.dto.js.map +1 -1
  23. package/dist/dto/common/player-check-state.dto.js.map +1 -1
  24. package/dist/dto/common/player-connected.dto.js.map +1 -1
  25. package/dist/dto/games/fool/fool-player.dto.d.ts +1 -1
  26. package/dist/dto/games/fool/fool-player.dto.js.map +1 -1
  27. package/dist/dto/games/fool/fool-table.dto.d.ts +4 -4
  28. package/dist/dto/games/fool/fool-table.dto.js +3 -1
  29. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  30. package/dist/dto/index.js.map +1 -1
  31. package/dist/exception/error-code.enum.js.map +1 -1
  32. package/dist/exception/global-exception-filter.js +3 -9
  33. package/dist/exception/global-exception-filter.js.map +1 -1
  34. package/dist/exception/http-exception-wth-snackbar.js.map +1 -1
  35. package/dist/exception/index.js.map +1 -1
  36. package/dist/exception/not-enough-money-for-purchase.exception.js.map +1 -1
  37. package/dist/exception/not-found-free-room-for-fast-game.exception.js.map +1 -1
  38. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +1 -1
  39. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +2 -4
  40. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  41. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +4 -2
  42. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  43. package/dist/modules/base-achievements/base-achievements.module.d.ts +1 -1
  44. package/dist/modules/base-achievements/base-achievements.module.js +24 -16
  45. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  46. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
  47. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.d.ts +1 -1
  48. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.js.map +1 -1
  49. package/dist/modules/event-bus/events-bus.module.js +1 -1
  50. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  51. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.js.map +1 -1
  52. package/dist/modules/events/events.gateway.js.map +1 -1
  53. package/dist/modules/events/events.module.js.map +1 -1
  54. package/dist/modules/index.d.ts +2 -2
  55. package/dist/modules/index.js.map +1 -1
  56. package/dist/modules/logger/jp-logger.module.js.map +1 -1
  57. package/dist/modules/logger/jp-logger.service.d.ts +1 -1
  58. package/dist/modules/logger/jp-logger.service.js +1 -1
  59. package/dist/modules/logger/jp-logger.service.js.map +1 -1
  60. package/dist/modules/main/main-tables-list-screen.view.d.ts +2 -2
  61. package/dist/modules/main/main-tables-list-screen.view.js +32 -13
  62. package/dist/modules/main/main-tables-list-screen.view.js.map +1 -1
  63. package/dist/modules/main/main.controller.js.map +1 -1
  64. package/dist/modules/main/main.module.d.ts +1 -1
  65. package/dist/modules/main/main.module.js +8 -8
  66. package/dist/modules/main/main.module.js.map +1 -1
  67. package/dist/modules/main/main.service.js +5 -2
  68. package/dist/modules/main/main.service.js.map +1 -1
  69. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.d.ts +2 -2
  70. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js +20 -10
  71. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js.map +1 -1
  72. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.d.ts +2 -2
  73. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js +7 -2
  74. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js.map +1 -1
  75. package/dist/modules/many-tables-tournament/many-tables-tournament.constants.js.map +1 -1
  76. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +3 -3
  77. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +5 -7
  78. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  79. package/dist/modules/many-tables-tournament/many-tables-tournament.module.d.ts +1 -1
  80. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +11 -3
  81. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  82. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +1 -1
  83. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +3 -2
  84. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  85. package/dist/modules/menu/menu-screen.view.d.ts +2 -2
  86. package/dist/modules/menu/menu-screen.view.js +1 -1
  87. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  88. package/dist/modules/menu/menu.controller.js.map +1 -1
  89. package/dist/modules/menu/menu.module.js.map +1 -1
  90. package/dist/modules/menu/menu.service.js +1 -1
  91. package/dist/modules/menu/menu.service.js.map +1 -1
  92. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.d.ts +2 -2
  93. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js +18 -10
  94. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js.map +1 -1
  95. package/dist/modules/one-table-tournament/one-table-tournament.constants.js.map +1 -1
  96. package/dist/modules/one-table-tournament/one-table-tournament.controller.js.map +1 -1
  97. package/dist/modules/one-table-tournament/one-table-tournament.module.d.ts +1 -1
  98. package/dist/modules/one-table-tournament/one-table-tournament.module.js +11 -3
  99. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  100. package/dist/modules/one-table-tournament/one-table-tournament.service.js.map +1 -1
  101. package/dist/modules/players-manager/players-manager.module.js +1 -1
  102. package/dist/modules/players-manager/players-manager.module.js.map +1 -1
  103. package/dist/modules/players-manager/players-manager.service.js.map +1 -1
  104. package/dist/modules/simple-rooms/simple-rooms.controller.js.map +1 -1
  105. package/dist/modules/simple-rooms/simple-rooms.module.js +4 -3
  106. package/dist/modules/simple-rooms/simple-rooms.module.js.map +1 -1
  107. package/dist/modules/simple-rooms/simple-rooms.service.js.map +1 -1
  108. package/dist/modules/simple-rooms-manager/simple-rooms-manager.constants.js.map +1 -1
  109. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +6 -2
  110. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  111. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +10 -5
  112. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  113. package/dist/modules/support/dump.service.d.ts +1 -1
  114. package/dist/modules/support/dump.service.js +2 -3
  115. package/dist/modules/support/dump.service.js.map +1 -1
  116. package/dist/modules/support/metric.service.d.ts +1 -1
  117. package/dist/modules/support/metric.service.js +1 -1
  118. package/dist/modules/support/metric.service.js.map +1 -1
  119. package/dist/modules/support/support.controller.d.ts +2 -2
  120. package/dist/modules/support/support.controller.js +7 -7
  121. package/dist/modules/support/support.controller.js.map +1 -1
  122. package/dist/modules/support/support.module.js.map +1 -1
  123. package/dist/modules/support/support.service.d.ts +1 -1
  124. package/dist/modules/support/support.service.js +7 -3
  125. package/dist/modules/support/support.service.js.map +1 -1
  126. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.js.map +1 -1
  127. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js +12 -3
  128. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js.map +1 -1
  129. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js +15 -10
  130. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js.map +1 -1
  131. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.js.map +1 -1
  132. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js +9 -2
  133. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js.map +1 -1
  134. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js +6 -6
  135. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js.map +1 -1
  136. package/dist/tsconfig.tsbuildinfo +1 -1
  137. package/dist/utils/date.js.map +1 -1
  138. package/dist/utils/game-table-result.js +17 -5
  139. package/dist/utils/game-table-result.js.map +1 -1
  140. package/dist/views/index.js.map +1 -1
  141. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  142. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.js.map +1 -1
  143. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  144. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.js.map +1 -1
  145. package/dist/views/simple-room-conifrm-exit-dialog.view.d.ts +1 -1
  146. package/dist/views/simple-room-conifrm-exit-dialog.view.js.map +1 -1
  147. package/dist/views/table-summary.view.d.ts +2 -2
  148. package/dist/views/table-summary.view.js +17 -5
  149. package/dist/views/table-summary.view.js.map +1 -1
  150. package/dist/views/tournament-buy-ticket-dialog.view.d.ts +1 -1
  151. package/dist/views/tournament-buy-ticket-dialog.view.js +7 -1
  152. package/dist/views/tournament-buy-ticket-dialog.view.js.map +1 -1
  153. package/package.json +16 -6
  154. package/src/config/cert.ts +1 -1
  155. package/src/config/cors.ts +2 -2
  156. package/src/config/database.ts +10 -8
  157. package/src/config/locale.ts +23 -18
  158. package/src/config/menu.ts +5 -5
  159. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +33 -33
  160. package/src/dto/app-screen/app-screen-field.dto.ts +45 -45
  161. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +84 -84
  162. package/src/dto/app-screen/app-screen.dto.ts +3 -1
  163. package/src/dto/app-screen/base-app-screen.dto.ts +3 -1
  164. package/src/dto/app-table/card.dto.ts +7 -1
  165. package/src/dto/app-table/cards-deck.dto.ts +18 -18
  166. package/src/dto/app-table/cards-player.dto.ts +5 -5
  167. package/src/dto/app-table/index.ts +1 -1
  168. package/src/dto/common/find-free-table.dto.ts +1 -1
  169. package/src/dto/common/index.ts +1 -1
  170. package/src/dto/common/join-tournament.dto.ts +25 -22
  171. package/src/dto/common/log.dto.ts +4 -4
  172. package/src/dto/common/many-tables-tournament-create.dto.ts +4 -2
  173. package/src/dto/common/player-check-state.dto.ts +25 -22
  174. package/src/dto/common/player-connected.dto.ts +45 -45
  175. package/src/dto/games/fool/fool-player.dto.ts +2 -2
  176. package/src/dto/games/fool/fool-table.dto.ts +65 -63
  177. package/src/dto/games/index.ts +1 -1
  178. package/src/dto/index.ts +3 -3
  179. package/src/exception/error-code.enum.ts +3 -3
  180. package/src/exception/global-exception-filter.ts +26 -23
  181. package/src/exception/http-exception-wth-snackbar.ts +18 -14
  182. package/src/exception/index.ts +2 -2
  183. package/src/exception/not-enough-money-for-purchase.exception.ts +8 -9
  184. package/src/exception/not-found-free-room-for-fast-game.exception.ts +8 -9
  185. package/src/index.ts +1 -1
  186. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +8 -5
  187. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +48 -40
  188. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +81 -70
  189. package/src/modules/base-achievements/base-achievements.module.ts +198 -61
  190. package/src/modules/base-achievements/index.ts +1 -1
  191. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +11 -12
  192. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +24 -24
  193. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +2 -2
  194. package/src/modules/event-bus/events-bus.module.ts +2 -2
  195. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +2 -2
  196. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +11 -12
  197. package/src/modules/event-bus/index.ts +1 -1
  198. package/src/modules/events/events.gateway.ts +51 -49
  199. package/src/modules/events/events.interfaces.ts +6 -5
  200. package/src/modules/events/events.module.ts +18 -19
  201. package/src/modules/index.ts +13 -7
  202. package/src/modules/logger/jp-logger.module.ts +2 -2
  203. package/src/modules/logger/jp-logger.service.ts +28 -22
  204. package/src/modules/main/main-tables-list-screen.view.ts +247 -201
  205. package/src/modules/main/main.controller.ts +64 -43
  206. package/src/modules/main/main.interfaces.ts +6 -4
  207. package/src/modules/main/main.module.ts +56 -39
  208. package/src/modules/main/main.service.ts +149 -105
  209. package/src/modules/many-tables-tournament/index.ts +1 -1
  210. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +129 -111
  211. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +57 -55
  212. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -1
  213. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +131 -92
  214. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +8 -5
  215. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +62 -35
  216. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +161 -126
  217. package/src/modules/menu/menu-screen.view.ts +64 -63
  218. package/src/modules/menu/menu.controller.ts +5 -6
  219. package/src/modules/menu/menu.interfaces.ts +6 -4
  220. package/src/modules/menu/menu.module.ts +28 -22
  221. package/src/modules/menu/menu.service.ts +21 -21
  222. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +147 -138
  223. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -1
  224. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +91 -60
  225. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +8 -5
  226. package/src/modules/one-table-tournament/one-table-tournament.module.ts +58 -35
  227. package/src/modules/one-table-tournament/one-table-tournament.service.ts +103 -79
  228. package/src/modules/players-manager/players-manager.module.ts +1 -2
  229. package/src/modules/players-manager/players-manager.service.ts +5 -5
  230. package/src/modules/simple-rooms/simple-rooms.controller.ts +52 -43
  231. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +8 -5
  232. package/src/modules/simple-rooms/simple-rooms.module.ts +26 -23
  233. package/src/modules/simple-rooms/simple-rooms.service.ts +62 -57
  234. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -1
  235. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +10 -7
  236. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +44 -42
  237. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +163 -149
  238. package/src/modules/support/dump.service.ts +4 -5
  239. package/src/modules/support/metric.service.ts +29 -29
  240. package/src/modules/support/support.controller.ts +57 -48
  241. package/src/modules/support/support.module.ts +8 -9
  242. package/src/modules/support/support.service.ts +15 -12
  243. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.ts +3 -1
  244. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.ts +18 -9
  245. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.ts +71 -52
  246. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.ts +313 -266
  247. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.ts +3 -1
  248. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.ts +16 -9
  249. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.ts +50 -43
  250. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.ts +63 -43
  251. package/src/utils/date.ts +4 -4
  252. package/src/utils/game-table-result.ts +110 -91
  253. package/src/views/index.ts +1 -1
  254. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +33 -17
  255. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +33 -17
  256. package/src/views/simple-room-conifrm-exit-dialog.view.ts +33 -17
  257. package/src/views/table-summary.view.ts +89 -76
  258. package/src/views/tournament-buy-ticket-dialog.view.ts +30 -17
  259. package/readme.md +0 -3
@@ -1,15 +1,15 @@
1
1
  import { DynamicModule, Global, Module, Provider } from '@nestjs/common';
2
2
  import { MongooseModule } from '@nestjs/mongoose';
3
3
  import {
4
- TournamentOneTableRoom,
5
- TournamentOneTableRoomSchema,
6
- TournamentOneTableRoomsRepository,
7
- User,
8
- UserSchema,
9
- UsersRepository,
10
- GameResult,
11
- GameResultSchema,
12
- GameResultRepository,
4
+ TournamentOneTableRoom,
5
+ TournamentOneTableRoomSchema,
6
+ TournamentOneTableRoomsRepository,
7
+ User,
8
+ UserSchema,
9
+ UsersRepository,
10
+ GameResult,
11
+ GameResultSchema,
12
+ GameResultRepository,
13
13
  } from 'jp.db.schemas';
14
14
 
15
15
  import { TournamentOneTableRoomsManagerService } from './tournament-one-table-rooms-manager.service';
@@ -18,42 +18,49 @@ import { TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS } from './tournament-one-tab
18
18
 
19
19
  @Global()
20
20
  @Module({
21
- imports: [
22
- MongooseModule.forFeature([{name: TournamentOneTableRoom.name, schema: TournamentOneTableRoomSchema}]),
23
- MongooseModule.forFeature([{name: User.name, schema: UserSchema}]),
24
- MongooseModule.forFeature([{name: GameResult.name, schema: GameResultSchema}]),
25
- ],
26
- providers: [
27
- TournamentOneTableRoomsRepository,
28
- UsersRepository,
29
- TournamentOneTableRoomsManagerService,
30
- GameResultRepository,
31
- ],
32
- exports: [TournamentOneTableRoomsManagerService],
21
+ imports: [
22
+ MongooseModule.forFeature([
23
+ {
24
+ name: TournamentOneTableRoom.name,
25
+ schema: TournamentOneTableRoomSchema,
26
+ },
27
+ ]),
28
+ MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
29
+ MongooseModule.forFeature([
30
+ { name: GameResult.name, schema: GameResultSchema },
31
+ ]),
32
+ ],
33
+ providers: [
34
+ TournamentOneTableRoomsRepository,
35
+ UsersRepository,
36
+ TournamentOneTableRoomsManagerService,
37
+ GameResultRepository,
38
+ ],
39
+ exports: [TournamentOneTableRoomsManagerService],
33
40
  })
34
41
  export class TournamentOneTableRoomsManagerModule {
35
- constructor (
36
- private readonly managerService: TournamentOneTableRoomsManagerService,
37
- ) {
38
- }
42
+ constructor(
43
+ private readonly managerService: TournamentOneTableRoomsManagerService,
44
+ ) {}
39
45
 
40
- static forRootAsync (options: TournamentOneTableRoomsManagerOptions): DynamicModule {
41
- return {
42
- module: TournamentOneTableRoomsManagerModule,
43
- imports: options.imports ?? [],
44
- providers: [
45
- {
46
- provide: TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS,
47
- useFactory: options.useFactory,
48
- inject: options.inject || [],
49
- } as Provider,
50
- ],
51
- };
52
- }
46
+ static forRootAsync(
47
+ options: TournamentOneTableRoomsManagerOptions,
48
+ ): DynamicModule {
49
+ return {
50
+ module: TournamentOneTableRoomsManagerModule,
51
+ imports: options.imports ?? [],
52
+ providers: [
53
+ {
54
+ provide: TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS,
55
+ useFactory: options.useFactory,
56
+ inject: options.inject || [],
57
+ } as Provider,
58
+ ],
59
+ };
60
+ }
53
61
 
54
- async onModuleInit () {
55
- await this.managerService.createMasterTournament();
56
- await this.managerService.hydrateTournamentsFromDB();
57
- }
62
+ async onModuleInit() {
63
+ await this.managerService.createMasterTournament();
64
+ await this.managerService.hydrateTournamentsFromDB();
65
+ }
58
66
  }
59
-
@@ -19,14 +19,20 @@ import {
19
19
  GameResultRepository,
20
20
  TournamentOneTableRoomDocument,
21
21
  TournamentOneTableRoomsRepository,
22
- UsersRepository
22
+ UsersRepository,
23
23
  } from 'jp.db.schemas';
24
24
  import { InjectConnection } from '@nestjs/mongoose';
25
25
  import { Connection } from 'mongoose';
26
26
 
27
27
  import { JpLoggerService } from '../logger/jp-logger.service';
28
- import { saveGameTablesResult, saveTournamentResult } from '../../utils/game-table-result';
29
- import { EventsBusMainTablesSubscribeService, EventsBusOneTableTournamentSubscribeService } from '../event-bus';
28
+ import {
29
+ saveGameTablesResult,
30
+ saveTournamentResult,
31
+ } from '../../utils/game-table-result';
32
+ import {
33
+ EventsBusMainTablesSubscribeService,
34
+ EventsBusOneTableTournamentSubscribeService,
35
+ } from '../event-bus';
30
36
 
31
37
  import { TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS } from './tournament-one-table-rooms-manager.constants';
32
38
  import { TournamentOneTableRoomsFactoryOptions } from './tournament-one-table-rooms-manager.interfaces';
@@ -41,63 +47,72 @@ export class TournamentOneTableRoomsManagerService {
41
47
  private readonly gameResultRepository: GameResultRepository,
42
48
  private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
43
49
  private readonly eventsBusOneTableTournamentSubscribeService: EventsBusOneTableTournamentSubscribeService,
44
- @Inject(TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS) private readonly options: TournamentOneTableRoomsFactoryOptions,
50
+ @Inject(TOURNAMENT_ONE_TABLE_ROOMS_MANAGER_OPTIONS)
51
+ private readonly options: TournamentOneTableRoomsFactoryOptions,
45
52
  @InjectConnection() private readonly connection: Connection,
46
53
  @Inject() private readonly logger: JpLoggerService,
47
54
  ) {
48
55
  this.rooms = new Map<string, OneTableTournamentRoom>();
49
56
  }
50
57
 
51
- get gameType () {
58
+ get gameType() {
52
59
  return this.options.configService.get<string>('GAME_TYPE') || '';
53
60
  }
54
61
 
55
- getRoomById (roomId: string): OneTableTournamentRoom | undefined {
62
+ getRoomById(roomId: string): OneTableTournamentRoom | undefined {
56
63
  return this.rooms.get(roomId);
57
64
  }
58
65
 
59
- getRoomByTableId (tableId: string): OneTableTournamentRoom | undefined {
66
+ getRoomByTableId(tableId: string): OneTableTournamentRoom | undefined {
60
67
  const { roomId } = GameMaster.parseTableId(tableId);
61
68
 
62
69
  return this.getRoomById(roomId);
63
70
  }
64
71
 
65
- getRooms (): Array<OneTableTournamentRoom> {
72
+ getRooms(): Array<OneTableTournamentRoom> {
66
73
  return Array.from(this.rooms.values());
67
74
  }
68
75
 
69
- getTables (): Array<GameMaster> {
70
- return this.getRooms().reduce(
71
- (result, currentValue) => {
72
- return [...result, ...currentValue.getMasters()];
73
- },
74
- [] as Array<GameMaster>
75
- );
76
+ getTables(): Array<GameMaster> {
77
+ return this.getRooms().reduce((result, currentValue) => {
78
+ return [...result, ...currentValue.getMasters()];
79
+ }, [] as Array<GameMaster>);
76
80
  }
77
81
 
78
- addRoom (room: OneTableTournamentRoom) {
82
+ addRoom(room: OneTableTournamentRoom) {
79
83
  this.rooms.set(room.getId(), room);
80
84
  }
81
85
 
82
- async createMasterTournament () {
83
- const waitingTournament = await this.tournamentRepository.findWaitingTournament(this.gameType);
86
+ async createMasterTournament() {
87
+ const waitingTournament =
88
+ await this.tournamentRepository.findWaitingTournament(this.gameType);
84
89
  if (!waitingTournament) {
85
- await this.tournamentRepository.createTournamentFromMasterTemplate(this.gameType);
90
+ await this.tournamentRepository.createTournamentFromMasterTemplate(
91
+ this.gameType,
92
+ );
86
93
  }
87
94
  }
88
95
 
89
- async hydrateTournamentsFromDB () {
90
- const templates = await this.tournamentRepository.findActualTournaments(this.gameType);
96
+ async hydrateTournamentsFromDB() {
97
+ const templates = await this.tournamentRepository.findActualTournaments(
98
+ this.gameType,
99
+ );
91
100
  templates.forEach((item) => {
92
- this.addRoom(this.options.createTournamentRoom(
93
- this.oneTableTournamentDocumentToTournamentRoom(item)
94
- ));
101
+ this.addRoom(
102
+ this.options.createTournamentRoom(
103
+ this.oneTableTournamentDocumentToTournamentRoom(item),
104
+ ),
105
+ );
95
106
  });
96
107
  }
97
108
 
98
- private oneTableTournamentDocumentToTournamentRoom (tournamentDocument: TournamentOneTableRoomDocument): TournamentRoomConfig {
99
- const restartGameTimeout = this.options.configService.get<number>('RESTART_GAME_TIMEOUT') || 0;
100
- const playersTurnTimeout = this.options.configService.get<number>('PLAYERS_TURN_TIMEOUT') || 0;
109
+ private oneTableTournamentDocumentToTournamentRoom(
110
+ tournamentDocument: TournamentOneTableRoomDocument,
111
+ ): TournamentRoomConfig {
112
+ const restartGameTimeout =
113
+ this.options.configService.get<number>('RESTART_GAME_TIMEOUT') || 0;
114
+ const playersTurnTimeout =
115
+ this.options.configService.get<number>('PLAYERS_TURN_TIMEOUT') || 0;
101
116
 
102
117
  return {
103
118
  id: tournamentDocument.tournamentId,
@@ -122,20 +137,20 @@ export class TournamentOneTableRoomsManagerService {
122
137
  tournamentWinners: tournamentDocument.winners,
123
138
  maxParticipants: tournamentDocument.maxParticipants,
124
139
  participants: tournamentDocument.participants,
125
- } as TournamentRoomConfig;
140
+ };
126
141
  }
127
142
 
128
143
  private handleRoomEvent = (event: BaseGameEvent) => {
129
144
  this.logger.log(event.toLog());
130
145
 
131
146
  if (event instanceof GameTableFinishedEvent) {
132
- this.handleRoomTableGameFinished(event.master!!);
147
+ void this.handleRoomTableGameFinished(event.master);
133
148
  } else if (event instanceof GameTournamentStartedEvent) {
134
- this.handleTournamentRoomStarted(event.room.getRoomMaster());
149
+ void this.handleTournamentRoomStarted(event.room.getRoomMaster());
135
150
  } else if (event instanceof GameTournamentCancelledEvent) {
136
- this.handleTournamentRoomCancelled(event.room.getRoomMaster());
151
+ void this.handleTournamentRoomCancelled(event.room.getRoomMaster());
137
152
  } else if (event instanceof GameTournamentFinishedEvent) {
138
- this.handleTournamentRoomFinished(event.room.getRoomMaster());
153
+ void this.handleTournamentRoomFinished(event.room.getRoomMaster());
139
154
  } else if (
140
155
  event instanceof GameTournamentPlayerJoinedTheTournamentEvent ||
141
156
  event instanceof GameTournamentPlayerLeavedTheTournamentEvent ||
@@ -144,7 +159,9 @@ export class TournamentOneTableRoomsManagerService {
144
159
  event instanceof GameTournamentStartedEvent ||
145
160
  event instanceof GameTournamentFinishedEvent
146
161
  ) {
147
- this.handleRoomStatusUpdated(new RoomUpdateStateEvent(event.gameType, event.roomId));
162
+ void this.handleRoomStatusUpdated(
163
+ new RoomUpdateStateEvent(event.gameType, event.roomId),
164
+ );
148
165
  }
149
166
  };
150
167
 
@@ -167,12 +184,15 @@ export class TournamentOneTableRoomsManagerService {
167
184
  master.getTournamentId(),
168
185
  master.getRoom().getParticipants(),
169
186
  );
170
- const newTournament = await this.tournamentRepository.createTournamentFromMasterTemplate(
171
- master.getRoom().getGameType()
187
+ const newTournament =
188
+ await this.tournamentRepository.createTournamentFromMasterTemplate(
189
+ master.getRoom().getGameType(),
190
+ );
191
+ this.addRoom(
192
+ this.options.createTournamentRoom(
193
+ this.oneTableTournamentDocumentToTournamentRoom(newTournament),
194
+ ),
172
195
  );
173
- this.addRoom(this.options.createTournamentRoom(
174
- this.oneTableTournamentDocumentToTournamentRoom(newTournament)
175
- ));
176
196
 
177
197
  await session.commitTransaction();
178
198
  } catch (error) {
@@ -181,11 +201,11 @@ export class TournamentOneTableRoomsManagerService {
181
201
  } finally {
182
202
  await session.endSession();
183
203
  }
184
- }
204
+ };
185
205
 
186
206
  private handleTournamentRoomCancelled = async (master: TournamentMaster) => {
187
207
  await this.tournamentRepository.cancelTournament(master.getTournamentId());
188
- }
208
+ };
189
209
 
190
210
  private handleTournamentRoomFinished = async (master: TournamentMaster) => {
191
211
  await saveTournamentResult(
@@ -194,10 +214,10 @@ export class TournamentOneTableRoomsManagerService {
194
214
  this.tournamentRepository,
195
215
  this.usersRepository,
196
216
  );
197
- }
217
+ };
198
218
 
199
- private handleRoomStatusUpdated = async (event: RoomUpdateStateEvent) => {
219
+ private handleRoomStatusUpdated = (event: RoomUpdateStateEvent) => {
200
220
  this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
201
221
  this.eventsBusOneTableTournamentSubscribeService.pushNewRoomState(event);
202
- }
222
+ };
203
223
  }
package/src/utils/date.ts CHANGED
@@ -1,7 +1,7 @@
1
- export function getHours (timeStr: string) {
2
- return parseInt(timeStr.substring(0, 2), 10);
1
+ export function getHours(timeStr: string) {
2
+ return parseInt(timeStr.substring(0, 2), 10);
3
3
  }
4
4
 
5
- export function getMinutes (timeStr: string) {
6
- return parseInt(timeStr.substring(3, 5), 10);
5
+ export function getMinutes(timeStr: string) {
6
+ return parseInt(timeStr.substring(3, 5), 10);
7
7
  }
@@ -1,110 +1,129 @@
1
1
  import { Connection } from 'mongoose';
2
2
  import {
3
- GameResultRepository,
4
- TournamentManyTablesRoomsRepository,
5
- TournamentOneTableRoomsRepository,
6
- UsersRepository
3
+ GameResultRepository,
4
+ TournamentManyTablesRoomsRepository,
5
+ TournamentOneTableRoomsRepository,
6
+ UsersRepository,
7
7
  } from 'jp.db.schemas';
8
8
  import { GameMaster, TournamentMaster } from 'jp.ms.common.engine';
9
9
 
10
- export function getGameTableResults (master: GameMaster) {
11
- return {
12
- gameType: master.getRoom().getGameType(),
13
- gameId: master.getGameRound()?.getId() ?? '',
14
- roomId: master.getRoom().getId(),
15
- date: new Date(),
16
- pot: master.getGameRound()?.getPot() ?? 0,
17
- players: master.getTable().getPlayers().map((item) => ({
18
- userId: item.id,
19
- fullName: item.fullName,
20
- profit: item.profit,
21
- figures: [],
22
- })),
23
- winners: master.getGameResultHelper().getWinners().map((item) => ({
24
- userId: item.id,
25
- fullName: item.fullName,
26
- profit: item.profit,
27
- figures: [],
28
- })),
29
- history: master.getGameRound()?.getHistory().map((item) => ({
30
- userId: item.userId,
31
- fullName: item.fullName,
32
- date: item.date,
33
- actionType: item.actionType,
34
- state: item.state,
35
- turnNumber: item.turnNumber,
36
- moveAction: item.move?.action,
37
- moveData: item.move ?? undefined,
38
- figures: item.figures?.map((item) => ({
39
- figureId: item.id,
40
- type: item.type,
41
- name: item.getName(),
10
+ export function getGameTableResults(master: GameMaster) {
11
+ return {
12
+ gameType: master.getRoom().getGameType(),
13
+ gameId: master.getGameRound()?.getId() ?? '',
14
+ roomId: master.getRoom().getId(),
15
+ date: new Date(),
16
+ pot: master.getGameRound()?.getPot() ?? 0,
17
+ players: master
18
+ .getTable()
19
+ .getPlayers()
20
+ .map((item) => ({
21
+ userId: item.id,
22
+ fullName: item.fullName,
23
+ profit: item.profit,
24
+ figures: [],
25
+ })),
26
+ winners: master
27
+ .getGameResultHelper()
28
+ .getWinners()
29
+ .map((item) => ({
30
+ userId: item.id,
31
+ fullName: item.fullName,
32
+ profit: item.profit,
33
+ figures: [],
34
+ })),
35
+ history:
36
+ master
37
+ .getGameRound()
38
+ ?.getHistory()
39
+ .map((item) => ({
40
+ userId: item.userId,
41
+ fullName: item.fullName,
42
+ date: item.date,
43
+ actionType: item.actionType,
44
+ state: item.state,
45
+ turnNumber: item.turnNumber,
46
+ moveAction: item.move?.action,
47
+ moveData: item.move ?? undefined,
48
+ figures:
49
+ item.figures?.map((item) => ({
50
+ figureId: item.id,
51
+ type: item.type,
52
+ name: item.getName(),
42
53
  })) ?? [],
43
- })) ?? []
44
- };
54
+ })) ?? [],
55
+ };
45
56
  }
46
57
 
47
- export async function saveGameTablesResult (
48
- master: GameMaster,
49
- connection: Connection,
50
- gameResultRepository: GameResultRepository,
51
- usersRepository: UsersRepository,
52
- saveNewBalance: boolean,
58
+ export async function saveGameTablesResult(
59
+ master: GameMaster,
60
+ connection: Connection,
61
+ gameResultRepository: GameResultRepository,
62
+ usersRepository: UsersRepository,
63
+ saveNewBalance: boolean,
53
64
  ) {
54
- const userGameResult = master.getTable().getPlayers().map((player) => {
55
- return {
56
- userId: player.id,
57
- balanceAdding: saveNewBalance ? player.profit : 0,
58
- experienceAdding: master.levelHelper.getNewExperienceAmount(player),
59
- levelAdding: master.levelHelper.getNewLevelAdding(player.level, player.experience),
60
- };
65
+ const userGameResult = master
66
+ .getTable()
67
+ .getPlayers()
68
+ .map((player) => {
69
+ return {
70
+ userId: player.id,
71
+ balanceAdding: saveNewBalance ? player.profit : 0,
72
+ experienceAdding: master.levelHelper.getNewExperienceAmount(player),
73
+ levelAdding: master.levelHelper.getNewLevelAdding(
74
+ player.level,
75
+ player.experience,
76
+ ),
77
+ };
61
78
  });
62
79
 
63
- const session = await connection.startSession();
64
- session.startTransaction();
80
+ const session = await connection.startSession();
81
+ session.startTransaction();
65
82
 
66
- try {
67
- await gameResultRepository.createGameResult(getGameTableResults(master));
68
- await usersRepository.saveGameResult(userGameResult);
83
+ try {
84
+ await gameResultRepository.createGameResult(getGameTableResults(master));
85
+ await usersRepository.saveGameResult(userGameResult);
69
86
 
70
- await session.commitTransaction();
71
- } catch (error) {
72
- await session.abortTransaction();
73
- throw error;
74
- } finally {
75
- await session.endSession();
76
- }
87
+ await session.commitTransaction();
88
+ } catch (error) {
89
+ await session.abortTransaction();
90
+ throw error;
91
+ } finally {
92
+ await session.endSession();
93
+ }
77
94
  }
78
95
 
79
- export async function saveTournamentResult (
80
- master: TournamentMaster,
81
- connection: Connection,
82
- tournamentRepository: TournamentManyTablesRoomsRepository | TournamentOneTableRoomsRepository,
83
- usersRepository: UsersRepository,
96
+ export async function saveTournamentResult(
97
+ master: TournamentMaster,
98
+ connection: Connection,
99
+ tournamentRepository:
100
+ | TournamentManyTablesRoomsRepository
101
+ | TournamentOneTableRoomsRepository,
102
+ usersRepository: UsersRepository,
84
103
  ) {
85
- const userTournamentResult = master.getTournamentResult().map((player) => {
86
- return {
87
- userId: player.playerId,
88
- balanceAdding: player.profit,
89
- experienceAdding: 0,
90
- levelAdding: 0,
91
- };
92
- });
104
+ const userTournamentResult = master.getTournamentResult().map((player) => {
105
+ return {
106
+ userId: player.playerId,
107
+ balanceAdding: player.profit,
108
+ experienceAdding: 0,
109
+ levelAdding: 0,
110
+ };
111
+ });
93
112
 
94
- const session = await connection.startSession();
95
- session.startTransaction();
113
+ const session = await connection.startSession();
114
+ session.startTransaction();
96
115
 
97
- try {
98
- await usersRepository.saveGameResult(userTournamentResult);
99
- await tournamentRepository.finishTournament(
100
- master.getTournamentId(),
101
- master.getTournamentResult(),
102
- );
103
- await session.commitTransaction();
104
- } catch (error) {
105
- await session.abortTransaction();
106
- throw error;
107
- } finally {
108
- await session.endSession();
109
- }
116
+ try {
117
+ await usersRepository.saveGameResult(userTournamentResult);
118
+ await tournamentRepository.finishTournament(
119
+ master.getTournamentId(),
120
+ master.getTournamentResult(),
121
+ );
122
+ await session.commitTransaction();
123
+ } catch (error) {
124
+ await session.abortTransaction();
125
+ throw error;
126
+ } finally {
127
+ await session.endSession();
128
+ }
110
129
  }
@@ -2,4 +2,4 @@ export { TournamentBuyTicketDialogView } from './tournament-buy-ticket-dialog.vi
2
2
  export { SimpleRoomConfirmExitDialogView } from './simple-room-conifrm-exit-dialog.view';
3
3
  export { ManyTablesTournamentConfirmExitDialogView } from './many-tables-tournament-conifrm-exit-dialog.view';
4
4
  export { OneTableTournamentConfirmExitDialogView } from './one-table-tournament-conifrm-exit-dialog.view';
5
- export { TableSummaryView } from './table-summary.view'
5
+ export { TableSummaryView } from './table-summary.view';
@@ -1,21 +1,37 @@
1
1
  import {
2
- UniversalScreenDialogView,
3
- AppScreenDialogIdEnum,
4
- StandardDialogComponent,
5
- FullButtonsButtonsComponent,
6
- TextButtonComponent,
7
- } from "jp.common.models";
2
+ UniversalScreenDialogView,
3
+ AppScreenDialogIdEnum,
4
+ StandardDialogComponent,
5
+ FullButtonsButtonsComponent,
6
+ TextButtonComponent,
7
+ } from 'jp.common.models';
8
8
 
9
9
  export class ManyTablesTournamentConfirmExitDialogView extends UniversalScreenDialogView {
10
- build () {
11
- return new StandardDialogComponent(
12
- AppScreenDialogIdEnum.DIALOG_MANY_TABLES_TOURNAMENT_CONFIRM_EXIT,
13
- this.localeService.t('common.many.tables.tournament.screen.dialog.confirm.exit.game.title', { lang: this.lang }),
14
- this.localeService.t('common.many.tables.tournament.screen.dialog.confirm.exit.game.message', { lang: this.lang }),
15
- new FullButtonsButtonsComponent(
16
- new TextButtonComponent(this.localeService.t('common.many.tables.tournament.screen.dialog.confirm.exit.game.ok', { lang: this.lang })),
17
- new TextButtonComponent(this.localeService.t('common.many.tables.tournament.screen.dialog.confirm.exit.game.cancel', { lang: this.lang })),
18
- ),
19
- );
20
- }
10
+ build() {
11
+ return new StandardDialogComponent(
12
+ AppScreenDialogIdEnum.DIALOG_MANY_TABLES_TOURNAMENT_CONFIRM_EXIT,
13
+ this.localeService.t(
14
+ 'common.many.tables.tournament.screen.dialog.confirm.exit.game.title',
15
+ { lang: this.lang },
16
+ ),
17
+ this.localeService.t(
18
+ 'common.many.tables.tournament.screen.dialog.confirm.exit.game.message',
19
+ { lang: this.lang },
20
+ ),
21
+ new FullButtonsButtonsComponent(
22
+ new TextButtonComponent(
23
+ this.localeService.t(
24
+ 'common.many.tables.tournament.screen.dialog.confirm.exit.game.ok',
25
+ { lang: this.lang },
26
+ ),
27
+ ),
28
+ new TextButtonComponent(
29
+ this.localeService.t(
30
+ 'common.many.tables.tournament.screen.dialog.confirm.exit.game.cancel',
31
+ { lang: this.lang },
32
+ ),
33
+ ),
34
+ ),
35
+ );
36
+ }
21
37
  }
@@ -1,21 +1,37 @@
1
1
  import {
2
- UniversalScreenDialogView,
3
- AppScreenDialogIdEnum,
4
- StandardDialogComponent,
5
- FullButtonsButtonsComponent,
6
- TextButtonComponent,
7
- } from "jp.common.models";
2
+ UniversalScreenDialogView,
3
+ AppScreenDialogIdEnum,
4
+ StandardDialogComponent,
5
+ FullButtonsButtonsComponent,
6
+ TextButtonComponent,
7
+ } from 'jp.common.models';
8
8
 
9
9
  export class OneTableTournamentConfirmExitDialogView extends UniversalScreenDialogView {
10
- build () {
11
- return new StandardDialogComponent(
12
- AppScreenDialogIdEnum.DIALOG_ONE_TABLE_TOURNAMENT_CONFIRM_EXIT,
13
- this.localeService.t('common.one.table.tournament.screen.dialog.confirm.exit.game.title', { lang: this.lang }),
14
- this.localeService.t('common.one.table.tournament.screen.dialog.confirm.exit.game.message', { lang: this.lang }),
15
- new FullButtonsButtonsComponent(
16
- new TextButtonComponent(this.localeService.t('common.one.table.tournament.screen.dialog.confirm.exit.game.ok', { lang: this.lang })),
17
- new TextButtonComponent(this.localeService.t('common.one.table.tournament.screen.dialog.confirm.exit.game.cancel', { lang: this.lang })),
18
- ),
19
- );
20
- }
10
+ build() {
11
+ return new StandardDialogComponent(
12
+ AppScreenDialogIdEnum.DIALOG_ONE_TABLE_TOURNAMENT_CONFIRM_EXIT,
13
+ this.localeService.t(
14
+ 'common.one.table.tournament.screen.dialog.confirm.exit.game.title',
15
+ { lang: this.lang },
16
+ ),
17
+ this.localeService.t(
18
+ 'common.one.table.tournament.screen.dialog.confirm.exit.game.message',
19
+ { lang: this.lang },
20
+ ),
21
+ new FullButtonsButtonsComponent(
22
+ new TextButtonComponent(
23
+ this.localeService.t(
24
+ 'common.one.table.tournament.screen.dialog.confirm.exit.game.ok',
25
+ { lang: this.lang },
26
+ ),
27
+ ),
28
+ new TextButtonComponent(
29
+ this.localeService.t(
30
+ 'common.one.table.tournament.screen.dialog.confirm.exit.game.cancel',
31
+ { lang: this.lang },
32
+ ),
33
+ ),
34
+ ),
35
+ );
36
+ }
21
37
  }