jp.ms.common.modules 1.0.41 → 1.0.42

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 (189) hide show
  1. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +3 -1
  2. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +8 -4
  3. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  4. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +6 -2
  5. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +37 -10
  6. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  7. package/dist/modules/base-achievements/base-achievements.module.js +2 -2
  8. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  9. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.d.ts +1 -0
  10. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js +5 -0
  11. package/dist/modules/confirmation-message-manager/confirmation-message-manager.constants.js.map +1 -0
  12. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.d.ts +13 -0
  13. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js +3 -0
  14. package/dist/modules/confirmation-message-manager/confirmation-message-manager.interfaces.js.map +1 -0
  15. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.d.ts +15 -0
  16. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js +77 -0
  17. package/dist/modules/confirmation-message-manager/confirmation-message-manager.module.js.map +1 -0
  18. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.d.ts +19 -0
  19. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js +83 -0
  20. package/dist/modules/confirmation-message-manager/confirmation-message-manager.service.js.map +1 -0
  21. package/dist/modules/event-bus/events-bus.module.js +3 -0
  22. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  23. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.d.ts +10 -0
  24. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js +26 -0
  25. package/dist/modules/event-bus/events-bus.player-ws-message.subscribe.service.js.map +1 -0
  26. package/dist/modules/event-bus/index.d.ts +1 -0
  27. package/dist/modules/event-bus/index.js +3 -1
  28. package/dist/modules/event-bus/index.js.map +1 -1
  29. package/dist/modules/events/events.gateway.d.ts +6 -1
  30. package/dist/modules/events/events.gateway.js +15 -3
  31. package/dist/modules/events/events.gateway.js.map +1 -1
  32. package/dist/modules/index.d.ts +1 -0
  33. package/dist/modules/index.js +3 -1
  34. package/dist/modules/index.js.map +1 -1
  35. package/dist/modules/main/main.module.js +1 -1
  36. package/dist/modules/main/main.module.js.map +1 -1
  37. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +1 -1
  38. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  39. package/dist/modules/one-table-tournament/one-table-tournament.module.js +1 -1
  40. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +57 -57
  43. package/src/dto/app-screen/app-screen-app-bar.dto.ts +36 -36
  44. package/src/dto/app-screen/app-screen-dialog.dto.ts +64 -64
  45. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +42 -42
  46. package/src/dto/app-screen/app-screen-field.dto.ts +59 -59
  47. package/src/dto/app-screen/app-screen-section-button.dto.ts +60 -60
  48. package/src/dto/app-screen/app-screen-section-buttons.dto.ts +14 -14
  49. package/src/dto/app-screen/app-screen-section-image.dto.ts +33 -33
  50. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +105 -105
  51. package/src/dto/app-screen/app-screen-section-req.dto.ts +33 -33
  52. package/src/dto/app-screen/app-screen-section.dto.ts +76 -76
  53. package/src/dto/app-screen/app-screen.dto.ts +50 -50
  54. package/src/dto/app-screen/base-app-screen.dto.ts +16 -16
  55. package/src/dto/app-screen/index.ts +10 -10
  56. package/src/dto/app-table/bids-panel-item.dto.ts +33 -33
  57. package/src/dto/app-table/bids-panel.dto.ts +32 -32
  58. package/src/dto/app-table/card.dto.ts +54 -54
  59. package/src/dto/app-table/cards-deck.dto.ts +22 -22
  60. package/src/dto/app-table/cards-pair-slots-item.dto.ts +45 -45
  61. package/src/dto/app-table/cards-pair-slots.dto.ts +13 -13
  62. package/src/dto/app-table/cards-panel.dto.ts +48 -48
  63. package/src/dto/app-table/cards-player.dto.ts +14 -14
  64. package/src/dto/app-table/cards-slots-item.dto.ts +40 -40
  65. package/src/dto/app-table/cards-slots.dto.ts +13 -13
  66. package/src/dto/app-table/index.ts +15 -15
  67. package/src/dto/app-table/moves-panel-button.dto.ts +24 -24
  68. package/src/dto/app-table/moves-panel.dto.ts +23 -23
  69. package/src/dto/app-table/player.dto.ts +69 -69
  70. package/src/dto/app-table/summary-item.dto.ts +51 -51
  71. package/src/dto/app-table/summary.dto.ts +13 -13
  72. package/src/dto/common/find-free-table.dto.ts +3 -3
  73. package/src/dto/common/index.ts +2 -2
  74. package/src/dto/common/join-tournament.dto.ts +33 -33
  75. package/src/dto/common/log.dto.ts +9 -9
  76. package/src/dto/common/many-tables-tournament-create.dto.ts +125 -125
  77. package/src/dto/common/many-tables-tournament-update.dto.ts +3 -3
  78. package/src/dto/common/player-check-state.dto.ts +33 -33
  79. package/src/dto/common/player-connected.dto.ts +58 -58
  80. package/src/dto/games/fool/fool-player.dto.ts +3 -3
  81. package/src/dto/games/fool/fool-table.dto.ts +81 -81
  82. package/src/dto/games/index.ts +2 -2
  83. package/src/dto/games/poker/poker-player.dto.ts +3 -3
  84. package/src/dto/games/poker/poker-table.dto.ts +81 -81
  85. package/src/dto/index.ts +4 -4
  86. package/src/exception/error-code.enum.ts +4 -4
  87. package/src/exception/global-exception-filter.ts +53 -53
  88. package/src/exception/http-exception-wth-snackbar.ts +27 -27
  89. package/src/exception/index.ts +4 -4
  90. package/src/exception/not-enough-money-for-purchase.exception.ts +14 -14
  91. package/src/exception/not-found-free-room-for-fast-game.exception.ts +14 -14
  92. package/src/index.ts +4 -4
  93. package/src/modules/anti-freeze-system/anti-freeze-system.constants.ts +1 -1
  94. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +20 -20
  95. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +59 -55
  96. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +136 -105
  97. package/src/modules/anti-freeze-system/index.ts +1 -1
  98. package/src/modules/base-achievements/base-achievements.module.ts +324 -322
  99. package/src/modules/base-achievements/index.ts +1 -1
  100. package/src/modules/confirmation-message-manager/confirmation-message-manager.constants.ts +3 -0
  101. package/src/modules/confirmation-message-manager/confirmation-message-manager.interfaces.ts +20 -0
  102. package/src/modules/confirmation-message-manager/confirmation-message-manager.module.ts +77 -0
  103. package/src/modules/confirmation-message-manager/confirmation-message-manager.service.ts +91 -0
  104. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +20 -20
  105. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +34 -34
  106. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +6 -6
  107. package/src/modules/event-bus/events-bus.module.ts +26 -23
  108. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +6 -6
  109. package/src/modules/event-bus/events-bus.player-ws-message.subscribe.service.ts +30 -0
  110. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +18 -18
  111. package/src/modules/event-bus/index.ts +6 -5
  112. package/src/modules/events/events.constants.ts +1 -1
  113. package/src/modules/events/events.gateway.ts +82 -70
  114. package/src/modules/events/events.interfaces.ts +17 -17
  115. package/src/modules/events/events.module.ts +32 -32
  116. package/src/modules/events/index.ts +1 -1
  117. package/src/modules/index.ts +28 -27
  118. package/src/modules/logger/index.ts +2 -2
  119. package/src/modules/logger/jp-logger.module.ts +10 -10
  120. package/src/modules/logger/jp-logger.service.ts +38 -38
  121. package/src/modules/main/index.ts +1 -1
  122. package/src/modules/main/main-tables-list-screen.view.ts +275 -275
  123. package/src/modules/main/main.constants.ts +1 -1
  124. package/src/modules/main/main.controller.ts +72 -72
  125. package/src/modules/main/main.interfaces.ts +17 -17
  126. package/src/modules/main/main.module.ts +73 -73
  127. package/src/modules/main/main.service.ts +183 -183
  128. package/src/modules/many-tables-tournament/index.ts +1 -1
  129. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +143 -143
  130. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +63 -63
  131. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -3
  132. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +151 -151
  133. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +20 -20
  134. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +81 -80
  135. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +208 -208
  136. package/src/modules/many-tables-tournament-rooms-manager/index.ts +2 -2
  137. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.ts +3 -3
  138. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +37 -37
  139. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +84 -84
  140. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +331 -331
  141. package/src/modules/menu/index.ts +1 -1
  142. package/src/modules/menu/menu-screen.view.ts +71 -71
  143. package/src/modules/menu/menu.constants.ts +1 -1
  144. package/src/modules/menu/menu.controller.ts +16 -16
  145. package/src/modules/menu/menu.interfaces.ts +17 -17
  146. package/src/modules/menu/menu.module.ts +39 -39
  147. package/src/modules/menu/menu.service.ts +39 -39
  148. package/src/modules/one-table-tournament/index.ts +1 -1
  149. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +166 -166
  150. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -3
  151. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +104 -104
  152. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +20 -20
  153. package/src/modules/one-table-tournament/one-table-tournament.module.ts +80 -76
  154. package/src/modules/one-table-tournament/one-table-tournament.service.ts +146 -146
  155. package/src/modules/one-table-tournament-rooms-manager/index.ts +2 -2
  156. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.ts +3 -3
  157. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +31 -31
  158. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +66 -66
  159. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +220 -220
  160. package/src/modules/players-manager/index.ts +2 -2
  161. package/src/modules/players-manager/players-manager.module.ts +9 -9
  162. package/src/modules/players-manager/players-manager.service.ts +27 -27
  163. package/src/modules/simple-rooms/index.ts +1 -1
  164. package/src/modules/simple-rooms/simple-rooms.constants.ts +1 -1
  165. package/src/modules/simple-rooms/simple-rooms.controller.ts +63 -63
  166. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +20 -20
  167. package/src/modules/simple-rooms/simple-rooms.module.ts +39 -39
  168. package/src/modules/simple-rooms/simple-rooms.service.ts +95 -95
  169. package/src/modules/simple-rooms-manager/index.ts +2 -2
  170. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -3
  171. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +26 -26
  172. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +60 -60
  173. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +190 -190
  174. package/src/modules/support/dump.service.ts +11 -11
  175. package/src/modules/support/index.ts +1 -1
  176. package/src/modules/support/metric.service.ts +41 -41
  177. package/src/modules/support/support.constants.ts +1 -1
  178. package/src/modules/support/support.controller.ts +79 -79
  179. package/src/modules/support/support.interfaces.ts +16 -16
  180. package/src/modules/support/support.module.ts +35 -35
  181. package/src/modules/support/support.service.ts +27 -27
  182. package/src/utils/date.ts +7 -7
  183. package/src/utils/game-table-result.ts +129 -129
  184. package/src/views/index.ts +5 -5
  185. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +37 -37
  186. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +37 -37
  187. package/src/views/simple-room-conifrm-exit-dialog.view.ts +37 -37
  188. package/src/views/table-summary.view.ts +104 -104
  189. package/src/views/tournament-buy-ticket-dialog.view.ts +34 -34
