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,71 +1,71 @@
1
- import {
2
- AppScreenIdEnum,
3
- IAppScreen,
4
- UniversalScreenView,
5
- ILocaleService,
6
- StandardScreenComponent,
7
- IconImageComponent,
8
- MenuHeaderSectionComponent,
9
- MenuListSectionComponent,
10
- MenuSectionListItemComponent,
11
- OneBannerSectionComponent,
12
- BannerSectionListItemComponent,
13
- UrlImageComponent,
14
- BaseSectionComponent,
15
- } from 'jp.common.models';
16
- import { Banner, Menu } from 'jp.db.schemas';
17
-
18
- export class MenuScreenView extends UniversalScreenView {
19
- private readonly menuItems: Array<Menu>;
20
- private readonly banner: Banner | null;
21
-
22
- constructor(
23
- localeService: ILocaleService,
24
- lang: string,
25
- menuItems: Array<Menu>,
26
- banner: Banner | null,
27
- ) {
28
- super(localeService, lang);
29
- this.menuItems = menuItems;
30
- this.banner = banner;
31
- }
32
-
33
- build(): IAppScreen {
34
- return new StandardScreenComponent(AppScreenIdEnum.MENU)
35
- .addSection(this.getHeaderSection())
36
- .addSection(
37
- new MenuListSectionComponent(
38
- 'id1',
39
- this.menuItems.map(
40
- (item) =>
41
- new MenuSectionListItemComponent(
42
- item.code,
43
- this.getDbResource(item.title),
44
- new IconImageComponent(item.icon),
45
- item.url,
46
- ),
47
- ),
48
- ),
49
- );
50
- }
51
-
52
- getHeaderSection(): BaseSectionComponent {
53
- if (this.banner) {
54
- return new OneBannerSectionComponent(
55
- 'banner',
56
- new BannerSectionListItemComponent(
57
- this.banner.bannerId,
58
- this.getDbResource(this.banner.title),
59
- this.localeService.t('common.menu.header.title', { lang: this.lang }),
60
- new UrlImageComponent(this.banner.image),
61
- this.banner.link,
62
- ),
63
- );
64
- }
65
-
66
- return new MenuHeaderSectionComponent(
67
- 'header',
68
- this.localeService.t('common.menu.header.title', { lang: this.lang }),
69
- );
70
- }
71
- }
1
+ import {
2
+ AppScreenIdEnum,
3
+ IAppScreen,
4
+ UniversalScreenView,
5
+ ILocaleService,
6
+ StandardScreenComponent,
7
+ IconImageComponent,
8
+ MenuHeaderSectionComponent,
9
+ MenuListSectionComponent,
10
+ MenuSectionListItemComponent,
11
+ OneBannerSectionComponent,
12
+ BannerSectionListItemComponent,
13
+ UrlImageComponent,
14
+ BaseSectionComponent,
15
+ } from 'jp.common.models';
16
+ import { Banner, Menu } from 'jp.db.schemas';
17
+
18
+ export class MenuScreenView extends UniversalScreenView {
19
+ private readonly menuItems: Array<Menu>;
20
+ private readonly banner: Banner | null;
21
+
22
+ constructor(
23
+ localeService: ILocaleService,
24
+ lang: string,
25
+ menuItems: Array<Menu>,
26
+ banner: Banner | null,
27
+ ) {
28
+ super(localeService, lang);
29
+ this.menuItems = menuItems;
30
+ this.banner = banner;
31
+ }
32
+
33
+ build(): IAppScreen {
34
+ return new StandardScreenComponent(AppScreenIdEnum.MENU)
35
+ .addSection(this.getHeaderSection())
36
+ .addSection(
37
+ new MenuListSectionComponent(
38
+ 'id1',
39
+ this.menuItems.map(
40
+ (item) =>
41
+ new MenuSectionListItemComponent(
42
+ item.code,
43
+ this.getDbResource(item.title),
44
+ new IconImageComponent(item.icon),
45
+ item.url,
46
+ ),
47
+ ),
48
+ ),
49
+ );
50
+ }
51
+
52
+ getHeaderSection(): BaseSectionComponent {
53
+ if (this.banner) {
54
+ return new OneBannerSectionComponent(
55
+ 'banner',
56
+ new BannerSectionListItemComponent(
57
+ this.banner.bannerId,
58
+ this.getDbResource(this.banner.title),
59
+ this.localeService.t('common.menu.header.title', { lang: this.lang }),
60
+ new UrlImageComponent(this.banner.image),
61
+ this.banner.link,
62
+ ),
63
+ );
64
+ }
65
+
66
+ return new MenuHeaderSectionComponent(
67
+ 'header',
68
+ this.localeService.t('common.menu.header.title', { lang: this.lang }),
69
+ );
70
+ }
71
+ }
@@ -1 +1 @@
1
- export const MENU_OPTIONS = Symbol('MENU_OPTIONS');
1
+ export const MENU_OPTIONS = Symbol('MENU_OPTIONS');
@@ -1,16 +1,16 @@
1
- import { Controller, Get, Headers } from '@nestjs/common';
2
- import { IAppHeaders } from 'jp.common.models';
3
-
4
- import { BaseAppScreenDto } from '../../dto';
5
-
6
- import { MenuService } from './menu.service';
7
-
8
- @Controller()
9
- export class MenuController {
10
- constructor(private readonly menuService: MenuService) {}
11
-
12
- @Get('menu')
13
- getScreen(@Headers() headers: IAppHeaders): Promise<BaseAppScreenDto> {
14
- return this.menuService.getScreen(headers);
15
- }
16
- }
1
+ import { Controller, Get, Headers } from '@nestjs/common';
2
+ import { IAppHeaders } from 'jp.common.models';
3
+
4
+ import { BaseAppScreenDto } from '../../dto';
5
+
6
+ import { MenuService } from './menu.service';
7
+
8
+ @Controller()
9
+ export class MenuController {
10
+ constructor(private readonly menuService: MenuService) {}
11
+
12
+ @Get('menu')
13
+ getScreen(@Headers() headers: IAppHeaders): Promise<BaseAppScreenDto> {
14
+ return this.menuService.getScreen(headers);
15
+ }
16
+ }
@@ -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 MenuModuleOptions 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 MenuFactoryOptions {
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 MenuModuleOptions 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 MenuFactoryOptions {
16
+ i18n: I18nService;
17
+ }
@@ -1,39 +1,39 @@
1
- import { DynamicModule, Module, Provider } from '@nestjs/common';
2
- import { MongooseModule } from '@nestjs/mongoose';
3
- import {
4
- Menu,
5
- MenuSchema,
6
- MenuRepository,
7
- Banner,
8
- BannerSchema,
9
- BannersRepository,
10
- } from 'jp.db.schemas';
11
-
12
- import { MenuController } from './menu.controller';
13
- import { MenuService } from './menu.service';
14
- import { MENU_OPTIONS } from './menu.constants';
15
- import { MenuModuleOptions } from './menu.interfaces';
16
-
17
- @Module({
18
- imports: [
19
- MongooseModule.forFeature([{ name: Menu.name, schema: MenuSchema }]),
20
- MongooseModule.forFeature([{ name: Banner.name, schema: BannerSchema }]),
21
- ],
22
- controllers: [MenuController],
23
- providers: [MenuRepository, MenuService, BannersRepository],
24
- })
25
- export class MenuModule {
26
- static forRootAsync(options: MenuModuleOptions): DynamicModule {
27
- return {
28
- module: MenuModule,
29
- imports: options.imports ?? [],
30
- providers: [
31
- {
32
- provide: MENU_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
+ Menu,
5
+ MenuSchema,
6
+ MenuRepository,
7
+ Banner,
8
+ BannerSchema,
9
+ BannersRepository,
10
+ } from 'jp.db.schemas';
11
+
12
+ import { MenuController } from './menu.controller';
13
+ import { MenuService } from './menu.service';
14
+ import { MENU_OPTIONS } from './menu.constants';
15
+ import { MenuModuleOptions } from './menu.interfaces';
16
+
17
+ @Module({
18
+ imports: [
19
+ MongooseModule.forFeature([{ name: Menu.name, schema: MenuSchema }]),
20
+ MongooseModule.forFeature([{ name: Banner.name, schema: BannerSchema }]),
21
+ ],
22
+ controllers: [MenuController],
23
+ providers: [MenuRepository, MenuService, BannersRepository],
24
+ })
25
+ export class MenuModule {
26
+ static forRootAsync(options: MenuModuleOptions): DynamicModule {
27
+ return {
28
+ module: MenuModule,
29
+ imports: options.imports ?? [],
30
+ providers: [
31
+ {
32
+ provide: MENU_OPTIONS,
33
+ useFactory: options.useFactory,
34
+ inject: options.inject || [],
35
+ } as Provider,
36
+ ],
37
+ };
38
+ }
39
+ }
@@ -1,39 +1,39 @@
1
- import { Inject, Injectable } from '@nestjs/common';
2
- import { BannersRepository, MenuRepository } from 'jp.db.schemas';
3
- import { IAppHeaders } from 'jp.common.models';
4
-
5
- import { BaseAppScreenDto } from '../../dto';
6
-
7
- import { MENU_OPTIONS } from './menu.constants';
8
- import { MenuFactoryOptions } from './menu.interfaces';
9
- import { MenuScreenView } from './menu-screen.view';
10
-
11
- @Injectable()
12
- export class MenuService {
13
- constructor(
14
- private readonly menuRepository: MenuRepository,
15
- private readonly bannersRepository: BannersRepository,
16
- @Inject(MENU_OPTIONS) private readonly options: MenuFactoryOptions,
17
- ) {}
18
-
19
- async getScreen(headers: IAppHeaders): Promise<BaseAppScreenDto> {
20
- const menuItems =
21
- (await this.menuRepository.findMenus(
22
- headers.client_game,
23
- headers.client_channel,
24
- )) ?? [];
25
- const enabledBanner = await this.bannersRepository.findEnabledBanner(
26
- headers.client_game,
27
- headers.client_channel,
28
- );
29
-
30
- return new BaseAppScreenDto(
31
- new MenuScreenView(
32
- this.options.i18n,
33
- headers.client_language,
34
- menuItems,
35
- enabledBanner,
36
- ).buildBS(),
37
- );
38
- }
39
- }
1
+ import { Inject, Injectable } from '@nestjs/common';
2
+ import { BannersRepository, MenuRepository } from 'jp.db.schemas';
3
+ import { IAppHeaders } from 'jp.common.models';
4
+
5
+ import { BaseAppScreenDto } from '../../dto';
6
+
7
+ import { MENU_OPTIONS } from './menu.constants';
8
+ import { MenuFactoryOptions } from './menu.interfaces';
9
+ import { MenuScreenView } from './menu-screen.view';
10
+
11
+ @Injectable()
12
+ export class MenuService {
13
+ constructor(
14
+ private readonly menuRepository: MenuRepository,
15
+ private readonly bannersRepository: BannersRepository,
16
+ @Inject(MENU_OPTIONS) private readonly options: MenuFactoryOptions,
17
+ ) {}
18
+
19
+ async getScreen(headers: IAppHeaders): Promise<BaseAppScreenDto> {
20
+ const menuItems =
21
+ (await this.menuRepository.findMenus(
22
+ headers.client_game,
23
+ headers.client_channel,
24
+ )) ?? [];
25
+ const enabledBanner = await this.bannersRepository.findEnabledBanner(
26
+ headers.client_game,
27
+ headers.client_channel,
28
+ );
29
+
30
+ return new BaseAppScreenDto(
31
+ new MenuScreenView(
32
+ this.options.i18n,
33
+ headers.client_language,
34
+ menuItems,
35
+ enabledBanner,
36
+ ).buildBS(),
37
+ );
38
+ }
39
+ }
@@ -1 +1 @@
1
- export { OneTableTournamentModule } from './one-table-tournament.module';
1
+ export { OneTableTournamentModule } from './one-table-tournament.module';