jp.ms.common.modules 1.0.39 → 1.0.41

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 (167) hide show
  1. package/dist/dto/app-table/bids-panel-item.dto.d.ts +6 -0
  2. package/dist/dto/app-table/bids-panel-item.dto.js +52 -0
  3. package/dist/dto/app-table/bids-panel-item.dto.js.map +1 -0
  4. package/dist/dto/app-table/bids-panel.dto.d.ts +7 -0
  5. package/dist/dto/app-table/bids-panel.dto.js +50 -0
  6. package/dist/dto/app-table/bids-panel.dto.js.map +1 -0
  7. package/dist/dto/app-table/index.d.ts +2 -0
  8. package/dist/dto/app-table/index.js +5 -1
  9. package/dist/dto/app-table/index.js.map +1 -1
  10. package/dist/dto/games/poker/poker-table.dto.d.ts +2 -1
  11. package/dist/dto/games/poker/poker-table.dto.js +6 -0
  12. package/dist/dto/games/poker/poker-table.dto.js.map +1 -1
  13. package/dist/modules/base-achievements/base-achievements.module.js +3 -3
  14. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  15. package/dist/modules/main/main.service.js +1 -1
  16. package/dist/modules/menu/menu-screen.view.js +1 -1
  17. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  18. package/dist/modules/menu/menu.service.js +1 -1
  19. package/dist/modules/menu/menu.service.js.map +1 -1
  20. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js.map +1 -1
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/dist/views/table-summary.view.d.ts +6 -5
  23. package/dist/views/table-summary.view.js +3 -0
  24. package/dist/views/table-summary.view.js.map +1 -1
  25. package/package.json +57 -57
  26. package/src/dto/app-screen/app-screen-app-bar.dto.ts +36 -36
  27. package/src/dto/app-screen/app-screen-dialog.dto.ts +64 -64
  28. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +42 -42
  29. package/src/dto/app-screen/app-screen-field.dto.ts +59 -59
  30. package/src/dto/app-screen/app-screen-section-button.dto.ts +60 -60
  31. package/src/dto/app-screen/app-screen-section-buttons.dto.ts +14 -14
  32. package/src/dto/app-screen/app-screen-section-image.dto.ts +33 -33
  33. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +105 -105
  34. package/src/dto/app-screen/app-screen-section-req.dto.ts +33 -33
  35. package/src/dto/app-screen/app-screen-section.dto.ts +76 -76
  36. package/src/dto/app-screen/app-screen.dto.ts +50 -50
  37. package/src/dto/app-screen/base-app-screen.dto.ts +16 -16
  38. package/src/dto/app-screen/index.ts +10 -10
  39. package/src/dto/app-table/bids-panel-item.dto.ts +33 -0
  40. package/src/dto/app-table/bids-panel.dto.ts +32 -0
  41. package/src/dto/app-table/card.dto.ts +54 -54
  42. package/src/dto/app-table/cards-deck.dto.ts +22 -22
  43. package/src/dto/app-table/cards-pair-slots-item.dto.ts +45 -45
  44. package/src/dto/app-table/cards-pair-slots.dto.ts +13 -13
  45. package/src/dto/app-table/cards-panel.dto.ts +48 -48
  46. package/src/dto/app-table/cards-player.dto.ts +14 -14
  47. package/src/dto/app-table/cards-slots-item.dto.ts +40 -40
  48. package/src/dto/app-table/cards-slots.dto.ts +13 -13
  49. package/src/dto/app-table/index.ts +15 -13
  50. package/src/dto/app-table/moves-panel-button.dto.ts +24 -24
  51. package/src/dto/app-table/moves-panel.dto.ts +23 -23
  52. package/src/dto/app-table/player.dto.ts +69 -69
  53. package/src/dto/app-table/summary-item.dto.ts +51 -51
  54. package/src/dto/app-table/summary.dto.ts +13 -13
  55. package/src/dto/common/find-free-table.dto.ts +3 -3
  56. package/src/dto/common/index.ts +2 -2
  57. package/src/dto/common/join-tournament.dto.ts +33 -33
  58. package/src/dto/common/log.dto.ts +9 -9
  59. package/src/dto/common/many-tables-tournament-create.dto.ts +125 -125
  60. package/src/dto/common/many-tables-tournament-update.dto.ts +3 -3
  61. package/src/dto/common/player-check-state.dto.ts +33 -33
  62. package/src/dto/common/player-connected.dto.ts +58 -58
  63. package/src/dto/games/fool/fool-player.dto.ts +3 -3
  64. package/src/dto/games/fool/fool-table.dto.ts +81 -81
  65. package/src/dto/games/index.ts +2 -2
  66. package/src/dto/games/poker/poker-player.dto.ts +3 -3
  67. package/src/dto/games/poker/poker-table.dto.ts +81 -76
  68. package/src/dto/index.ts +4 -4
  69. package/src/exception/error-code.enum.ts +4 -4
  70. package/src/exception/global-exception-filter.ts +53 -53
  71. package/src/exception/http-exception-wth-snackbar.ts +27 -27
  72. package/src/exception/index.ts +4 -4
  73. package/src/exception/not-enough-money-for-purchase.exception.ts +14 -14
  74. package/src/exception/not-found-free-room-for-fast-game.exception.ts +14 -14
  75. package/src/index.ts +4 -4
  76. package/src/modules/anti-freeze-system/anti-freeze-system.constants.ts +1 -1
  77. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +20 -18
  78. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +55 -55
  79. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +105 -105
  80. package/src/modules/anti-freeze-system/index.ts +1 -1
  81. package/src/modules/base-achievements/base-achievements.module.ts +322 -322
  82. package/src/modules/base-achievements/index.ts +1 -1
  83. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +20 -20
  84. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +34 -34
  85. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +6 -6
  86. package/src/modules/event-bus/events-bus.module.ts +23 -23
  87. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +6 -6
  88. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +18 -18
  89. package/src/modules/event-bus/index.ts +5 -5
  90. package/src/modules/events/events.constants.ts +1 -1
  91. package/src/modules/events/events.gateway.ts +70 -70
  92. package/src/modules/events/events.interfaces.ts +17 -17
  93. package/src/modules/events/events.module.ts +32 -32
  94. package/src/modules/events/index.ts +1 -1
  95. package/src/modules/index.ts +27 -27
  96. package/src/modules/logger/index.ts +2 -2
  97. package/src/modules/logger/jp-logger.module.ts +10 -10
  98. package/src/modules/logger/jp-logger.service.ts +38 -38
  99. package/src/modules/main/index.ts +1 -1
  100. package/src/modules/main/main-tables-list-screen.view.ts +275 -275
  101. package/src/modules/main/main.constants.ts +1 -1
  102. package/src/modules/main/main.controller.ts +72 -72
  103. package/src/modules/main/main.interfaces.ts +17 -17
  104. package/src/modules/main/main.module.ts +73 -73
  105. package/src/modules/main/main.service.ts +183 -183
  106. package/src/modules/many-tables-tournament/index.ts +1 -1
  107. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +143 -143
  108. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +63 -63
  109. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -3
  110. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +151 -151
  111. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +20 -18
  112. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +80 -80
  113. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +208 -208
  114. package/src/modules/many-tables-tournament-rooms-manager/index.ts +2 -2
  115. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.ts +3 -3
  116. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +37 -35
  117. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +84 -84
  118. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +331 -331
  119. package/src/modules/menu/index.ts +1 -1
  120. package/src/modules/menu/menu-screen.view.ts +71 -71
  121. package/src/modules/menu/menu.constants.ts +1 -1
  122. package/src/modules/menu/menu.controller.ts +16 -16
  123. package/src/modules/menu/menu.interfaces.ts +17 -17
  124. package/src/modules/menu/menu.module.ts +39 -39
  125. package/src/modules/menu/menu.service.ts +39 -35
  126. package/src/modules/one-table-tournament/index.ts +1 -1
  127. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +166 -166
  128. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -3
  129. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +104 -104
  130. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +20 -18
  131. package/src/modules/one-table-tournament/one-table-tournament.module.ts +76 -76
  132. package/src/modules/one-table-tournament/one-table-tournament.service.ts +146 -146
  133. package/src/modules/one-table-tournament-rooms-manager/index.ts +2 -2
  134. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.ts +3 -3
  135. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +31 -29
  136. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +66 -66
  137. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +220 -220
  138. package/src/modules/players-manager/index.ts +2 -2
  139. package/src/modules/players-manager/players-manager.module.ts +9 -9
  140. package/src/modules/players-manager/players-manager.service.ts +27 -27
  141. package/src/modules/simple-rooms/index.ts +1 -1
  142. package/src/modules/simple-rooms/simple-rooms.constants.ts +1 -1
  143. package/src/modules/simple-rooms/simple-rooms.controller.ts +63 -63
  144. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +20 -18
  145. package/src/modules/simple-rooms/simple-rooms.module.ts +39 -39
  146. package/src/modules/simple-rooms/simple-rooms.service.ts +95 -95
  147. package/src/modules/simple-rooms-manager/index.ts +2 -2
  148. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -3
  149. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +26 -24
  150. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +60 -60
  151. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +190 -190
  152. package/src/modules/support/dump.service.ts +11 -11
  153. package/src/modules/support/index.ts +1 -1
  154. package/src/modules/support/metric.service.ts +41 -41
  155. package/src/modules/support/support.constants.ts +1 -1
  156. package/src/modules/support/support.controller.ts +79 -79
  157. package/src/modules/support/support.interfaces.ts +16 -16
  158. package/src/modules/support/support.module.ts +35 -35
  159. package/src/modules/support/support.service.ts +27 -27
  160. package/src/utils/date.ts +7 -7
  161. package/src/utils/game-table-result.ts +129 -129
  162. package/src/views/index.ts +5 -5
  163. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +37 -37
  164. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +37 -37
  165. package/src/views/simple-room-conifrm-exit-dialog.view.ts +37 -37
  166. package/src/views/table-summary.view.ts +104 -100
  167. package/src/views/tournament-buy-ticket-dialog.view.ts +34 -34
