jp.ms.common.modules 1.0.34 → 1.0.36

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 (335) hide show
  1. package/dist/dto/app-screen/app-screen-field-list-item.dto.js.map +1 -1
  2. package/dist/dto/app-screen/app-screen-field.dto.js.map +1 -1
  3. package/dist/dto/app-screen/app-screen-section-list-item.dto.js.map +1 -1
  4. package/dist/dto/app-screen/app-screen.dto.js +3 -1
  5. package/dist/dto/app-screen/app-screen.dto.js.map +1 -1
  6. package/dist/dto/app-screen/base-app-screen.dto.js +3 -1
  7. package/dist/dto/app-screen/base-app-screen.dto.js.map +1 -1
  8. package/dist/dto/app-table/card.dto.js.map +1 -1
  9. package/dist/dto/app-table/cards-deck.dto.d.ts +2 -2
  10. package/dist/dto/app-table/cards-deck.dto.js.map +1 -1
  11. package/dist/dto/app-table/cards-player.dto.js.map +1 -1
  12. package/dist/dto/common/find-free-table.dto.js.map +1 -1
  13. package/dist/dto/common/join-tournament.dto.js.map +1 -1
  14. package/dist/dto/common/many-tables-tournament-create.dto.js +3 -1
  15. package/dist/dto/common/many-tables-tournament-create.dto.js.map +1 -1
  16. package/dist/dto/common/player-check-state.dto.js.map +1 -1
  17. package/dist/dto/common/player-connected.dto.js.map +1 -1
  18. package/dist/dto/games/fool/fool-player.dto.d.ts +1 -1
  19. package/dist/dto/games/fool/fool-player.dto.js.map +1 -1
  20. package/dist/dto/games/fool/fool-table.dto.d.ts +4 -4
  21. package/dist/dto/games/fool/fool-table.dto.js +3 -1
  22. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  23. package/dist/dto/index.js.map +1 -1
  24. package/dist/exception/error-code.enum.js.map +1 -1
  25. package/dist/exception/global-exception-filter.js +3 -9
  26. package/dist/exception/global-exception-filter.js.map +1 -1
  27. package/dist/exception/http-exception-wth-snackbar.js.map +1 -1
  28. package/dist/exception/index.js.map +1 -1
  29. package/dist/exception/not-enough-money-for-purchase.exception.js.map +1 -1
  30. package/dist/exception/not-found-free-room-for-fast-game.exception.js.map +1 -1
  31. package/dist/index.d.ts +0 -1
  32. package/dist/index.js +0 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/modules/anti-freeze-system/anti-freeze-system.interfaces.d.ts +3 -3
  35. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +3 -5
  36. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +6 -12
  37. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  38. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +3 -3
  39. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +8 -6
  40. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  41. package/dist/modules/base-achievements/base-achievements.module.d.ts +1 -1
  42. package/dist/modules/base-achievements/base-achievements.module.js +24 -16
  43. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  44. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
  45. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.d.ts +1 -1
  46. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.js.map +1 -1
  47. package/dist/modules/event-bus/events-bus.module.js +1 -1
  48. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  49. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.js.map +1 -1
  50. package/dist/modules/events/events.gateway.js.map +1 -1
  51. package/dist/modules/events/events.module.js.map +1 -1
  52. package/dist/modules/index.d.ts +4 -4
  53. package/dist/modules/index.js +7 -7
  54. package/dist/modules/index.js.map +1 -1
  55. package/dist/modules/logger/jp-logger.module.js.map +1 -1
  56. package/dist/modules/logger/jp-logger.service.d.ts +1 -1
  57. package/dist/modules/logger/jp-logger.service.js +1 -1
  58. package/dist/modules/logger/jp-logger.service.js.map +1 -1
  59. package/dist/modules/main/main-tables-list-screen.view.d.ts +2 -2
  60. package/dist/modules/main/main-tables-list-screen.view.js +32 -13
  61. package/dist/modules/main/main-tables-list-screen.view.js.map +1 -1
  62. package/dist/modules/main/main.controller.js.map +1 -1
  63. package/dist/modules/main/main.module.d.ts +1 -1
  64. package/dist/modules/main/main.module.js +8 -8
  65. package/dist/modules/main/main.module.js.map +1 -1
  66. package/dist/modules/main/main.service.d.ts +3 -3
  67. package/dist/modules/main/main.service.js +9 -6
  68. package/dist/modules/main/main.service.js.map +1 -1
  69. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.d.ts +2 -2
  70. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js +20 -10
  71. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js.map +1 -1
  72. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.d.ts +2 -2
  73. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js +7 -2
  74. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js.map +1 -1
  75. package/dist/modules/many-tables-tournament/many-tables-tournament.constants.js.map +1 -1
  76. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +3 -3
  77. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +5 -7
  78. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  79. package/dist/modules/many-tables-tournament/many-tables-tournament.module.d.ts +3 -3
  80. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +14 -6
  81. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  82. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +3 -3
  83. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +5 -4
  84. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  85. package/dist/modules/many-tables-tournament-rooms-manager/index.d.ts +2 -0
  86. package/dist/modules/many-tables-tournament-rooms-manager/index.js +8 -0
  87. package/dist/modules/{tournament-many-tables-rooms-manager → many-tables-tournament-rooms-manager}/index.js.map +1 -1
  88. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.d.ts +1 -0
  89. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.js +5 -0
  90. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.js.map +1 -0
  91. package/dist/modules/{tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.d.ts → many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.d.ts} +13 -7
  92. package/dist/modules/{tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.js → many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.js} +1 -1
  93. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.js.map +1 -0
  94. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.d.ts +11 -0
  95. package/dist/modules/{tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js → many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js} +29 -21
  96. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -0
  97. package/dist/modules/{tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.d.ts → many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts} +4 -4
  98. package/dist/modules/{tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js → many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js} +33 -31
  99. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -0
  100. package/dist/modules/menu/menu-screen.view.d.ts +2 -2
  101. package/dist/modules/menu/menu-screen.view.js +1 -1
  102. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  103. package/dist/modules/menu/menu.controller.js.map +1 -1
  104. package/dist/modules/menu/menu.module.js.map +1 -1
  105. package/dist/modules/menu/menu.service.js +1 -1
  106. package/dist/modules/menu/menu.service.js.map +1 -1
  107. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.d.ts +2 -2
  108. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js +18 -10
  109. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js.map +1 -1
  110. package/dist/modules/one-table-tournament/one-table-tournament.constants.js.map +1 -1
  111. package/dist/modules/one-table-tournament/one-table-tournament.controller.js.map +1 -1
  112. package/dist/modules/one-table-tournament/one-table-tournament.module.d.ts +3 -3
  113. package/dist/modules/one-table-tournament/one-table-tournament.module.js +14 -6
  114. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  115. package/dist/modules/one-table-tournament/one-table-tournament.service.d.ts +2 -2
  116. package/dist/modules/one-table-tournament/one-table-tournament.service.js +2 -2
  117. package/dist/modules/one-table-tournament/one-table-tournament.service.js.map +1 -1
  118. package/dist/modules/one-table-tournament-rooms-manager/index.d.ts +2 -0
  119. package/dist/modules/one-table-tournament-rooms-manager/index.js +8 -0
  120. package/dist/modules/{tournament-one-table-rooms-manager → one-table-tournament-rooms-manager}/index.js.map +1 -1
  121. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.d.ts +1 -0
  122. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.js +5 -0
  123. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.js.map +1 -0
  124. package/dist/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.d.ts → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.d.ts} +9 -7
  125. package/dist/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.js → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.js} +1 -1
  126. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.js.map +1 -0
  127. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.d.ts +9 -0
  128. package/dist/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js} +24 -17
  129. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -0
  130. package/dist/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.d.ts → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts} +4 -4
  131. package/dist/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js} +19 -20
  132. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -0
  133. package/dist/modules/players-manager/players-manager.module.js +1 -1
  134. package/dist/modules/players-manager/players-manager.module.js.map +1 -1
  135. package/dist/modules/players-manager/players-manager.service.js.map +1 -1
  136. package/dist/modules/simple-rooms/simple-rooms.controller.js.map +1 -1
  137. package/dist/modules/simple-rooms/simple-rooms.module.js +4 -3
  138. package/dist/modules/simple-rooms/simple-rooms.module.js.map +1 -1
  139. package/dist/modules/simple-rooms/simple-rooms.service.js.map +1 -1
  140. package/dist/modules/simple-rooms-manager/simple-rooms-manager.constants.js.map +1 -1
  141. package/dist/modules/simple-rooms-manager/simple-rooms-manager.interfaces.d.ts +6 -4
  142. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +6 -2
  143. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  144. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +14 -10
  145. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  146. package/dist/modules/support/dump.service.d.ts +1 -1
  147. package/dist/modules/support/dump.service.js +2 -3
  148. package/dist/modules/support/dump.service.js.map +1 -1
  149. package/dist/modules/support/metric.service.d.ts +3 -3
  150. package/dist/modules/support/metric.service.js +1 -1
  151. package/dist/modules/support/metric.service.js.map +1 -1
  152. package/dist/modules/support/support.controller.d.ts +2 -2
  153. package/dist/modules/support/support.controller.js +7 -7
  154. package/dist/modules/support/support.controller.js.map +1 -1
  155. package/dist/modules/support/support.interfaces.d.ts +10 -4
  156. package/dist/modules/support/support.module.d.ts +1 -0
  157. package/dist/modules/support/support.module.js +13 -0
  158. package/dist/modules/support/support.module.js.map +1 -1
  159. package/dist/modules/support/support.service.d.ts +1 -1
  160. package/dist/modules/support/support.service.js +7 -3
  161. package/dist/modules/support/support.service.js.map +1 -1
  162. package/dist/tsconfig.tsbuildinfo +1 -1
  163. package/dist/utils/date.js.map +1 -1
  164. package/dist/utils/game-table-result.d.ts +2 -2
  165. package/dist/utils/game-table-result.js +17 -5
  166. package/dist/utils/game-table-result.js.map +1 -1
  167. package/dist/views/index.js.map +1 -1
  168. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  169. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.js.map +1 -1
  170. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  171. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.js.map +1 -1
  172. package/dist/views/simple-room-conifrm-exit-dialog.view.d.ts +1 -1
  173. package/dist/views/simple-room-conifrm-exit-dialog.view.js.map +1 -1
  174. package/dist/views/table-summary.view.d.ts +2 -2
  175. package/dist/views/table-summary.view.js +17 -5
  176. package/dist/views/table-summary.view.js.map +1 -1
  177. package/dist/views/tournament-buy-ticket-dialog.view.d.ts +1 -1
  178. package/dist/views/tournament-buy-ticket-dialog.view.js +7 -1
  179. package/dist/views/tournament-buy-ticket-dialog.view.js.map +1 -1
  180. package/package.json +18 -7
  181. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +33 -33
  182. package/src/dto/app-screen/app-screen-field.dto.ts +45 -45
  183. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +84 -84
  184. package/src/dto/app-screen/app-screen.dto.ts +3 -1
  185. package/src/dto/app-screen/base-app-screen.dto.ts +3 -1
  186. package/src/dto/app-table/card.dto.ts +7 -1
  187. package/src/dto/app-table/cards-deck.dto.ts +18 -18
  188. package/src/dto/app-table/cards-player.dto.ts +5 -5
  189. package/src/dto/app-table/index.ts +1 -1
  190. package/src/dto/common/find-free-table.dto.ts +1 -1
  191. package/src/dto/common/index.ts +1 -1
  192. package/src/dto/common/join-tournament.dto.ts +25 -22
  193. package/src/dto/common/log.dto.ts +4 -4
  194. package/src/dto/common/many-tables-tournament-create.dto.ts +4 -2
  195. package/src/dto/common/player-check-state.dto.ts +25 -22
  196. package/src/dto/common/player-connected.dto.ts +45 -45
  197. package/src/dto/games/fool/fool-player.dto.ts +2 -2
  198. package/src/dto/games/fool/fool-table.dto.ts +65 -63
  199. package/src/dto/games/index.ts +1 -1
  200. package/src/dto/index.ts +3 -3
  201. package/src/exception/error-code.enum.ts +3 -3
  202. package/src/exception/global-exception-filter.ts +26 -23
  203. package/src/exception/http-exception-wth-snackbar.ts +18 -14
  204. package/src/exception/index.ts +2 -2
  205. package/src/exception/not-enough-money-for-purchase.exception.ts +8 -9
  206. package/src/exception/not-found-free-room-for-fast-game.exception.ts +8 -9
  207. package/src/index.ts +1 -2
  208. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +9 -6
  209. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +44 -44
  210. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +83 -72
  211. package/src/modules/base-achievements/base-achievements.module.ts +198 -61
  212. package/src/modules/base-achievements/index.ts +1 -1
  213. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +11 -12
  214. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +24 -24
  215. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +2 -2
  216. package/src/modules/event-bus/events-bus.module.ts +2 -2
  217. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +2 -2
  218. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +11 -12
  219. package/src/modules/event-bus/index.ts +1 -1
  220. package/src/modules/events/events.gateway.ts +51 -49
  221. package/src/modules/events/events.interfaces.ts +6 -5
  222. package/src/modules/events/events.module.ts +18 -19
  223. package/src/modules/index.ts +15 -9
  224. package/src/modules/logger/jp-logger.module.ts +2 -2
  225. package/src/modules/logger/jp-logger.service.ts +28 -22
  226. package/src/modules/main/main-tables-list-screen.view.ts +247 -201
  227. package/src/modules/main/main.controller.ts +64 -43
  228. package/src/modules/main/main.interfaces.ts +6 -4
  229. package/src/modules/main/main.module.ts +56 -39
  230. package/src/modules/main/main.service.ts +151 -107
  231. package/src/modules/many-tables-tournament/index.ts +1 -1
  232. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +129 -111
  233. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +57 -55
  234. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -1
  235. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +131 -92
  236. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +8 -5
  237. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +63 -36
  238. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +162 -127
  239. package/src/modules/many-tables-tournament-rooms-manager/index.ts +2 -0
  240. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.constants.ts +3 -0
  241. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +35 -0
  242. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +84 -0
  243. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +331 -0
  244. package/src/modules/menu/menu-screen.view.ts +64 -63
  245. package/src/modules/menu/menu.controller.ts +5 -6
  246. package/src/modules/menu/menu.interfaces.ts +6 -4
  247. package/src/modules/menu/menu.module.ts +28 -22
  248. package/src/modules/menu/menu.service.ts +21 -21
  249. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +147 -138
  250. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -1
  251. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +91 -60
  252. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +8 -5
  253. package/src/modules/one-table-tournament/one-table-tournament.module.ts +59 -36
  254. package/src/modules/one-table-tournament/one-table-tournament.service.ts +104 -80
  255. package/src/modules/one-table-tournament-rooms-manager/index.ts +2 -0
  256. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.constants.ts +3 -0
  257. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +29 -0
  258. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +66 -0
  259. package/src/modules/{tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.ts → one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts} +71 -54
  260. package/src/modules/players-manager/players-manager.module.ts +1 -2
  261. package/src/modules/players-manager/players-manager.service.ts +5 -5
  262. package/src/modules/simple-rooms/simple-rooms.controller.ts +52 -43
  263. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +8 -5
  264. package/src/modules/simple-rooms/simple-rooms.module.ts +26 -23
  265. package/src/modules/simple-rooms/simple-rooms.service.ts +62 -57
  266. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -1
  267. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +13 -8
  268. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +44 -42
  269. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +160 -149
  270. package/src/modules/support/dump.service.ts +4 -5
  271. package/src/modules/support/metric.service.ts +30 -30
  272. package/src/modules/support/support.controller.ts +57 -48
  273. package/src/modules/support/support.interfaces.ts +14 -5
  274. package/src/modules/support/support.module.ts +23 -10
  275. package/src/modules/support/support.service.ts +15 -12
  276. package/src/utils/date.ts +4 -4
  277. package/src/utils/game-table-result.ts +110 -91
  278. package/src/views/index.ts +1 -1
  279. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +33 -17
  280. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +33 -17
  281. package/src/views/simple-room-conifrm-exit-dialog.view.ts +33 -17
  282. package/src/views/table-summary.view.ts +89 -76
  283. package/src/views/tournament-buy-ticket-dialog.view.ts +30 -17
  284. package/dist/config/cert.d.ts +0 -6
  285. package/dist/config/cert.js +0 -49
  286. package/dist/config/cert.js.map +0 -1
  287. package/dist/config/cors.d.ts +0 -5
  288. package/dist/config/cors.js +0 -48
  289. package/dist/config/cors.js.map +0 -1
  290. package/dist/config/database.d.ts +0 -2
  291. package/dist/config/database.js +0 -12
  292. package/dist/config/database.js.map +0 -1
  293. package/dist/config/index.d.ts +0 -5
  294. package/dist/config/index.js +0 -14
  295. package/dist/config/index.js.map +0 -1
  296. package/dist/config/locale.d.ts +0 -2
  297. package/dist/config/locale.js +0 -24
  298. package/dist/config/locale.js.map +0 -1
  299. package/dist/config/menu.d.ts +0 -2
  300. package/dist/config/menu.js +0 -10
  301. package/dist/config/menu.js.map +0 -1
  302. package/dist/modules/tournament-many-tables-rooms-manager/index.d.ts +0 -2
  303. package/dist/modules/tournament-many-tables-rooms-manager/index.js +0 -8
  304. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.d.ts +0 -1
  305. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.js +0 -5
  306. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.js.map +0 -1
  307. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.js.map +0 -1
  308. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.d.ts +0 -11
  309. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js.map +0 -1
  310. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js.map +0 -1
  311. package/dist/modules/tournament-one-table-rooms-manager/index.d.ts +0 -2
  312. package/dist/modules/tournament-one-table-rooms-manager/index.js +0 -8
  313. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.d.ts +0 -1
  314. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.js +0 -5
  315. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.js.map +0 -1
  316. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.js.map +0 -1
  317. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.d.ts +0 -9
  318. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js.map +0 -1
  319. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js.map +0 -1
  320. package/readme.md +0 -3
  321. package/src/config/cert.ts +0 -13
  322. package/src/config/cors.ts +0 -13
  323. package/src/config/database.ts +0 -11
  324. package/src/config/index.ts +0 -5
  325. package/src/config/locale.ts +0 -22
  326. package/src/config/menu.ts +0 -10
  327. package/src/modules/tournament-many-tables-rooms-manager/index.ts +0 -2
  328. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.ts +0 -1
  329. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.ts +0 -20
  330. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.ts +0 -69
  331. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.ts +0 -295
  332. package/src/modules/tournament-one-table-rooms-manager/index.ts +0 -2
  333. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.ts +0 -1
  334. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.ts +0 -20
  335. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.ts +0 -59