@@ -1,63 +1,63 @@
1
- import {
2
- AppScreenIdEnum,
3
- IAppScreen,
4
- UniversalScreenView,
5
- ILocaleService,
6
- StandardScreenComponent,
7
- AppScreenRouter,
8
- StandardAppBarComponent,
9
- ArrowBackButtonComponent,
10
- CardListSectionComponent,
11
- MiniCardSectionListItemComponent,
12
- UrlImageComponent,
13
- } from 'jp.common.models';
14
- import { ManyTablesTournamentRoom } from 'jp.ms.common.engine';
15
-
16
- export class ManyTablesTournamentTablesListScreenView extends UniversalScreenView {
17
- private readonly tournament: ManyTablesTournamentRoom;
18
-
19
- constructor(
20
- localeService: ILocaleService,
21
- lang: string,
22
- tournament: ManyTablesTournamentRoom,
23
- ) {
24
- super(localeService, lang);
25
- this.tournament = tournament;
26
- }
27
-
28
- build(): IAppScreen {
29
- return new StandardScreenComponent(AppScreenIdEnum.ROOMS)
30
- .addAppBar(
31
- new StandardAppBarComponent(
32
- this.localeService.t('common.rooms.screen.title', {
33
- lang: this.lang,
34
- }),
35
- new ArrowBackButtonComponent(
36
- this.localeService.t('common.button.back', { lang: this.lang }),
37
- ),
38
- ),
39
- )
40
- .addSection(
41
- new CardListSectionComponent(
42
- 'id1',
43
- this.tournament?.getTables().map(
44
- (table) =>
45
- new MiniCardSectionListItemComponent(
46
- table.getId(),
47
- table.getTitle(this.lang),
48
- this.localeService.t('common.tournaments.screen.table.title', {
49
- lang: this.lang,
50
- args: { NUMBER: table.getNumber().toString() },
51
- }),
52
- new UrlImageComponent(
53
- `${table.getPlayers().length}/${table.getTableSize()}`,
54
- ),
55
- true,
56
- true,
57
- AppScreenRouter.getManyTablesTournamentTablePath(table.getId()),
58
- ),
59
- ) ?? [],
60
- ),
61
- );
62
- }
63
- }
1
+ import {
2
+ AppScreenIdEnum,
3
+ IAppScreen,
4
+ UniversalScreenView,
5
+ ILocaleService,
6
+ StandardScreenComponent,
7
+ AppScreenRouter,
8
+ StandardAppBarComponent,
9
+ ArrowBackButtonComponent,
10
+ CardListSectionComponent,
11
+ MiniCardSectionListItemComponent,
12
+ UrlImageComponent,
13
+ } from 'jp.common.models';
14
+ import { ManyTablesTournamentRoom } from 'jp.ms.common.engine';
15
+
16
+ export class ManyTablesTournamentTablesListScreenView extends UniversalScreenView {
17
+ private readonly tournament: ManyTablesTournamentRoom;
18
+
19
+ constructor(
20
+ localeService: ILocaleService,
21
+ lang: string,
22
+ tournament: ManyTablesTournamentRoom,
23
+ ) {
24
+ super(localeService, lang);
25
+ this.tournament = tournament;
26
+ }
27
+
28
+ build(): IAppScreen {
29
+ return new StandardScreenComponent(AppScreenIdEnum.ROOMS)
30
+ .addAppBar(
31
+ new StandardAppBarComponent(
32
+ this.localeService.t('common.rooms.screen.title', {
33
+ lang: this.lang,
34
+ }),
35
+ new ArrowBackButtonComponent(
36
+ this.localeService.t('common.button.back', { lang: this.lang }),
37
+ ),
38
+ ),
39
+ )
40
+ .addSection(
41
+ new CardListSectionComponent(
42
+ 'id1',
43
+ this.tournament?.getTables().map(
44
+ (table) =>
45
+ new MiniCardSectionListItemComponent(
46
+ table.getId(),
47
+ table.getTitle(this.lang),
48
+ this.localeService.t('common.tournaments.screen.table.title', {
49
+ lang: this.lang,
50
+ args: { NUMBER: table.getNumber().toString() },
51
+ }),
52
+ new UrlImageComponent(
53
+ `${table.getPlayers().length}/${table.getTableSize()}`,
54
+ ),
55
+ true,
56
+ true,
57
+ AppScreenRouter.getManyTablesTournamentTablePath(table.getId()),
58
+ ),
59
+ ) ?? [],
60
+ ),
61
+ );
62
+ }
63
+ }
@@ -1,3 +1,3 @@
1
- export const MANY_TABLES_TOURNAMENT_OPTIONS = Symbol(
2
- 'MANY_TABLES_TOURNAMENT_OPTIONS',
3
- );
1
+ export const MANY_TABLES_TOURNAMENT_OPTIONS = Symbol(
2
+ 'MANY_TABLES_TOURNAMENT_OPTIONS',
3
+ );
@@ -1,151 +1,151 @@
1
- import {
2
- Body,
3
- Controller,
4
- Get,
5
- Param,
6
- Post,
7
- Headers,
8
- HttpStatus,
9
- HttpCode,
10
- Patch,
11
- Delete,
12
- } from '@nestjs/common';
13
- import {
14
- IAppHeaders,
15
- IBaseAppScreen,
16
- IBaseMoveData,
17
- IAppTableState,
18
- } from 'jp.common.models';
19
-
20
- import { ManyTablesTournamentService } from './many-tables-tournament.service';
21
- import { JoinTournamentDto } from '../../dto/common/join-tournament.dto';
22
- import { ManyTablesTournamentCreateDto } from '../../dto/common/many-tables-tournament-create.dto';
23
- import { ManyTablesTournamentUpdateDto } from '../../dto/common/many-tables-tournament-update.dto';
24
-
25
- @Controller('tournament/many_tables')
26
- export class ManyTablesTournamentController {
27
- constructor(
28
- private readonly tournamentService: ManyTablesTournamentService,
29
- ) {}
30
-
31
- @Get('status/:tournamentId')
32
- getStatusScreen(
33
- @Param('tournamentId') tournamentId: string,
34
- @Headers() headers: IAppHeaders,
35
- ): IBaseAppScreen {
36
- return this.tournamentService.getStatusScreen(
37
- tournamentId,
38
- headers.client_language,
39
- );
40
- }
41
-
42
- @Get('status/subscribe/:tournamentId')
43
- subscribeOnStatusScreen(
44
- @Param('tournamentId') tournamentId: string,
45
- @Headers() headers: IAppHeaders,
46
- ): void {
47
- return this.tournamentService.subscribeOnStatusScreen(
48
- tournamentId,
49
- headers.client_auth_token,
50
- );
51
- }
52
-
53
- @Get('status/unsubscribe/:tournamentId')
54
- unsubscribeFromStatusScreen(
55
- @Param('tournamentId') tournamentId: string,
56
- @Headers() headers: IAppHeaders,
57
- ): void {
58
- return this.tournamentService.unsubscribeFromStatusScreen(
59
- tournamentId,
60
- headers.client_auth_token,
61
- );
62
- }
63
-
64
- @Get('tables/:tournamentId')
65
- getTableListScreen(
66
- @Param('tournamentId') tournamentId: string,
67
- @Headers() headers: IAppHeaders,
68
- ): IBaseAppScreen {
69
- return this.tournamentService.getTableListScreen(
70
- tournamentId,
71
- headers.client_language,
72
- );
73
- }
74
-
75
- @Post('table/watch/:tableId')
76
- @HttpCode(HttpStatus.OK)
77
- watchTheTable(
78
- @Param('tableId') tableId: string,
79
- @Headers() headers: IAppHeaders,
80
- ): IAppTableState {
81
- return this.tournamentService.watchTheTable(
82
- tableId,
83
- headers.client_auth_token,
84
- );
85
- }
86
-
87
- @Post('table/move/:tableId')
88
- @HttpCode(HttpStatus.OK)
89
- moveOnTheTable(
90
- @Param('tableId') tableId: string,
91
- @Body() baseMoveData: IBaseMoveData,
92
- @Headers() headers: IAppHeaders,
93
- ): IAppTableState {
94
- return this.tournamentService.moveOnTheTable(
95
- tableId,
96
- headers.client_auth_token,
97
- baseMoveData,
98
- );
99
- }
100
-
101
- @Post('join/:tournamentId')
102
- @HttpCode(HttpStatus.OK)
103
- joinTournament(
104
- @Param('tournamentId') tournamentId: string,
105
- @Headers() headers: IAppHeaders,
106
- ): JoinTournamentDto {
107
- return this.tournamentService.joinTournament(
108
- tournamentId,
109
- headers.client_auth_token,
110
- );
111
- }
112
-
113
- @Post('leave/:tournamentId')
114
- @HttpCode(HttpStatus.OK)
115
- leaveTournament(
116
- @Param('tournamentId') tournamentId: string,
117
- @Headers() headers: IAppHeaders,
118
- ): void {
119
- return this.tournamentService.leaveTournament(
120
- tournamentId,
121
- headers.client_auth_token,
122
- );
123
- }
124
-
125
- @Post('create')
126
- @HttpCode(HttpStatus.OK)
127
- createTournament(
128
- @Headers() headers: IAppHeaders,
129
- @Body() createTournamentDto: ManyTablesTournamentCreateDto,
130
- ): Promise<void> {
131
- return this.tournamentService.createTournament(createTournamentDto);
132
- }
133
-
134
- @Patch('update/:tournamentId')
135
- @HttpCode(HttpStatus.OK)
136
- updateTournament(
137
- @Param('tournamentId') tournamentId: string,
138
- @Body() updateTournamentDto: ManyTablesTournamentUpdateDto,
139
- ): Promise<void> {
140
- return this.tournamentService.updateTournament(
141
- tournamentId,
142
- updateTournamentDto,
143
- );
144
- }
145
-
146
- @Delete('remove/:tournamentId')
147
- @HttpCode(HttpStatus.OK)
148
- removeTournament(@Param('tournamentId') tournamentId: string): Promise<void> {
149
- return this.tournamentService.removeTournament(tournamentId);
150
- }
151
- }
1
+ import {
2
+ Body,
3
+ Controller,
4
+ Get,
5
+ Param,
6
+ Post,
7
+ Headers,
8
+ HttpStatus,
9
+ HttpCode,
10
+ Patch,
11
+ Delete,
12
+ } from '@nestjs/common';
13
+ import {
14
+ IAppHeaders,
15
+ IBaseAppScreen,
16
+ IBaseMoveData,
17
+ IAppTableState,
18
+ } from 'jp.common.models';
19
+
20
+ import { ManyTablesTournamentService } from './many-tables-tournament.service';
21
+ import { JoinTournamentDto } from '../../dto/common/join-tournament.dto';
22
+ import { ManyTablesTournamentCreateDto } from '../../dto/common/many-tables-tournament-create.dto';
23
+ import { ManyTablesTournamentUpdateDto } from '../../dto/common/many-tables-tournament-update.dto';
24
+
25
+ @Controller('tournament/many_tables')
26
+ export class ManyTablesTournamentController {
27
+ constructor(
28
+ private readonly tournamentService: ManyTablesTournamentService,
29
+ ) {}
30
+
31
+ @Get('status/:tournamentId')
32
+ getStatusScreen(
33
+ @Param('tournamentId') tournamentId: string,
34
+ @Headers() headers: IAppHeaders,
35
+ ): IBaseAppScreen {
36
+ return this.tournamentService.getStatusScreen(
37
+ tournamentId,
38
+ headers.client_language,
39
+ );
40
+ }
41
+
42
+ @Get('status/subscribe/:tournamentId')
43
+ subscribeOnStatusScreen(
44
+ @Param('tournamentId') tournamentId: string,
45
+ @Headers() headers: IAppHeaders,
46
+ ): void {
47
+ return this.tournamentService.subscribeOnStatusScreen(
48
+ tournamentId,
49
+ headers.client_auth_token,
50
+ );
51
+ }
52
+
53
+ @Get('status/unsubscribe/:tournamentId')
54
+ unsubscribeFromStatusScreen(
55
+ @Param('tournamentId') tournamentId: string,
56
+ @Headers() headers: IAppHeaders,
57
+ ): void {
58
+ return this.tournamentService.unsubscribeFromStatusScreen(
59
+ tournamentId,
60
+ headers.client_auth_token,
61
+ );
62
+ }
63
+
64
+ @Get('tables/:tournamentId')
65
+ getTableListScreen(
66
+ @Param('tournamentId') tournamentId: string,
67
+ @Headers() headers: IAppHeaders,
68
+ ): IBaseAppScreen {
69
+ return this.tournamentService.getTableListScreen(
70
+ tournamentId,
71
+ headers.client_language,
72
+ );
73
+ }
74
+
75
+ @Post('table/watch/:tableId')
76
+ @HttpCode(HttpStatus.OK)
77
+ watchTheTable(
78
+ @Param('tableId') tableId: string,
79
+ @Headers() headers: IAppHeaders,
80
+ ): IAppTableState {
81
+ return this.tournamentService.watchTheTable(
82
+ tableId,
83
+ headers.client_auth_token,
84
+ );
85
+ }
86
+
87
+ @Post('table/move/:tableId')
88
+ @HttpCode(HttpStatus.OK)
89
+ moveOnTheTable(
90
+ @Param('tableId') tableId: string,
91
+ @Body() baseMoveData: IBaseMoveData,
92
+ @Headers() headers: IAppHeaders,
93
+ ): IAppTableState {
94
+ return this.tournamentService.moveOnTheTable(
95
+ tableId,
96
+ headers.client_auth_token,
97
+ baseMoveData,
98
+ );
99
+ }
100
+
101
+ @Post('join/:tournamentId')
102
+ @HttpCode(HttpStatus.OK)
103
+ joinTournament(
104
+ @Param('tournamentId') tournamentId: string,
105
+ @Headers() headers: IAppHeaders,
106
+ ): JoinTournamentDto {
107
+ return this.tournamentService.joinTournament(
108
+ tournamentId,
109
+ headers.client_auth_token,
110
+ );
111
+ }
112
+
113
+ @Post('leave/:tournamentId')
114
+ @HttpCode(HttpStatus.OK)
115
+ leaveTournament(
116
+ @Param('tournamentId') tournamentId: string,
117
+ @Headers() headers: IAppHeaders,
118
+ ): void {
119
+ return this.tournamentService.leaveTournament(
120
+ tournamentId,
121
+ headers.client_auth_token,
122
+ );
123
+ }
124
+
125
+ @Post('create')
126
+ @HttpCode(HttpStatus.OK)
127
+ createTournament(
128
+ @Headers() headers: IAppHeaders,
129
+ @Body() createTournamentDto: ManyTablesTournamentCreateDto,
130
+ ): Promise<void> {
131
+ return this.tournamentService.createTournament(createTournamentDto);
132
+ }
133
+
134
+ @Patch('update/:tournamentId')
135
+ @HttpCode(HttpStatus.OK)
136
+ updateTournament(
137
+ @Param('tournamentId') tournamentId: string,
138
+ @Body() updateTournamentDto: ManyTablesTournamentUpdateDto,
139
+ ): Promise<void> {
140
+ return this.tournamentService.updateTournament(
141
+ tournamentId,
142
+ updateTournamentDto,
143
+ );
144
+ }
145
+
146
+ @Delete('remove/:tournamentId')
147
+ @HttpCode(HttpStatus.OK)
148
+ removeTournament(@Param('tournamentId') tournamentId: string): Promise<void> {
149
+ return this.tournamentService.removeTournament(tournamentId);
150
+ }
151
+ }
@@ -1,20 +1,20 @@
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 ManyTablesTournamentModuleOptions extends Pick<
8
- ModuleMetadata,
9
- 'imports'
10
- > {
11
- imports?: Array<
12
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
13
- >;
14
- inject?: any[];
15
- useFactory?: (...args: any[]) => Promise<any> | any;
16
- }
17
-
18
- export interface ManyTablesTournamentFactoryOptions {
19
- i18n: I18nService;
20
- }
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 ManyTablesTournamentModuleOptions extends Pick<
8
+ ModuleMetadata,
9
+ 'imports'
10
+ > {
11
+ imports?: Array<
12
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
13
+ >;
14
+ inject?: any[];
15
+ useFactory?: (...args: any[]) => Promise<any> | any;
16
+ }
17
+
18
+ export interface ManyTablesTournamentFactoryOptions {
19
+ i18n: I18nService;
20
+ }
@@ -1,80 +1,81 @@
1
- import { DynamicModule, Module, Provider } from '@nestjs/common';
2
- import { MongooseModule } from '@nestjs/mongoose';
3
- import {
4
- ManyTablesTournamentRoom,
5
- ManyTablesTournamentRoomSchema,
6
- ManyTablesTournamentRoomsRepository,
7
- } from 'jp.db.schemas';
8
- import {
9
- GamePlayer,
10
- ManyTablesTournamentUpdateStatusWsEvent,
11
- RoomUpdateStateEvent,
12
- } from 'jp.ms.common.engine';
13
-
14
- import { ManyTablesTournamentRoomsManagerService } from '../many-tables-tournament-rooms-manager';
15
- import { EventsBusManyTablesTournamentSubscribeService } from '../event-bus';
16
-
17
- import { ManyTablesTournamentController } from './many-tables-tournament.controller';
18
- import { ManyTablesTournamentService } from './many-tables-tournament.service';
19
- import { MANY_TABLES_TOURNAMENT_OPTIONS } from './many-tables-tournament.constants';
20
- import { ManyTablesTournamentModuleOptions } from './many-tables-tournament.interfaces';
21
-
22
- @Module({
23
- imports: [
24
- MongooseModule.forFeature([
25
- {
26
- name: ManyTablesTournamentRoom.name,
27
- schema: ManyTablesTournamentRoomSchema,
28
- },
29
- ]),
30
- ],
31
- controllers: [ManyTablesTournamentController],
32
- providers: [ManyTablesTournamentService, ManyTablesTournamentRoomsRepository],
33
- })
34
- export class ManyTablesTournamentModule {
35
- constructor(
36
- private readonly manyTablesRoomsManagerService: ManyTablesTournamentRoomsManagerService,
37
- private readonly eventsBusManyTablesTournamentSubscribeService: EventsBusManyTablesTournamentSubscribeService,
38
- private readonly manyTablesTournamentService: ManyTablesTournamentService,
39
- ) {}
40
-
41
- static forRootAsync(
42
- options: ManyTablesTournamentModuleOptions,
43
- ): DynamicModule {
44
- return {
45
- module: ManyTablesTournamentModule,
46
- imports: options.imports ?? [],
47
- providers: [
48
- {
49
- provide: MANY_TABLES_TOURNAMENT_OPTIONS,
50
- useFactory: options.useFactory,
51
- inject: options.inject || [],
52
- } as Provider,
53
- ],
54
- };
55
- }
56
-
57
- onModuleInit() {
58
- this.eventsBusManyTablesTournamentSubscribeService.subscribe(
59
- this.onHandleStatusRoomChange,
60
- );
61
- }
62
-
63
- private onHandleStatusRoomChange = (event: RoomUpdateStateEvent) => {
64
- this.manyTablesRoomsManagerService
65
- .getRoomById(event.roomId)
66
- ?.getStatusScreenWatchers()
67
- .forEach((subscriber: GamePlayer) => {
68
- const screen = this.manyTablesTournamentService.getStatusScreen(
69
- event.roomId,
70
- subscriber.language,
71
- );
72
- subscriber.sendMessage(
73
- new ManyTablesTournamentUpdateStatusWsEvent(
74
- event.game,
75
- screen.screen,
76
- ),
77
- );
78
- });
79
- };
80
- }
1
+ import { DynamicModule, Module, Provider } from '@nestjs/common';
2
+ import { MongooseModule } from '@nestjs/mongoose';
3
+ import {
4
+ ManyTablesTournamentRoom,
5
+ ManyTablesTournamentRoomSchema,
6
+ ManyTablesTournamentRoomsRepository,
7
+ } from 'jp.db.schemas';
8
+ import {
9
+ GamePlayer,
10
+ ManyTablesTournamentUpdateStatusWsEvent,
11
+ RoomUpdateStateEvent,
12
+ } from 'jp.ms.common.engine';
13
+
14
+ import { ManyTablesTournamentRoomsManagerService } from '../many-tables-tournament-rooms-manager';
15
+ import { EventsBusManyTablesTournamentSubscribeService } from '../event-bus';
16
+
17
+ import { ManyTablesTournamentController } from './many-tables-tournament.controller';
18
+ import { ManyTablesTournamentService } from './many-tables-tournament.service';
19
+ import { MANY_TABLES_TOURNAMENT_OPTIONS } from './many-tables-tournament.constants';
20
+ import { ManyTablesTournamentModuleOptions } from './many-tables-tournament.interfaces';
21
+
22
+ @Module({
23
+ imports: [
24
+ MongooseModule.forFeature([
25
+ {
26
+ name: ManyTablesTournamentRoom.name,
27
+ schema: ManyTablesTournamentRoomSchema,
28
+ },
29
+ ]),
30
+ ],
31
+ controllers: [ManyTablesTournamentController],
32
+ providers: [ManyTablesTournamentService, ManyTablesTournamentRoomsRepository],
33
+ })
34
+ export class ManyTablesTournamentModule {
35
+ constructor(
36
+ private readonly manyTablesRoomsManagerService: ManyTablesTournamentRoomsManagerService,
37
+ private readonly eventsBusManyTablesTournamentSubscribeService: EventsBusManyTablesTournamentSubscribeService,
38
+ private readonly manyTablesTournamentService: ManyTablesTournamentService,
39
+ ) {}
40
+
41
+ static forRootAsync(
42
+ options: ManyTablesTournamentModuleOptions,
43
+ ): DynamicModule {
44
+ return {
45
+ module: ManyTablesTournamentModule,
46
+ imports: options.imports ?? [],
47
+ providers: [
48
+ {
49
+ provide: MANY_TABLES_TOURNAMENT_OPTIONS,
50
+ useFactory: options.useFactory,
51
+ inject: options.inject || [],
52
+ } as Provider,
53
+ ],
54
+ };
55
+ }
56
+
57
+ onModuleInit() {
58
+ this.eventsBusManyTablesTournamentSubscribeService.subscribe(
59
+ this.onHandleStatusRoomChange,
60
+ );
61
+ }
62
+
63
+ private onHandleStatusRoomChange = (event: RoomUpdateStateEvent) => {
64
+ this.manyTablesRoomsManagerService
65
+ .getRoomById(event.roomId)
66
+ ?.getStatusScreenWatchers()
67
+ .forEach((subscriber: GamePlayer) => {
68
+ const screen = this.manyTablesTournamentService.getStatusScreen(
69
+ event.roomId,
70
+ subscriber.language,
71
+ );
72
+ subscriber.sendMessage(
73
+ new ManyTablesTournamentUpdateStatusWsEvent(
74
+ event.game,
75
+ subscriber.id,
76
+ screen.screen,
77
+ ),
78
+ );
79
+ });
80
+ };
81
+ }