jp.ms.common.modules 1.0.41 → 1.0.43

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 (234) hide show
  1. package/dist/dto/app-table/card.dto.d.ts +1 -0
  2. package/dist/dto/app-table/card.dto.js +11 -0
  3. package/dist/dto/app-table/card.dto.js.map +1 -1
  4. package/dist/dto/app-table/player.dto.d.ts +1 -0
  5. package/dist/dto/app-table/player.dto.js +11 -0
  6. package/dist/dto/app-table/player.dto.js.map +1 -1
  7. package/dist/dto/games/fool/fool-table.dto.d.ts +1 -0
  8. package/dist/dto/games/fool/fool-table.dto.js +10 -0
  9. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  10. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +3 -1
  11. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +8 -4
  12. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  13. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +6 -2
  14. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +37 -10
  15. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  16. package/dist/modules/base-achievements/base-achievements.module.js +2 -2
  17. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  18. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.d.ts +1 -0
  19. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js +5 -0
  20. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js.map +1 -0
  21. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.d.ts +13 -0
  22. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js +3 -0
  23. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js.map +1 -0
  24. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.d.ts +15 -0
  25. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js +77 -0
  26. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js.map +1 -0
  27. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.d.ts +19 -0
  28. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js +83 -0
  29. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js.map +1 -0
  30. package/dist/modules/event-bus/events-bus.module.js +3 -0
  31. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  32. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.d.ts +10 -0
  33. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js +26 -0
  34. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js.map +1 -0
  35. package/dist/modules/event-bus/index.d.ts +1 -0
  36. package/dist/modules/event-bus/index.js +3 -1
  37. package/dist/modules/event-bus/index.js.map +1 -1
  38. package/dist/modules/events/events.gateway.d.ts +6 -1
  39. package/dist/modules/events/events.gateway.js +19 -5
  40. package/dist/modules/events/events.gateway.js.map +1 -1
  41. package/dist/modules/index.d.ts +1 -0
  42. package/dist/modules/index.js +3 -1
  43. package/dist/modules/index.js.map +1 -1
  44. package/dist/modules/main/main.controller.d.ts +0 -1
  45. package/dist/modules/main/main.controller.js +0 -12
  46. package/dist/modules/main/main.controller.js.map +1 -1
  47. package/dist/modules/main/main.module.js +1 -1
  48. package/dist/modules/main/main.module.js.map +1 -1
  49. package/dist/modules/main/main.service.d.ts +0 -1
  50. package/dist/modules/main/main.service.js +0 -13
  51. package/dist/modules/main/main.service.js.map +1 -1
  52. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +1 -0
  53. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +12 -0
  54. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  55. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +7 -2
  56. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  57. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +4 -1
  58. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +18 -2
  59. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  60. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js +2 -0
  61. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -1
  62. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts +3 -2
  63. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js +9 -6
  64. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -1
  65. package/dist/modules/menu/menu-screen.view.d.ts +2 -1
  66. package/dist/modules/menu/menu-screen.view.js +9 -3
  67. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  68. package/dist/modules/menu/menu.interfaces.d.ts +1 -0
  69. package/dist/modules/menu/menu.service.js +1 -1
  70. package/dist/modules/menu/menu.service.js.map +1 -1
  71. package/dist/modules/one-table-tournament/one-table-tournament.module.js +1 -1
  72. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  73. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js +2 -0
  74. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -1
  75. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts +3 -2
  76. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js +9 -6
  77. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -1
  78. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +2 -0
  79. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  80. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +3 -2
  81. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +8 -5
  82. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/dist/utils/game-table-result.d.ts +4 -3
  85. package/dist/utils/game-table-result.js +54 -4
  86. package/dist/utils/game-table-result.js.map +1 -1
  87. package/package.json +57 -57
  88. package/src/dto/app-screen/app-screen-app-bar.dto.ts +36 -36
  89. package/src/dto/app-screen/app-screen-dialog.dto.ts +64 -64
  90. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +42 -42
  91. package/src/dto/app-screen/app-screen-field.dto.ts +59 -59
  92. package/src/dto/app-screen/app-screen-section-button.dto.ts +60 -60
  93. package/src/dto/app-screen/app-screen-section-buttons.dto.ts +14 -14
  94. package/src/dto/app-screen/app-screen-section-image.dto.ts +33 -33
  95. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +105 -105
  96. package/src/dto/app-screen/app-screen-section-req.dto.ts +33 -33
  97. package/src/dto/app-screen/app-screen-section.dto.ts +76 -76
  98. package/src/dto/app-screen/app-screen.dto.ts +50 -50
  99. package/src/dto/app-screen/base-app-screen.dto.ts +16 -16
  100. package/src/dto/app-screen/index.ts +10 -10
  101. package/src/dto/app-table/bids-panel-item.dto.ts +33 -33
  102. package/src/dto/app-table/bids-panel.dto.ts +32 -32
  103. package/src/dto/app-table/card.dto.ts +63 -54
  104. package/src/dto/app-table/cards-deck.dto.ts +22 -22
  105. package/src/dto/app-table/cards-pair-slots-item.dto.ts +45 -45
  106. package/src/dto/app-table/cards-pair-slots.dto.ts +13 -13
  107. package/src/dto/app-table/cards-panel.dto.ts +48 -48
  108. package/src/dto/app-table/cards-player.dto.ts +14 -14
  109. package/src/dto/app-table/cards-slots-item.dto.ts +40 -40
  110. package/src/dto/app-table/cards-slots.dto.ts +13 -13
  111. package/src/dto/app-table/index.ts +15 -15
  112. package/src/dto/app-table/moves-panel-button.dto.ts +24 -24
  113. package/src/dto/app-table/moves-panel.dto.ts +23 -23
  114. package/src/dto/app-table/player.dto.ts +78 -69
  115. package/src/dto/app-table/summary-item.dto.ts +51 -51
  116. package/src/dto/app-table/summary.dto.ts +13 -13
  117. package/src/dto/common/find-free-table.dto.ts +3 -3
  118. package/src/dto/common/index.ts +2 -2
  119. package/src/dto/common/join-tournament.dto.ts +33 -33
  120. package/src/dto/common/log.dto.ts +9 -9
  121. package/src/dto/common/many-tables-tournament-create.dto.ts +125 -125
  122. package/src/dto/common/many-tables-tournament-update.dto.ts +3 -3
  123. package/src/dto/common/player-check-state.dto.ts +33 -33
  124. package/src/dto/common/player-connected.dto.ts +58 -58
  125. package/src/dto/games/fool/fool-player.dto.ts +3 -3
  126. package/src/dto/games/fool/fool-table.dto.ts +89 -81
  127. package/src/dto/games/index.ts +2 -2
  128. package/src/dto/games/poker/poker-player.dto.ts +3 -3
  129. package/src/dto/games/poker/poker-table.dto.ts +81 -81
  130. package/src/dto/index.ts +4 -4
  131. package/src/exception/error-code.enum.ts +4 -4
  132. package/src/exception/global-exception-filter.ts +53 -53
  133. package/src/exception/http-exception-wth-snackbar.ts +27 -27
  134. package/src/exception/index.ts +4 -4
  135. package/src/exception/not-enough-money-for-purchase.exception.ts +14 -14
  136. package/src/exception/not-found-free-room-for-fast-game.exception.ts +14 -14
  137. package/src/index.ts +4 -4
  138. package/src/modules/anti-freeze-system/anti-freeze-system.constants.ts +1 -1
  139. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +20 -20
  140. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +59 -55
  141. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +136 -105
  142. package/src/modules/anti-freeze-system/index.ts +1 -1
  143. package/src/modules/base-achievements/base-achievements.module.ts +324 -322
  144. package/src/modules/base-achievements/index.ts +1 -1
  145. package/src/modules/confirmation-message-manager/confirmation-message-manager.constants.ts +3 -0
  146. package/src/modules/confirmation-message-manager/confirmation-message-manager.interfaces.ts +20 -0
  147. package/src/modules/confirmation-message-manager/confirmation-message-manager.module.ts +77 -0
  148. package/src/modules/confirmation-message-manager/confirmation-message-manager.service.ts +91 -0
  149. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +20 -20
  150. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +34 -34
  151. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +6 -6
  152. package/src/modules/event-bus/events-bus.module.ts +26 -23
  153. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +6 -6
  154. package/src/modules/event-bus/events-bus.player-ws-message.subscribe.service.ts +30 -0
  155. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +18 -18
  156. package/src/modules/event-bus/index.ts +6 -5
  157. package/src/modules/events/events.constants.ts +1 -1
  158. package/src/modules/events/events.gateway.ts +84 -70
  159. package/src/modules/events/events.interfaces.ts +17 -17
  160. package/src/modules/events/events.module.ts +32 -32
  161. package/src/modules/events/index.ts +1 -1
  162. package/src/modules/index.ts +28 -27
  163. package/src/modules/logger/index.ts +2 -2
  164. package/src/modules/logger/jp-logger.module.ts +10 -10
  165. package/src/modules/logger/jp-logger.service.ts +38 -38
  166. package/src/modules/main/index.ts +1 -1
  167. package/src/modules/main/main-tables-list-screen.view.ts +275 -275
  168. package/src/modules/main/main.constants.ts +1 -1
  169. package/src/modules/main/main.controller.ts +51 -72
  170. package/src/modules/main/main.interfaces.ts +17 -17
  171. package/src/modules/main/main.module.ts +73 -73
  172. package/src/modules/main/main.service.ts +154 -183
  173. package/src/modules/many-tables-tournament/index.ts +1 -1
  174. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +143 -143
  175. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +63 -63
  176. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -3
  177. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +164 -151
  178. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +20 -20
  179. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +89 -80
  180. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +241 -208
  181. package/src/modules/many-tables-tournament-rooms-manager/index.ts +2 -2
  182. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.ts +3 -3
  183. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +37 -37
  184. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +89 -84
  185. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +333 -331
  186. package/src/modules/menu/index.ts +1 -1
  187. package/src/modules/menu/menu-screen.view.ts +78 -71
  188. package/src/modules/menu/menu.constants.ts +1 -1
  189. package/src/modules/menu/menu.controller.ts +16 -16
  190. package/src/modules/menu/menu.interfaces.ts +18 -17
  191. package/src/modules/menu/menu.module.ts +39 -39
  192. package/src/modules/menu/menu.service.ts +40 -39
  193. package/src/modules/one-table-tournament/index.ts +1 -1
  194. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +166 -166
  195. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -3
  196. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +104 -104
  197. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +20 -20
  198. package/src/modules/one-table-tournament/one-table-tournament.module.ts +80 -76
  199. package/src/modules/one-table-tournament/one-table-tournament.service.ts +146 -146
  200. package/src/modules/one-table-tournament-rooms-manager/index.ts +2 -2
  201. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.ts +3 -3
  202. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +31 -31
  203. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +71 -66
  204. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +222 -220
  205. package/src/modules/players-manager/index.ts +2 -2
  206. package/src/modules/players-manager/players-manager.module.ts +9 -9
  207. package/src/modules/players-manager/players-manager.service.ts +27 -27
  208. package/src/modules/simple-rooms/index.ts +1 -1
  209. package/src/modules/simple-rooms/simple-rooms.constants.ts +1 -1
  210. package/src/modules/simple-rooms/simple-rooms.controller.ts +63 -63
  211. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +20 -20
  212. package/src/modules/simple-rooms/simple-rooms.module.ts +39 -39
  213. package/src/modules/simple-rooms/simple-rooms.service.ts +95 -95
  214. package/src/modules/simple-rooms-manager/index.ts +2 -2
  215. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -3
  216. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +26 -26
  217. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +65 -60
  218. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +192 -190
  219. package/src/modules/support/dump.service.ts +11 -11
  220. package/src/modules/support/index.ts +1 -1
  221. package/src/modules/support/metric.service.ts +41 -41
  222. package/src/modules/support/support.constants.ts +1 -1
  223. package/src/modules/support/support.controller.ts +79 -79
  224. package/src/modules/support/support.interfaces.ts +16 -16
  225. package/src/modules/support/support.module.ts +35 -35
  226. package/src/modules/support/support.service.ts +27 -27
  227. package/src/utils/date.ts +7 -7
  228. package/src/utils/game-table-result.ts +190 -129
  229. package/src/views/index.ts +5 -5
  230. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +37 -37
  231. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +37 -37
  232. package/src/views/simple-room-conifrm-exit-dialog.view.ts +37 -37
  233. package/src/views/table-summary.view.ts +104 -104
  234. package/src/views/tournament-buy-ticket-dialog.view.ts +34 -34