@@ -0,0 +1,331 @@
1
+ import { InjectConnection } from '@nestjs/mongoose';
2
+ import { Connection } from 'mongoose';
3
+ import dayjs from 'dayjs';
4
+ import schedule, { Job } from 'node-schedule';
5
+ import {
6
+ Inject,
7
+ Injectable,
8
+ InternalServerErrorException,
9
+ } from '@nestjs/common';
10
+ import {
11
+ BaseGameEvent,
12
+ GameMaster,
13
+ GamePlayer,
14
+ GameTableFinishedEvent,
15
+ GameTournamentCancelledEvent,
16
+ GameTournamentFinishedEvent,
17
+ GameTournamentPlayerJoinedTheTournamentEvent,
18
+ GameTournamentPlayerLeavedTheTournamentEvent,
19
+ GameTournamentStartedEvent,
20
+ GameTournamentWaitedEvent,
21
+ LocalService,
22
+ ManyTablesTournamentRoom,
23
+ ManyTablesTournamentRoomConfig,
24
+ NoStartStrategy,
25
+ RoomUpdateStateEvent,
26
+ TournamentMaster,
27
+ } from 'jp.ms.common.engine';
28
+ import {
29
+ GameResultRepository,
30
+ PurchaseRepository,
31
+ ManyTablesTournamentRoomDocument,
32
+ ManyTablesTournamentRoomsRepository,
33
+ UsersRepository,
34
+ } from 'jp.db.schemas';
35
+
36
+ import {
37
+ saveGameTablesResult,
38
+ saveTournamentResult,
39
+ } from '../../utils/game-table-result';
40
+ import { JpLoggerService } from '../logger';
41
+ import { getHours, getMinutes } from '../../utils/date';
42
+ import { ManyTablesTournamentCreateDto } from '../../dto/common/many-tables-tournament-create.dto';
43
+ import { ManyTablesTournamentUpdateDto } from '../../dto/common/many-tables-tournament-update.dto';
44
+ import {
45
+ EventsBusMainTablesSubscribeService,
46
+ EventsBusManyTablesTournamentSubscribeService,
47
+ } from '../event-bus';
48
+
49
+ import { MANY_TABLES_TOURNAMENT_ROOMS_MANAGER_OPTIONS } from './many-tables-tournament-rooms-manager.constants';
50
+ import { ManyTablesTournamentRoomsFactoryOptions } from './many-tables-tournament-rooms-manager.interfaces';
51
+
52
+ @Injectable()
53
+ export class ManyTablesTournamentRoomsManagerService {
54
+ private readonly rooms: Map<string, ManyTablesTournamentRoom>;
55
+ private createDailyTournamentJob: Job | null;
56
+
57
+ constructor(
58
+ private readonly tournamentRepository: ManyTablesTournamentRoomsRepository,
59
+ private readonly usersRepository: UsersRepository,
60
+ private readonly gameResultRepository: GameResultRepository,
61
+ private readonly purchaseRepository: PurchaseRepository,
62
+ private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
63
+ private readonly eventsBusManyTablesTournamentSubscribeService: EventsBusManyTablesTournamentSubscribeService,
64
+ @Inject(MANY_TABLES_TOURNAMENT_ROOMS_MANAGER_OPTIONS)
65
+ private readonly options: ManyTablesTournamentRoomsFactoryOptions,
66
+ @InjectConnection() private readonly connection: Connection,
67
+ @Inject() private readonly logger: JpLoggerService,
68
+ ) {
69
+ this.rooms = new Map<string, ManyTablesTournamentRoom>();
70
+ this.createDailyTournamentJob = null;
71
+ }
72
+
73
+ get gameType() {
74
+ return this.options.gameType;
75
+ }
76
+
77
+ getRoomById(roomId: string): ManyTablesTournamentRoom | undefined {
78
+ return this.rooms.get(roomId);
79
+ }
80
+
81
+ getRoomByTableId(tableId: string): ManyTablesTournamentRoom | undefined {
82
+ const { roomId } = GameMaster.parseTableId(tableId);
83
+
84
+ return this.getRoomById(roomId);
85
+ }
86
+
87
+ getRooms(): Array<ManyTablesTournamentRoom> {
88
+ return Array.from(this.rooms.values());
89
+ }
90
+
91
+ getTables(): Array<GameMaster> {
92
+ return this.getRooms().reduce((result, currentValue) => {
93
+ return [...result, ...currentValue.getMasters()];
94
+ }, [] as Array<GameMaster>);
95
+ }
96
+
97
+ addRoom(room: ManyTablesTournamentRoom) {
98
+ this.rooms.set(room.getId(), room);
99
+ }
100
+
101
+ async hydrateTournamentsFromDB() {
102
+ const templates = await this.tournamentRepository.findActualTournaments(
103
+ this.gameType,
104
+ );
105
+ templates.forEach((item) => {
106
+ this.addRoom(
107
+ this.options.createTournamentRoom(
108
+ this.manyTablesTournamentDocumentToTournamentRoom(item),
109
+ ),
110
+ );
111
+ });
112
+ }
113
+
114
+ async runDailyTournamentJob() {
115
+ if (
116
+ this.options.dailyTournamentScheduleTaskTime &&
117
+ this.options.dailyTournamentTime
118
+ ) {
119
+ await this.createDailyTournament(this.options.dailyTournamentTime);
120
+
121
+ this.createDailyTournamentJob = schedule.scheduleJob(
122
+ this.options.dailyTournamentScheduleTaskTime,
123
+ () => this.createDailyTournament(this.options.dailyTournamentTime),
124
+ );
125
+ }
126
+ }
127
+
128
+ async createTournament(createTournamentDto: ManyTablesTournamentCreateDto) {
129
+ const newTournament =
130
+ await this.tournamentRepository.createTournament(createTournamentDto);
131
+
132
+ this.addRoom(
133
+ this.options.createTournamentRoom(
134
+ this.manyTablesTournamentDocumentToTournamentRoom(newTournament),
135
+ ),
136
+ );
137
+ }
138
+
139
+ async updateTournament(
140
+ tournamentId: string,
141
+ updateTournamentDto: ManyTablesTournamentUpdateDto,
142
+ ) {
143
+ const updatedTournament = await this.tournamentRepository.updateTournament(
144
+ tournamentId,
145
+ updateTournamentDto,
146
+ );
147
+
148
+ this.getRoomById(tournamentId)
149
+ ?.getRoomMaster<TournamentMaster>()
150
+ .cancelTournament();
151
+
152
+ this.addRoom(
153
+ this.options.createTournamentRoom(
154
+ this.manyTablesTournamentDocumentToTournamentRoom(updatedTournament),
155
+ ),
156
+ );
157
+ }
158
+
159
+ async removeTournament(tournamentId: string) {
160
+ await this.tournamentRepository.removeTournament(tournamentId);
161
+ }
162
+
163
+ async buyTicket(tournamentId: string, player: GamePlayer) {
164
+ const tournament = this.getRoomById(tournamentId);
165
+ const user = await this.usersRepository.findById(player.id);
166
+
167
+ if (!tournament || !user) {
168
+ throw new InternalServerErrorException();
169
+ }
170
+
171
+ const session = await this.connection.startSession();
172
+ session.startTransaction();
173
+
174
+ try {
175
+ player.decreaseBalance(tournament.getTicketPrice());
176
+ tournament.addParticipant(player);
177
+ void this.purchaseRepository.addManyTablesTournamentTicketPurchase(
178
+ player.id,
179
+ player.fullName,
180
+ tournamentId,
181
+ tournament.getTicketPrice(),
182
+ tournament.getGameType(),
183
+ );
184
+ void this.usersRepository.subtractFromBalance(
185
+ player.id,
186
+ tournament.getTicketPrice(),
187
+ );
188
+
189
+ await this.tournamentRepository.addPlayerToParticipants(tournamentId, {
190
+ playerId: player.id,
191
+ playerAvatarUrl: player.avatarUrl,
192
+ playerName: player.fullName,
193
+ });
194
+
195
+ await session.commitTransaction();
196
+ } catch (error) {
197
+ await session.abortTransaction();
198
+ throw error;
199
+ } finally {
200
+ await session.endSession();
201
+ }
202
+ }
203
+
204
+ private manyTablesTournamentDocumentToTournamentRoom(
205
+ tournamentDocument: ManyTablesTournamentRoomDocument,
206
+ ): ManyTablesTournamentRoomConfig {
207
+ return {
208
+ id: tournamentDocument.tournamentId,
209
+ gameType: tournamentDocument.gameType,
210
+ roomType: tournamentDocument.roomType,
211
+ rulesType: tournamentDocument.rulesType,
212
+ deckType: tournamentDocument.deckType,
213
+ tableSize: tournamentDocument.tableSize,
214
+ bet: tournamentDocument.bet,
215
+ ticketPrice: tournamentDocument.ticketPrice,
216
+ title: tournamentDocument.title,
217
+ subtitle: tournamentDocument.subtitle,
218
+ description: tournamentDocument.description,
219
+ enableForFastGame: false,
220
+ scheduleDate: tournamentDocument.scheduleDate,
221
+ turnTimeout: this.options.playersTurnTimeout,
222
+ restartTimeout: this.options.restartGameTimeout,
223
+ instantFinishMode: this.options.instantFinishMode,
224
+ minPlayersForMergeTables: this.options.minPlayersForMergeTables,
225
+ localeService: this.options.i18n as LocalService,
226
+ startStrategy: new NoStartStrategy(),
227
+ onRoomEvent: this.handleRoomEvent,
228
+ tournamentPrizeTable: this.options.tournamentPrizeTable,
229
+ tournamentInitialStatus: tournamentDocument.status,
230
+ tournamentWinners: tournamentDocument.winners,
231
+ maxParticipants: tournamentDocument.maxParticipants,
232
+ participants: tournamentDocument.participants,
233
+ };
234
+ }
235
+
236
+ private handleRoomEvent = (event: BaseGameEvent) => {
237
+ this.logger.log(event.toLog());
238
+
239
+ if (event instanceof GameTableFinishedEvent) {
240
+ void this.handleRoomTableGameFinished(event.master);
241
+ } else if (event instanceof GameTournamentStartedEvent) {
242
+ void this.handleTournamentRoomStarted(event.room.getRoomMaster());
243
+ } else if (event instanceof GameTournamentCancelledEvent) {
244
+ void this.handleTournamentRoomCancelled(event.room.getRoomMaster());
245
+ } else if (event instanceof GameTournamentFinishedEvent) {
246
+ void this.handleTournamentRoomFinished(event.room.getRoomMaster());
247
+ } else if (
248
+ event instanceof GameTournamentPlayerJoinedTheTournamentEvent ||
249
+ event instanceof GameTournamentPlayerLeavedTheTournamentEvent ||
250
+ event instanceof GameTournamentCancelledEvent ||
251
+ event instanceof GameTournamentWaitedEvent ||
252
+ event instanceof GameTournamentStartedEvent ||
253
+ event instanceof GameTournamentFinishedEvent
254
+ ) {
255
+ void this.handleRoomStatusUpdated(
256
+ new RoomUpdateStateEvent(event.gameType, event.roomId),
257
+ );
258
+ }
259
+ };
260
+
261
+ private handleRoomTableGameFinished = async (master: GameMaster) => {
262
+ await saveGameTablesResult(
263
+ master,
264
+ this.connection,
265
+ this.gameResultRepository,
266
+ this.usersRepository,
267
+ false,
268
+ );
269
+ };
270
+
271
+ private handleTournamentRoomStarted = async (master: TournamentMaster) => {
272
+ await this.tournamentRepository.startTournament(master.getTournamentId());
273
+ };
274
+
275
+ private handleTournamentRoomCancelled = async (master: TournamentMaster) => {
276
+ await this.tournamentRepository.cancelTournament(master.getTournamentId());
277
+ };
278
+
279
+ private handleTournamentRoomFinished = async (master: TournamentMaster) => {
280
+ await saveTournamentResult(
281
+ master,
282
+ this.connection,
283
+ this.tournamentRepository,
284
+ this.usersRepository,
285
+ );
286
+ };
287
+
288
+ private handleRoomStatusUpdated = (event: RoomUpdateStateEvent) => {
289
+ this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
290
+ this.eventsBusManyTablesTournamentSubscribeService.pushNewRoomState(event);
291
+ };
292
+
293
+ private createDailyTournament = async (dailyTournamentTime: string) => {
294
+ const hour = getHours(dailyTournamentTime);
295
+ const minutes = getMinutes(dailyTournamentTime);
296
+ const jobEveningDate = dayjs()
297
+ .set('hour', hour)
298
+ .set('minute', minutes)
299
+ .set('second', 0);
300
+ const addingDay = dayjs().isBefore(jobEveningDate) ? 0 : 1;
301
+
302
+ const startDate = dayjs().add(addingDay, 'day').startOf('day');
303
+ const endDate = dayjs().add(addingDay, 'day').endOf('day');
304
+
305
+ const tournamentDate = dayjs()
306
+ .add(addingDay, 'day')
307
+ .set('hour', hour)
308
+ .set('minute', minutes);
309
+
310
+ const waitedTournament =
311
+ await this.tournamentRepository.findWaitingTournamentByDate(
312
+ this.gameType,
313
+ startDate.toDate(),
314
+ endDate.toDate(),
315
+ );
316
+
317
+ if (!waitedTournament) {
318
+ const newTournament =
319
+ await this.tournamentRepository.scheduleTournamentFromMasterTemplate(
320
+ this.gameType,
321
+ tournamentDate.toDate(),
322
+ );
323
+
324
+ this.addRoom(
325
+ this.options.createTournamentRoom(
326
+ this.manyTablesTournamentDocumentToTournamentRoom(newTournament),
327
+ ),
328
+ );
329
+ }
330
+ };
331
+ }
@@ -1,70 +1,71 @@
1
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";
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
17
 