@@ -1,18 +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 SimpleRoomsModuleOptions
8
- extends Pick<ModuleMetadata, 'imports'> {
9
- imports?: Array<
10
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
11
- >;
12
- inject?: any[];
13
- useFactory?: (...args: any[]) => Promise<any> | any;
14
- }
15
-
16
- export interface SimpleRoomsFactoryOptions {
17
- i18n: I18nService;
18
- }
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 SimpleRoomsModuleOptions 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 SimpleRoomsFactoryOptions {
19
+ i18n: I18nService;
20
+ }
@@ -1,39 +1,39 @@
1
- import { DynamicModule, Module, Provider } from '@nestjs/common';
2
- import { MongooseModule } from '@nestjs/mongoose';
3
- import {
4
- SimpleRoom,
5
- SimpleRoomSchema,
6
- SimpleRoomsRepository,
7
- } from 'jp.db.schemas';
8
-
9
- import { SimpleRoomsController } from './simple-rooms.controller';
10
- import { SimpleRoomsService } from './simple-rooms.service';
11
- import { SIMPLE_ROOMS_OPTIONS } from './simple-rooms.constants';
12
- import { SimpleRoomsModuleOptions } from './simple-rooms.interfaces';
13
-
14
- @Module({
15
- imports: [
16
- MongooseModule.forFeature([
17
- { name: SimpleRoom.name, schema: SimpleRoomSchema },
18
- ]),
19
- ],
20
- controllers: [SimpleRoomsController],
21
- providers: [SimpleRoomsService, SimpleRoomsRepository],
22
- })
23
- export class SimpleRoomsModule {
24
- constructor() {}
25
-
26
- static forRootAsync(options: SimpleRoomsModuleOptions): DynamicModule {
27
- return {
28
- module: SimpleRoomsModule,
29
- imports: options.imports ?? [],
30
- providers: [
31
- {
32
- provide: SIMPLE_ROOMS_OPTIONS,
33
- useFactory: options.useFactory,
34
- inject: options.inject || [],
35
- } as Provider,
36
- ],
37
- };
38
- }
39
- }
1
+ import { DynamicModule, Module, Provider } from '@nestjs/common';
2
+ import { MongooseModule } from '@nestjs/mongoose';
3
+ import {
4
+ SimpleRoom,
5
+ SimpleRoomSchema,
6
+ SimpleRoomsRepository,
7
+ } from 'jp.db.schemas';
8
+
9
+ import { SimpleRoomsController } from './simple-rooms.controller';
10
+ import { SimpleRoomsService } from './simple-rooms.service';
11
+ import { SIMPLE_ROOMS_OPTIONS } from './simple-rooms.constants';
12
+ import { SimpleRoomsModuleOptions } from './simple-rooms.interfaces';
13
+
14
+ @Module({
15
+ imports: [
16
+ MongooseModule.forFeature([
17
+ { name: SimpleRoom.name, schema: SimpleRoomSchema },
18
+ ]),
19
+ ],
20
+ controllers: [SimpleRoomsController],
21
+ providers: [SimpleRoomsService, SimpleRoomsRepository],
22
+ })
23
+ export class SimpleRoomsModule {
24
+ constructor() {}
25
+
26
+ static forRootAsync(options: SimpleRoomsModuleOptions): DynamicModule {
27
+ return {
28
+ module: SimpleRoomsModule,
29
+ imports: options.imports ?? [],
30
+ providers: [
31
+ {
32
+ provide: SIMPLE_ROOMS_OPTIONS,
33
+ useFactory: options.useFactory,
34
+ inject: options.inject || [],
35
+ } as Provider,
36
+ ],
37
+ };
38
+ }
39
+ }
@@ -1,95 +1,95 @@
1
- import {
2
- Inject,
3
- Injectable,
4
- InternalServerErrorException,
5
- } from '@nestjs/common';
6
- import { IBaseMoveData, IAppTableState } from 'jp.common.models';
7
-
8
- import { SimpleRoomsManagerService } from '../simple-rooms-manager';
9
- import { PlayersManagerService } from '../players-manager';
10
-
11
- import { SIMPLE_ROOMS_OPTIONS } from './simple-rooms.constants';
12
- import { SimpleRoomsFactoryOptions } from './simple-rooms.interfaces';
13
-
14
- @Injectable()
15
- export class SimpleRoomsService {
16
- constructor(
17
- private readonly simpleRoomsManager: SimpleRoomsManagerService,
18
- private readonly playersManager: PlayersManagerService,
19
- @Inject(SIMPLE_ROOMS_OPTIONS)
20
- private readonly options: SimpleRoomsFactoryOptions,
21
- ) {}
22
-
23
- watchTheTable(tableId: string, clientAuthToken: string): IAppTableState {
24
- const player = this.playersManager.getPlayerById(clientAuthToken);
25
- const room = this.simpleRoomsManager.getRoomByTableId(tableId);
26
- const master = room?.getMasterById(tableId);
27
-
28
- if (player && room && master) {
29
- room.handleWatchTheTable(player, tableId);
30
-
31
- return master.createGameStateDto(player);
32
- }
33
-
34
- throw new InternalServerErrorException();
35
- }
36
-
37
- enterTheTable(tableId: string, clientAuthToken: string): IAppTableState {
38
- const player = this.playersManager.getPlayerById(clientAuthToken);
39
- const room = this.simpleRoomsManager.getRoomByTableId(tableId);
40
- const master = room?.getMasterById(tableId);
41
-
42
- if (player && room && master) {
43
- room.handleEnterTheTable(player, tableId);
44
-
45
- return master.createGameStateDto(player);
46
- }
47
-
48
- throw new InternalServerErrorException();
49
- }
50
-
51
- exitTheTable(tableId: string, clientAuthToken: string): IAppTableState {
52
- const player = this.playersManager.getPlayerById(clientAuthToken);
53
- const room = this.simpleRoomsManager.getRoomByTableId(tableId);
54
- const master = room?.getMasterById(tableId);
55
-
56
- if (player && room && master) {
57
- room.handleExitTheTable(player, tableId);
58
-
59
- return master.createGameStateDto(player);
60
- }
61
-
62
- throw new InternalServerErrorException();
63
- }
64
-
65
- moveOnTheTable(
66
- tableId: string,
67
- clientAuthToken: string,
68
- moveDto: IBaseMoveData,
69
- ): IAppTableState {
70
- const player = this.playersManager.getPlayerById(clientAuthToken);
71
- const room = this.simpleRoomsManager.getRoomByTableId(tableId);
72
- const master = room?.getMasterById(tableId);
73
-
74
- if (player && room && master) {
75
- room.handleMoveOnTheTable(player, tableId, moveDto);
76
-
77
- return master.createGameStateDto(player);
78
- }
79
-
80
- throw new InternalServerErrorException();
81
- }
82
-
83
- restartTable(tableId: string): boolean {
84
- const room = this.simpleRoomsManager.getRoomByTableId(tableId);
85
- const master = room?.getMasterById(tableId);
86
-
87
- if (room && master) {
88
- room.handleRestartTable(tableId);
89
-
90
- return true;
91
- }
92
-
93
- throw new InternalServerErrorException();
94
- }
95
- }
1
+ import {
2
+ Inject,
3
+ Injectable,
4
+ InternalServerErrorException,
5
+ } from '@nestjs/common';
6
+ import { IBaseMoveData, IAppTableState } from 'jp.common.models';
7
+
8
+ import { SimpleRoomsManagerService } from '../simple-rooms-manager';
9
+ import { PlayersManagerService } from '../players-manager';
10
+
11
+ import { SIMPLE_ROOMS_OPTIONS } from './simple-rooms.constants';
12
+ import { SimpleRoomsFactoryOptions } from './simple-rooms.interfaces';
13
+
14
+ @Injectable()
15
+ export class SimpleRoomsService {
16
+ constructor(
17
+ private readonly simpleRoomsManager: SimpleRoomsManagerService,
18
+ private readonly playersManager: PlayersManagerService,
19
+ @Inject(SIMPLE_ROOMS_OPTIONS)
20
+ private readonly options: SimpleRoomsFactoryOptions,
21
+ ) {}
22
+
23
+ watchTheTable(tableId: string, clientAuthToken: string): IAppTableState {
24
+ const player = this.playersManager.getPlayerById(clientAuthToken);
25
+ const room = this.simpleRoomsManager.getRoomByTableId(tableId);
26
+ const master = room?.getMasterById(tableId);
27
+
28
+ if (player && room && master) {
29
+ room.handleWatchTheTable(player, tableId);
30
+
31
+ return master.createGameStateDto(player);
32
+ }
33
+
34
+ throw new InternalServerErrorException();
35
+ }
36
+
37
+ enterTheTable(tableId: string, clientAuthToken: string): IAppTableState {
38
+ const player = this.playersManager.getPlayerById(clientAuthToken);
39
+ const room = this.simpleRoomsManager.getRoomByTableId(tableId);
40
+ const master = room?.getMasterById(tableId);
41
+
42
+ if (player && room && master) {
43
+ room.handleEnterTheTable(player, tableId);
44
+
45
+ return master.createGameStateDto(player);
46
+ }
47
+
48
+ throw new InternalServerErrorException();
49
+ }
50
+
51
+ exitTheTable(tableId: string, clientAuthToken: string): IAppTableState {
52
+ const player = this.playersManager.getPlayerById(clientAuthToken);
53
+ const room = this.simpleRoomsManager.getRoomByTableId(tableId);
54
+ const master = room?.getMasterById(tableId);
55
+
56
+ if (player && room && master) {
57
+ room.handleExitTheTable(player, tableId);
58
+
59
+ return master.createGameStateDto(player);
60
+ }
61
+
62
+ throw new InternalServerErrorException();
63
+ }
64
+
65
+ moveOnTheTable(
66
+ tableId: string,
67
+ clientAuthToken: string,
68
+ moveDto: IBaseMoveData,
69
+ ): IAppTableState {
70
+ const player = this.playersManager.getPlayerById(clientAuthToken);
71
+ const room = this.simpleRoomsManager.getRoomByTableId(tableId);
72
+ const master = room?.getMasterById(tableId);
73
+
74
+ if (player && room && master) {
75
+ room.handleMoveOnTheTable(player, tableId, moveDto);
76
+
77
+ return master.createGameStateDto(player);
78
+ }
79
+
80
+ throw new InternalServerErrorException();
81
+ }
82
+
83
+ restartTable(tableId: string): boolean {
84
+ const room = this.simpleRoomsManager.getRoomByTableId(tableId);
85
+ const master = room?.getMasterById(tableId);
86
+
87
+ if (room && master) {
88
+ room.handleRestartTable(tableId);
89
+
90
+ return true;
91
+ }
92
+
93
+ throw new InternalServerErrorException();
94
+ }
95
+ }
@@ -1,2 +1,2 @@
1
- export { SimpleRoomsManagerModule } from './simple-rooms-manager.module';
2
- export { SimpleRoomsManagerService } from './simple-rooms-manager.service';
1
+ export { SimpleRoomsManagerModule } from './simple-rooms-manager.module';
2
+ export { SimpleRoomsManagerService } from './simple-rooms-manager.service';
@@ -1,3 +1,3 @@
1
- export const SIMPLE_ROOMS_MANAGER_OPTIONS = Symbol(
2
- 'SIMPLE_ROOMS_MANAGER_OPTIONS',
3
- );
1
+ export const SIMPLE_ROOMS_MANAGER_OPTIONS = Symbol(
2
+ 'SIMPLE_ROOMS_MANAGER_OPTIONS',
3
+ );
@@ -1,24 +1,26 @@
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
- import { GameRoomConfig, SimpleRoom } from 'jp.ms.common.engine';
7
-
8
- export interface SimpleRoomsManagerOptions
9
- extends Pick<ModuleMetadata, 'imports'> {
10
- imports?: Array<
11
- Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
12
- >;
13
- inject?: any[];
14
- useFactory?: (...args: any[]) => SimpleRoomsFactoryOptions;
15
- }
16
-
17
- export interface SimpleRoomsFactoryOptions {
18
- i18n: I18nService | any;
19
- createRoom(room: GameRoomConfig): SimpleRoom;
20
- gameType: string;
21
- restartGameTimeout: number;
22
- playersTurnTimeout: number;
23
- instantFinishMode: boolean;
24
- }
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
+ import { GameRoomConfig, SimpleRoom } from 'jp.ms.common.engine';
7
+
8
+ export interface SimpleRoomsManagerOptions extends Pick<
9
+ ModuleMetadata,
10
+ 'imports'
11
+ > {
12
+ imports?: Array<
13
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
14
+ >;
15
+ inject?: any[];
16
+ useFactory?: (...args: any[]) => SimpleRoomsFactoryOptions;
17
+ }
18
+
19
+ export interface SimpleRoomsFactoryOptions {
20
+ i18n: I18nService | any;
21
+ createRoom(room: GameRoomConfig): SimpleRoom;
22
+ gameType: string;
23
+ restartGameTimeout: number;
24
+ playersTurnTimeout: number;
25
+ instantFinishMode: boolean;
26
+ }
@@ -1,60 +1,60 @@
1
- import { DynamicModule, Global, Module, Provider } from '@nestjs/common';
2
- import { MongooseModule } from '@nestjs/mongoose';
3
- import {
4
- SimpleRoom,
5
- SimpleRoomSchema,
6
- SimpleRoomsRepository,
7
- User,
8
- UserSchema,
9
- UsersRepository,
10
- GameResult,
11
- GameResultSchema,
12
- GameResultRepository,
13
- } from 'jp.db.schemas';
14
-
15
- import { SimpleRoomsManagerService } from './simple-rooms-manager.service';
16
- import { SimpleRoomsManagerOptions } from './simple-rooms-manager.interfaces';
17
- import { SIMPLE_ROOMS_MANAGER_OPTIONS } from './simple-rooms-manager.constants';
18
-
19
- @Global()
20
- @Module({
21
- imports: [
22
- MongooseModule.forFeature([
23
- { name: SimpleRoom.name, schema: SimpleRoomSchema },
24
- ]),
25
- MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
26
- MongooseModule.forFeature([
27
- { name: GameResult.name, schema: GameResultSchema },
28
- ]),
29
- ],
30
- providers: [
31
- SimpleRoomsRepository,
32
- UsersRepository,
33
- GameResultRepository,
34
- SimpleRoomsManagerService,
35
- ],
36
- exports: [SimpleRoomsManagerService],
37
- })
38
- export class SimpleRoomsManagerModule {
39
- constructor(
40
- private readonly simpleRoomsManagerService: SimpleRoomsManagerService,
41
- ) {}
42
-
43
- static forRootAsync(options: SimpleRoomsManagerOptions): DynamicModule {
44
- return {
45
- module: SimpleRoomsManagerModule,
46
- imports: options.imports ?? [],
47
- providers: [
48
- {
49
- provide: SIMPLE_ROOMS_MANAGER_OPTIONS,
50
- useFactory: options.useFactory,
51
- inject: options.inject || [],
52
- } as Provider,
53
- ],
54
- };
55
- }
56
-
57
- async onModuleInit() {
58
- await this.simpleRoomsManagerService.hydrateRoomsFromDB();
59
- }
60
- }
1
+ import { DynamicModule, Global, Module, Provider } from '@nestjs/common';
2
+ import { MongooseModule } from '@nestjs/mongoose';
3
+ import {
4
+ SimpleRoom,
5
+ SimpleRoomSchema,
6
+ SimpleRoomsRepository,
7
+ User,
8
+ UserSchema,
9
+ UsersRepository,
10
+ GameResult,
11
+ GameResultSchema,
12
+ GameResultRepository,
13
+ } from 'jp.db.schemas';
14
+
15
+ import { SimpleRoomsManagerService } from './simple-rooms-manager.service';
16
+ import { SimpleRoomsManagerOptions } from './simple-rooms-manager.interfaces';
17
+ import { SIMPLE_ROOMS_MANAGER_OPTIONS } from './simple-rooms-manager.constants';
18
+
19
+ @Global()
20
+ @Module({
21
+ imports: [
22
+ MongooseModule.forFeature([
23
+ { name: SimpleRoom.name, schema: SimpleRoomSchema },
24
+ ]),
25
+ MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
26
+ MongooseModule.forFeature([
27
+ { name: GameResult.name, schema: GameResultSchema },
28
+ ]),
29
+ ],
30
+ providers: [
31
+ SimpleRoomsRepository,
32
+ UsersRepository,
33
+ GameResultRepository,
34
+ SimpleRoomsManagerService,
35
+ ],
36
+ exports: [SimpleRoomsManagerService],
37
+ })
38
+ export class SimpleRoomsManagerModule {
39
+ constructor(
40
+ private readonly simpleRoomsManagerService: SimpleRoomsManagerService,
41
+ ) {}
42
+
43
+ static forRootAsync(options: SimpleRoomsManagerOptions): DynamicModule {
44
+ return {
45
+ module: SimpleRoomsManagerModule,
46
+ imports: options.imports ?? [],
47
+ providers: [
48
+ {
49
+ provide: SIMPLE_ROOMS_MANAGER_OPTIONS,
50
+ useFactory: options.useFactory,
51
+ inject: options.inject || [],
52
+ } as Provider,
53
+ ],
54
+ };
55
+ }
56
+
57
+ async onModuleInit() {
58
+ await this.simpleRoomsManagerService.hydrateRoomsFromDB();
59
+ }
60
+ }