@@ -1,72 +1,51 @@
1
- import {
2
- Controller,
3
- Get,
4
- Headers,
5
- HttpCode,
6
- HttpStatus,
7
- Param,
8
- Post,
9
- } from '@nestjs/common';
10
- import { IAppHeaders } from 'jp.common.models';
11
-
12
- import {
13
- PlayerCheckStateDto,
14
- FindFreeTableDto,
15
- BaseAppScreenDto,
16
- } from '../../dto';
17
-
18
- import { MainService } from './main.service';
19
-
20
- @Controller('main')
21
- export class MainController {
22
- constructor(private readonly mainService: MainService) {}
23
-
24
- @Get('player_check_state')
25
- checkState(@Headers() headers: IAppHeaders): Promise<PlayerCheckStateDto> {
26
- return this.mainService.playerCheckState(
27
- headers.client_auth_token,
28
- headers.client_game,
29
- );
30
- }
31
-
32
- @Get('tables')
33
- getScreen(@Headers() headers: IAppHeaders): BaseAppScreenDto {
34
- return this.mainService.getScreen(
35
- headers.client_language,
36
- headers.client_auth_token,
37
- );
38
- }
39
-
40
- @Get('tables/subscribe')
41
- subscribeOnTablesScreen(@Headers() headers: IAppHeaders): Promise<void> {
42
- return this.mainService.subscribeOnTablesScreen(headers.client_language);
43
- }
44
-
45
- @Get('tables/unsubscribe')
46
- unsubscribeFromTablesScreen(@Headers() headers: IAppHeaders): Promise<void> {
47
- return this.mainService.unsubscribeFromTablesScreen(
48
- headers.client_language,
49
- );
50
- }
51
-
52
- @Get('find_free_table')
53
- findFreeTable(@Headers() headers: IAppHeaders): FindFreeTableDto {
54
- return this.mainService.findFreeTable(
55
- headers.client_auth_token,
56
- headers.client_language,
57
- );
58
- }
59
-
60
- @Post('many_tables_tournament/buy_ticket/:tournamentId')
61
- @HttpCode(HttpStatus.OK)
62
- buyTicket(
63
- @Param('tournamentId') tournamentId: string,
64
- @Headers() headers: IAppHeaders,
65
- ): Promise<BaseAppScreenDto> {
66
- return this.mainService.manyTablesTournamentbBuyTicket(
67
- headers.client_auth_token,
68
- headers.client_language,
69
- tournamentId,
70
- );
71
- }
72
- }
1
+ import { Controller, Get, Headers } from '@nestjs/common';
2
+ import { IAppHeaders } from 'jp.common.models';
3
+
4
+ import {
5
+ PlayerCheckStateDto,
6
+ FindFreeTableDto,
7
+ BaseAppScreenDto,
8
+ } from '../../dto';
9
+
10
+ import { MainService } from './main.service';
11
+
12
+ @Controller('main')
13
+ export class MainController {
14
+ constructor(private readonly mainService: MainService) {}
15
+
16
+ @Get('player_check_state')
17
+ checkState(@Headers() headers: IAppHeaders): Promise<PlayerCheckStateDto> {
18
+ return this.mainService.playerCheckState(
19
+ headers.client_auth_token,
20
+ headers.client_game,
21
+ );
22
+ }
23
+
24
+ @Get('tables')
25
+ getScreen(@Headers() headers: IAppHeaders): BaseAppScreenDto {
26
+ return this.mainService.getScreen(
27
+ headers.client_language,
28
+ headers.client_auth_token,
29
+ );
30
+ }
31
+
32
+ @Get('tables/subscribe')
33
+ subscribeOnTablesScreen(@Headers() headers: IAppHeaders): Promise<void> {
34
+ return this.mainService.subscribeOnTablesScreen(headers.client_language);
35
+ }
36
+
37
+ @Get('tables/unsubscribe')
38
+ unsubscribeFromTablesScreen(@Headers() headers: IAppHeaders): Promise<void> {
39
+ return this.mainService.unsubscribeFromTablesScreen(
40
+ headers.client_language,
41
+ );
42
+ }
43
+
44
+ @Get('find_free_table')
45
+ findFreeTable(@Headers() headers: IAppHeaders): FindFreeTableDto {
46
+ return this.mainService.findFreeTable(
47
+ headers.client_auth_token,
48
+ headers.client_language,
49
+ );
50
+ }
51
+ }
@@ -1,17 +1,17 @@
1
- import { ModuleMetadata } from '@nestjs/common';
2
- import { I18nService } from 'nestjs-i18n';
3
- import { Type } from '@nestjs/common/interfaces/type.interface';
4
- import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
5
- import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
-
7
- export interface MainModuleOptions extends Pick<ModuleMetadata, 'imports'> {
8
- imports?: Array<
9
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
10
- >;
11
- inject?: any[];
12
- useFactory?: (...args: any[]) => Promise<any> | any;
13
- }
14
-
15
- export interface MainFactoryOptions {
16
- i18n: I18nService;
17
- }
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ import { I18nService } from 'nestjs-i18n';
3
+ import { Type } from '@nestjs/common/interfaces/type.interface';
4
+ import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
5
+ import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
+
7
+ export interface MainModuleOptions extends Pick<ModuleMetadata, 'imports'> {
8
+ imports?: Array<
9
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
10
+ >;
11
+ inject?: any[];
12
+ useFactory?: (...args: any[]) => Promise<any> | any;
13
+ }
14
+
15
+ export interface MainFactoryOptions {
16
+ i18n: I18nService;
17
+ }
@@ -1,73 +1,73 @@
1
- import { DynamicModule, Module, Provider } from '@nestjs/common';
2
- import { MongooseModule } from '@nestjs/mongoose';
3
- import {
4
- GamePlayer,
5
- MainTablesUpdateListWsEvent,
6
- RoomUpdateStateEvent,
7
- } from 'jp.ms.common.engine';
8
- import {
9
- ActivityLog,
10
- ActivityLogRepository,
11
- ActivityLogSchema,
12
- User,
13
- UserSchema,
14
- UsersRepository,
15
- } from 'jp.db.schemas';
16
-
17
- import { EventsBusMainTablesSubscribeService } from '../event-bus';
18
-
19
- import { MainController } from './main.controller';
20
- import { MainService } from './main.service';
21
- import { MAIN_OPTIONS } from './main.constants';
22
- import { MainModuleOptions } from './main.interfaces';
23
-
24
- @Module({
25
- imports: [
26
- MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
27
- MongooseModule.forFeature([
28
- { name: ActivityLog.name, schema: ActivityLogSchema },
29
- ]),
30
- ],
31
- controllers: [MainController],
32
- providers: [MainService, UsersRepository, ActivityLogRepository],
33
- })
34
- export class MainModule {
35
- constructor(
36
- private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
37
- private readonly mainService: MainService,
38
- ) {}
39
-
40
- static forRootAsync(options: MainModuleOptions): DynamicModule {
41
- return {
42
- module: MainModule,
43
- imports: options.imports ?? [],
44
- providers: [
45
- {
46
- provide: MAIN_OPTIONS,
47
- useFactory: options.useFactory,
48
- inject: options.inject || [],
49
- } as Provider,
50
- ],
51
- };
52
- }
53
-
54
- onModuleInit() {
55
- this.eventsBusMainTablesSubscribeService.subscribe(
56
- this.onHandleStatusRoomChange,
57
- );
58
- }
59
-
60
- private onHandleStatusRoomChange = (event: RoomUpdateStateEvent) => {
61
- this.eventsBusMainTablesSubscribeService
62
- .getTablesSubscribers()
63
- .forEach((subscriber: GamePlayer) => {
64
- const screen = this.mainService.getScreen(
65
- subscriber.language,
66
- subscriber.id,
67
- );
68
- subscriber.sendMessage(
69
- new MainTablesUpdateListWsEvent(event.game, screen),
70
- );
71
- });
72
- };
73
- }
1
+ import { DynamicModule, Module, Provider } from '@nestjs/common';
2
+ import { MongooseModule } from '@nestjs/mongoose';
3
+ import {
4
+ GamePlayer,
5
+ MainTablesUpdateListWsEvent,
6
+ RoomUpdateStateEvent,
7
+ } from 'jp.ms.common.engine';
8
+ import {
9
+ ActivityLog,
10
+ ActivityLogRepository,
11
+ ActivityLogSchema,
12
+ User,
13
+ UserSchema,
14
+ UsersRepository,
15
+ } from 'jp.db.schemas';
16
+
17
+ import { EventsBusMainTablesSubscribeService } from '../event-bus';
18
+
19
+ import { MainController } from './main.controller';
20
+ import { MainService } from './main.service';
21
+ import { MAIN_OPTIONS } from './main.constants';
22
+ import { MainModuleOptions } from './main.interfaces';
23
+
24
+ @Module({
25
+ imports: [
26
+ MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
27
+ MongooseModule.forFeature([
28
+ { name: ActivityLog.name, schema: ActivityLogSchema },
29
+ ]),
30
+ ],
31
+ controllers: [MainController],
32
+ providers: [MainService, UsersRepository, ActivityLogRepository],
33
+ })
34
+ export class MainModule {
35
+ constructor(
36
+ private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
37
+ private readonly mainService: MainService,
38
+ ) {}
39
+
40
+ static forRootAsync(options: MainModuleOptions): DynamicModule {
41
+ return {
42
+ module: MainModule,
43
+ imports: options.imports ?? [],
44
+ providers: [
45
+ {
46
+ provide: MAIN_OPTIONS,
47
+ useFactory: options.useFactory,
48
+ inject: options.inject || [],
49
+ } as Provider,
50
+ ],
51
+ };
52
+ }
53
+
54
+ onModuleInit() {
55
+ this.eventsBusMainTablesSubscribeService.subscribe(
56
+ this.onHandleStatusRoomChange,
57
+ );
58
+ }
59
+
60
+ private onHandleStatusRoomChange = (event: RoomUpdateStateEvent) => {
61
+ this.eventsBusMainTablesSubscribeService
62
+ .getTablesSubscribers()
63
+ .forEach((subscriber: GamePlayer) => {
64
+ const screen = this.mainService.getScreen(
65
+ subscriber.language,
66
+ subscriber.id,
67
+ );
68
+ subscriber.sendMessage(
69
+ new MainTablesUpdateListWsEvent(event.game, subscriber.id, screen),
70
+ );
71
+ });
72
+ };
73
+ }
@@ -1,183 +1,154 @@
1
- import {
2
- Inject,
3
- Injectable,
4
- InternalServerErrorException,
5
- } from '@nestjs/common';
6
- import dayjs from 'dayjs';
7
- import isToday from 'dayjs/plugin/isToday';
8
- import { ActivityLogRepository, UsersRepository } from 'jp.db.schemas';
9
- import {
10
- SimpleRoom,
11
- OneTableTournamentRoom,
12
- ManyTablesTournamentRoom,
13
- } from 'jp.ms.common.engine';
14
- import {
15
- AppScreenRoutesEnum,
16
- ErrorSnackbarComponent,
17
- AppScreenRouter,
18
- } from 'jp.common.models';
19
-
20
- import {
21
- BaseAppScreenDto,
22
- PlayerCheckStateDto,
23
- FindFreeTableDto,
24
- } from '../../dto';
25
- import { SimpleRoomsManagerService } from '../simple-rooms-manager';
26
- import { PlayersManagerService } from '../players-manager';
27
- import { OneTableTournamentRoomsManagerService } from '../one-table-tournament-rooms-manager';
28
- import { ManyTablesTournamentRoomsManagerService } from '../many-tables-tournament-rooms-manager';
29
- import { EventsBusMainTablesSubscribeService } from '../event-bus/events-bus.main-tables.subscribe.service';
30
- import {
31
- ErrorCodeEnum,
32
- NotEnoughMoneyForPurchaseException,
33
- NotFoundFreeRoomForFastGameException,
34
- } from '../../exception';
35
-
36
- import { MainFactoryOptions } from './main.interfaces';
37
- import { MAIN_OPTIONS } from './main.constants';
38
- import { MainTablesListScreenView } from './main-tables-list-screen.view';
39
-
40
- @Injectable()
41
- export class MainService {
42
- constructor(
43
- private readonly simpleRoomsManager: SimpleRoomsManagerService,
44
- private readonly oneTableRoomsManagerService: OneTableTournamentRoomsManagerService,
45
- private readonly manyTablesRoomsManagerService: ManyTablesTournamentRoomsManagerService,
46
- private readonly playersManager: PlayersManagerService,
47
- private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
48
- private readonly usersRepository: UsersRepository,
49
- private readonly activityLogRepository: ActivityLogRepository,
50
- @Inject(MAIN_OPTIONS) private readonly options: MainFactoryOptions,
51
- ) {
52
- dayjs.extend(isToday);
53
- }
54
-
55
- getScreen(lang: string, clientAuthToken: string): BaseAppScreenDto {
56
- return new BaseAppScreenDto(
57
- new MainTablesListScreenView(
58
- this.options.i18n,
59
- lang,
60
- this.simpleRoomsManager.getRooms(),
61
- this.oneTableRoomsManagerService.getRooms(),
62
- this.manyTablesRoomsManagerService.getRooms(),
63
- clientAuthToken,
64
- ).buildBS(),
65
- );
66
- }
67
-
68
- subscribeOnTablesScreen(clientAuthToken: string): Promise<void> {
69
- const player = this.playersManager.getPlayerById(clientAuthToken);
70
-
71
- if (player) {
72
- this.eventsBusMainTablesSubscribeService.addTablesSubscriber(player);
73
- }
74
-
75
- throw new InternalServerErrorException();
76
- }
77
-
78
- unsubscribeFromTablesScreen(clientAuthToken: string): Promise<void> {
79
- const player = this.playersManager.getPlayerById(clientAuthToken);
80
-
81
- if (player) {
82
- this.eventsBusMainTablesSubscribeService.removeTablesSubbcriber(player);
83
- }
84
-
85
- throw new InternalServerErrorException();
86
- }
87
-
88
- async playerCheckState(
89
- clientAuthToken: string,
90
- game: string,
91
- ): Promise<PlayerCheckStateDto> {
92
- const player = this.playersManager.getPlayerById(clientAuthToken);
93
- let redirectUrl: string = AppScreenRoutesEnum.MENU;
94
-
95
- const foundUser = await this.usersRepository.findById(clientAuthToken);
96
- const isNewbie =
97
- await this.activityLogRepository.userIsNewbie(clientAuthToken);
98
- const last7logins = await this.activityLogRepository.findLast7DaysLogins(
99
- game,
100
- clientAuthToken,
101
- );
102
-
103
- if (!foundUser) {
104
- throw new InternalServerErrorException();
105
- }
106
-
107
- if (
108
- player &&
109
- (player.isPlayer() || player.isTableQueuer()) &&
110
- player.tableId
111
- ) {
112
- if (player.room instanceof SimpleRoom) {
113
- redirectUrl = AppScreenRouter.getSimpleRoomTablePath(player.tableId);
114
- } else if (player.room instanceof OneTableTournamentRoom) {
115
- redirectUrl = AppScreenRouter.getOneTableTournamentTablePath(
116
- player.tableId,
117
- );
118
- } else if (player.room instanceof ManyTablesTournamentRoom) {
119
- redirectUrl = AppScreenRouter.getManyTablesTournamentTablePath(
120
- player.tableId,
121
- );
122
- }
123
- } else if (isNewbie) {
124
- redirectUrl = AppScreenRoutesEnum.WELCOME;
125
- } else if (
126
- dayjs(last7logins[0].date).isToday() &&
127
- last7logins[0].count === 1
128
- ) {
129
- redirectUrl = AppScreenRoutesEnum.DAILY_BONUS;
130
- } else if (dayjs(foundUser.premiumExpired).isToday()) {
131
- redirectUrl = AppScreenRoutesEnum.PREMIUM;
132
- }
133
-
134
- return PlayerCheckStateDto.fromEntities(redirectUrl, player?.id ?? '');
135
- }
136
-
137
- findFreeTable(clientAuthToken: string, lang: string): FindFreeTableDto {
138
- const player = this.playersManager.getPlayerById(clientAuthToken);
139
- const tableId = this.simpleRoomsManager.getFreeFastGameRoom()?.getId();
140
-
141
- if (!player || !tableId) {
142
- throw new NotFoundFreeRoomForFastGameException(
143
- new ErrorSnackbarComponent(
144
- ErrorCodeEnum.NOT_FOUND_FREE_ROOM_FOR_FAST_GAME,
145
- this.options.i18n.t('common.server.message.code.4003', { lang }),
146
- ),
147
- );
148
- }
149
-
150
- return FindFreeTableDto.fromEntities(
151
- AppScreenRouter.getSimpleRoomTablePath(tableId),
152
- player.id,
153
- );
154
- }
155
-
156
- async manyTablesTournamentbBuyTicket(
157
- clientAuthToken: string,
158
- lang: string,
159
- tournamentId: string,
160
- ): Promise<BaseAppScreenDto> {
161
- const player = this.playersManager.getPlayerById(clientAuthToken);
162
- const tournament =
163
- this.manyTablesRoomsManagerService.getRoomByTableId(tournamentId);
164
- const user = await this.usersRepository.findById(player?.id ?? '');
165
-
166
- if (!player || !tournament || !user) {
167
- throw new InternalServerErrorException();
168
- }
169
-
170
- if (user.balance < tournament.getTicketPrice()) {
171
- throw new NotEnoughMoneyForPurchaseException(
172
- new ErrorSnackbarComponent(
173
- ErrorCodeEnum.NOT_ENOUGH_MONEY_FOR_PURCHASE,
174
- this.options.i18n.t('common.server.message.code.4004', { lang }),
175
- ),
176
- );
177
- }
178
-
179
- await this.manyTablesRoomsManagerService.buyTicket(tournamentId, player);
180
-
181
- return this.getScreen(lang, clientAuthToken);
182
- }
183
- }
1
+ import {
2
+ Inject,
3
+ Injectable,
4
+ InternalServerErrorException,
5
+ } from '@nestjs/common';
6
+ import dayjs from 'dayjs';
7
+ import isToday from 'dayjs/plugin/isToday';
8
+ import { ActivityLogRepository, UsersRepository } from 'jp.db.schemas';
9
+ import {
10
+ SimpleRoom,
11
+ OneTableTournamentRoom,
12
+ ManyTablesTournamentRoom,
13
+ } from 'jp.ms.common.engine';
14
+ import {
15
+ AppScreenRoutesEnum,
16
+ ErrorSnackbarComponent,
17
+ AppScreenRouter,
18
+ } from 'jp.common.models';
19
+
20
+ import {
21
+ BaseAppScreenDto,
22
+ PlayerCheckStateDto,
23
+ FindFreeTableDto,
24
+ } from '../../dto';
25
+ import { SimpleRoomsManagerService } from '../simple-rooms-manager';
26
+ import { PlayersManagerService } from '../players-manager';
27
+ import { OneTableTournamentRoomsManagerService } from '../one-table-tournament-rooms-manager';
28
+ import { ManyTablesTournamentRoomsManagerService } from '../many-tables-tournament-rooms-manager';
29
+ import { EventsBusMainTablesSubscribeService } from '../event-bus/events-bus.main-tables.subscribe.service';
30
+ import {
31
+ ErrorCodeEnum,
32
+ NotFoundFreeRoomForFastGameException,
33
+ } from '../../exception';
34
+
35
+ import { MainFactoryOptions } from './main.interfaces';
36
+ import { MAIN_OPTIONS } from './main.constants';
37
+ import { MainTablesListScreenView } from './main-tables-list-screen.view';
38
+
39
+ @Injectable()
40
+ export class MainService {
41
+ constructor(
42
+ private readonly simpleRoomsManager: SimpleRoomsManagerService,
43
+ private readonly oneTableRoomsManagerService: OneTableTournamentRoomsManagerService,
44
+ private readonly manyTablesRoomsManagerService: ManyTablesTournamentRoomsManagerService,
45
+ private readonly playersManager: PlayersManagerService,
46
+ private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
47
+ private readonly usersRepository: UsersRepository,
48
+ private readonly activityLogRepository: ActivityLogRepository,
49
+ @Inject(MAIN_OPTIONS) private readonly options: MainFactoryOptions,
50
+ ) {
51
+ dayjs.extend(isToday);
52
+ }
53
+
54
+ getScreen(lang: string, clientAuthToken: string): BaseAppScreenDto {
55
+ return new BaseAppScreenDto(
56
+ new MainTablesListScreenView(
57
+ this.options.i18n,
58
+ lang,
59
+ this.simpleRoomsManager.getRooms(),
60
+ this.oneTableRoomsManagerService.getRooms(),
61
+ this.manyTablesRoomsManagerService.getRooms(),
62
+ clientAuthToken,
63
+ ).buildBS(),
64
+ );
65
+ }
66
+
67
+ subscribeOnTablesScreen(clientAuthToken: string): Promise<void> {
68
+ const player = this.playersManager.getPlayerById(clientAuthToken);
69
+
70
+ if (player) {
71
+ this.eventsBusMainTablesSubscribeService.addTablesSubscriber(player);
72
+ }
73
+
74
+ throw new InternalServerErrorException();
75
+ }
76
+
77
+ unsubscribeFromTablesScreen(clientAuthToken: string): Promise<void> {
78
+ const player = this.playersManager.getPlayerById(clientAuthToken);
79
+
80
+ if (player) {
81
+ this.eventsBusMainTablesSubscribeService.removeTablesSubbcriber(player);
82
+ }
83
+
84
+ throw new InternalServerErrorException();
85
+ }
86
+
87
+ async playerCheckState(
88
+ clientAuthToken: string,
89
+ game: string,
90
+ ): Promise<PlayerCheckStateDto> {
91
+ const player = this.playersManager.getPlayerById(clientAuthToken);
92
+ let redirectUrl: string = AppScreenRoutesEnum.MENU;
93
+
94
+ const foundUser = await this.usersRepository.findById(clientAuthToken);
95
+ const isNewbie =
96
+ await this.activityLogRepository.userIsNewbie(clientAuthToken);
97
+ const last7logins = await this.activityLogRepository.findLast7DaysLogins(
98
+ game,
99
+ clientAuthToken,
100
+ );
101
+
102
+ if (!foundUser) {
103
+ throw new InternalServerErrorException();
104
+ }
105
+
106
+ if (
107
+ player &&
108
+ (player.isPlayer() || player.isTableQueuer()) &&
109
+ player.tableId
110
+ ) {
111
+ if (player.room instanceof SimpleRoom) {
112
+ redirectUrl = AppScreenRouter.getSimpleRoomTablePath(player.tableId);
113
+ } else if (player.room instanceof OneTableTournamentRoom) {
114
+ redirectUrl = AppScreenRouter.getOneTableTournamentTablePath(
115
+ player.tableId,
116
+ );
117
+ } else if (player.room instanceof ManyTablesTournamentRoom) {
118
+ redirectUrl = AppScreenRouter.getManyTablesTournamentTablePath(
119
+ player.tableId,
120
+ );
121
+ }
122
+ } else if (isNewbie) {
123
+ redirectUrl = AppScreenRoutesEnum.WELCOME;
124
+ } else if (
125
+ dayjs(last7logins[0].date).isToday() &&
126
+ last7logins[0].count === 1
127
+ ) {
128
+ redirectUrl = AppScreenRoutesEnum.DAILY_BONUS;
129
+ } else if (dayjs(foundUser.premiumExpired).isToday()) {
130
+ redirectUrl = AppScreenRoutesEnum.PREMIUM;
131
+ }
132
+
133
+ return PlayerCheckStateDto.fromEntities(redirectUrl, player?.id ?? '');
134
+ }
135
+
136
+ findFreeTable(clientAuthToken: string, lang: string): FindFreeTableDto {
137
+ const player = this.playersManager.getPlayerById(clientAuthToken);
138
+ const tableId = this.simpleRoomsManager.getFreeFastGameRoom()?.getId();
139
+
140
+ if (!player || !tableId) {
141
+ throw new NotFoundFreeRoomForFastGameException(
142
+ new ErrorSnackbarComponent(
143
+ ErrorCodeEnum.NOT_FOUND_FREE_ROOM_FOR_FAST_GAME,
144
+ this.options.i18n.t('common.server.message.code.4003', { lang }),
145
+ ),
146
+ );
147
+ }
148
+
149
+ return FindFreeTableDto.fromEntities(
150
+ AppScreenRouter.getSimpleRoomTablePath(tableId),
151
+ player.id,
152
+ );
153
+ }
154
+ }
@@ -1 +1 @@
1
- export { ManyTablesTournamentModule } from './many-tables-tournament.module';
1
+ export { ManyTablesTournamentModule } from './many-tables-tournament.module';