18
18
  export class MenuScreenView extends UniversalScreenView {
19
- private readonly menuItems: Array<Menu>;
20
- private readonly banner: Banner | null
19
+ private readonly menuItems: Array<Menu>;
20
+ private readonly banner: Banner | null;
21
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((item) => (
40
- new MenuSectionListItemComponent(
41
- item.code,
42
- this.lang === 'ru' ? item.title : item.titleEn,
43
- new IconImageComponent(item.icon),
44
- item.url,
45
- )
46
- )),
47
- )
48
- );
49
- }
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
+ }
50
32
 
51
- getHeaderSection (): BaseSectionComponent {
52
- if (this.banner) {
53
- return new OneBannerSectionComponent(
54
- 'banner',
55
- new BannerSectionListItemComponent(
56
- this.banner.bannerId,
57
- this.banner.titleRu,
58
- this.localeService.t('common.menu.header.title', { lang: this.lang }),
59
- new UrlImageComponent(this.banner.image),
60
- this.banner.link,
61
- )
62
- );
63
- }
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
+ }
64
51
 
65
- return new MenuHeaderSectionComponent(
66
- 'header',
67
- this.localeService.t('common.menu.header.title', { lang: this.lang }),
68
- );
52
+ getHeaderSection(): BaseSectionComponent {
53
+ if (this.banner) {
54
+ return new OneBannerSectionComponent(
55
+ 'banner',
56
+ new BannerSectionListItemComponent(
57
+ this.banner.bannerId,
58
+ this.banner.titleRu,
59
+ this.localeService.t('common.menu.header.title', { lang: this.lang }),
60
+ new UrlImageComponent(this.banner.image),
61
+ this.banner.link,
62
+ ),
63
+ );
69
64
  }
70
- }
65
+
66
+ return new MenuHeaderSectionComponent(
67
+ 'header',
68
+ this.localeService.t('common.menu.header.title', { lang: this.lang }),
69
+ );
70
+ }
71
+ }
@@ -7,11 +7,10 @@ import { MenuService } from './menu.service';
7
7
 
8
8
  @Controller()
9
9
  export class MenuController {
10
- constructor (private readonly menuService: MenuService) {
11
- }
10
+ constructor(private readonly menuService: MenuService) {}
12
11
 
13
- @Get('menu')
14
- getScreen(@Headers() headers: IAppHeaders): Promise<BaseAppScreenDto> {
15
- return this.menuService.getScreen(headers);
16
- }
12
+ @Get('menu')
13
+ getScreen(@Headers() headers: IAppHeaders): Promise<BaseAppScreenDto> {
14
+ return this.menuService.getScreen(headers);
15
+ }
17
16
  }
@@ -5,11 +5,13 @@ import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.
5
5
  import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
6
 
7
7
  export interface MenuModuleOptions extends Pick<ModuleMetadata, 'imports'> {
8
- imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
9
- inject?: any[];
10
- useFactory?: (...args: any[]) => Promise<any> | any;
8
+ imports?: Array<
9
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
10
+ >;
11
+ inject?: any[];
12
+ useFactory?: (...args: any[]) => Promise<any> | any;
11
13
  }
12
14
 
13
15
  export interface MenuFactoryOptions {
14
- i18n: I18nService
16
+ i18n: I18nService;
15
17
  }
@@ -1,33 +1,39 @@
1
1
  import { DynamicModule, Module, Provider } from '@nestjs/common';
2
2
  import { MongooseModule } from '@nestjs/mongoose';
3
- import { Menu, MenuSchema, MenuRepository, Banner, BannerSchema, BannersRepository } from 'jp.db.schemas';
3
+ import {
4
+ Menu,
5
+ MenuSchema,
6
+ MenuRepository,
7
+ Banner,
8
+ BannerSchema,
9
+ BannersRepository,
10
+ } from 'jp.db.schemas';
4
11
 
5
12
  import { MenuController } from './menu.controller';
6
13
  import { MenuService } from './menu.service';
7
- import { MENU_OPTIONS } from './menu.constants'
14
+ import { MENU_OPTIONS } from './menu.constants';
8
15
  import { MenuModuleOptions } from './menu.interfaces';
9
16
 
10
17
  @Module({
11
- imports: [
12
- MongooseModule.forFeature([{ name: Menu.name, schema: MenuSchema }]),
13
- MongooseModule.forFeature([{ name: Banner.name, schema: BannerSchema }]),
14
- ],
15
- controllers: [MenuController],
16
- providers: [MenuRepository, MenuService, BannersRepository],
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],
17
24
  })
18
25
  export class MenuModule {
19
- static forRootAsync(options: MenuModuleOptions): DynamicModule {
20
- return {
21
- module: MenuModule,
22
- imports: options.imports ?? [],
23
- providers: [
24
- {
25
- provide: MENU_OPTIONS,
26
- useFactory: options.useFactory,
27
- inject: options.inject || [],
28
- } as Provider,
29
- ],
30
- };
31
- }
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
+ }
32
39
  }
33
-
@@ -1,8 +1,6 @@
1
1
  import { Inject, Injectable } from '@nestjs/common';
2
2
  import { BannersRepository, MenuRepository } from 'jp.db.schemas';
3
- import {
4
- IAppHeaders,
5
- } from 'jp.common.models';
3
+ import { IAppHeaders } from 'jp.common.models';
6
4
 
7
5
  import { BaseAppScreenDto } from '../../dto';
8
6
 
@@ -12,24 +10,26 @@ import { MenuScreenView } from './menu-screen.view';
12
10
 
13
11
  @Injectable()
14
12
  export class MenuService {
15
- constructor(
16
- private readonly menuRepository: MenuRepository,
17
- private readonly bannersRepository: BannersRepository,
18
- @Inject(MENU_OPTIONS) private readonly options: MenuFactoryOptions
19
- ) {
20
- }
13
+ constructor(
14
+ private readonly menuRepository: MenuRepository,
15
+ private readonly bannersRepository: BannersRepository,
16
+ @Inject(MENU_OPTIONS) private readonly options: MenuFactoryOptions,
17
+ ) {}
21
18
 
22
- async getScreen (headers: IAppHeaders): Promise<BaseAppScreenDto> {
23
- const menuItems = await this.menuRepository.findMenus('ALL', 'VK') ?? [];
24
- const enabledBanner = await this.bannersRepository.findEnabledBanner(headers.client_game, headers.client_channel);
19
+ async getScreen(headers: IAppHeaders): Promise<BaseAppScreenDto> {
20
+ const menuItems = (await this.menuRepository.findMenus('ALL', 'VK')) ?? [];
21
+ const enabledBanner = await this.bannersRepository.findEnabledBanner(
22
+ headers.client_game,
23
+ headers.client_channel,
24
+ );
25
25
 
26
- return new BaseAppScreenDto(
27
- new MenuScreenView(
28
- this.options.i18n,
29
- headers.client_language,
30
- menuItems,
31
- enabledBanner,
32
- ).buildBS()
33
- );
34
- }
26
+ return new BaseAppScreenDto(
27
+ new MenuScreenView(
28
+ this.options.i18n,
29
+ headers.client_language,
30
+ menuItems,
31
+ enabledBanner,
32
+ ).buildBS(),
33
+ );
34
+ }
35
35
  }