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
@@ -2,22 +2,23 @@ import { Inject, Injectable } from '@nestjs/common';
2
2
  import { InjectConnection } from '@nestjs/mongoose';
3
3
  import { Connection } from 'mongoose';
4
4
  import {
5
- BaseGameEvent,
6
- GameMaster,
7
- MinPlayersStartStrategy,
8
- SimpleRoom,
9
- GameRoomConfig,
10
- RoomUpdateStateEvent,
11
- UserWonTheGameAppEvent,
12
- GameTableFinishedEvent,
13
- GamePlayerEnteredTheTableEvent,
14
- GamePlayerExitedTheTableEvent,
5
+ BaseGameEvent,
6
+ GameMaster,
7
+ MinPlayersStartStrategy,
8
+ SimpleRoom,
9
+ GameRoomConfig,
10
+ RoomUpdateStateEvent,
11
+ UserWonTheGameAppEvent,
12
+ GameTableFinishedEvent,
13
+ GamePlayerEnteredTheTableEvent,
14
+ GamePlayerExitedTheTableEvent,
15
+ LocalService,
15
16
  } from 'jp.ms.common.engine';
16
17
  import {
17
- GameResultRepository,
18
- SimpleRoomDocument,
19
- SimpleRoomsRepository,
20
- UsersRepository
18
+ GameResultRepository,
19
+ SimpleRoomDocument,
20
+ SimpleRoomsRepository,
21
+ UsersRepository,
21
22
  } from 'jp.db.schemas';
22
23
 
23
24
  import { JpLoggerService } from '../logger/jp-logger.service';
@@ -30,150 +31,160 @@ import { SimpleRoomsFactoryOptions } from './simple-rooms-manager.interfaces';
30
31
 
31
32
  @Injectable()
32
33
  export class SimpleRoomsManagerService {
33
- private readonly rooms: Map<string, SimpleRoom>;
34
-
35
- constructor(
36
- private readonly roomsRepository: SimpleRoomsRepository,
37
- private readonly usersRepository: UsersRepository,
38
- private readonly gameResultRepository: GameResultRepository,
39
- private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
40
- private readonly eventsBusAppSubscribeService: EventsBusAppSubscribeService,
41
- @Inject(SIMPLE_ROOMS_MANAGER_OPTIONS) private readonly options: SimpleRoomsFactoryOptions,
42
- @InjectConnection() private readonly connection: Connection,
43
- @Inject() private readonly logger: JpLoggerService,
44
- ) {
45
- this.rooms = new Map<string, SimpleRoom>();
46
- }
47
-
48
- get gameType () {
49
- return this.options.configService.get<string>('GAME_TYPE') || '';
50
- }
51
-
52
- getRoomById (roomId: string): SimpleRoom | undefined {
53
- return this.rooms.get(roomId);
54
- }
55
-
56
- getRoomByTableId (tableId: string): SimpleRoom | undefined {
57
- const { roomId } = GameMaster.parseTableId(tableId);
58
-
59
- return this.getRoomById(roomId);
34
+ private readonly rooms: Map<string, SimpleRoom>;
35
+
36
+ constructor(
37
+ private readonly roomsRepository: SimpleRoomsRepository,
38
+ private readonly usersRepository: UsersRepository,
39
+ private readonly gameResultRepository: GameResultRepository,
40
+ private readonly eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService,
41
+ private readonly eventsBusAppSubscribeService: EventsBusAppSubscribeService,
42
+ @Inject(SIMPLE_ROOMS_MANAGER_OPTIONS)
43
+ private readonly options: SimpleRoomsFactoryOptions,
44
+ @InjectConnection() private readonly connection: Connection,
45
+ @Inject() private readonly logger: JpLoggerService,
46
+ ) {
47
+ this.rooms = new Map<string, SimpleRoom>();
48
+ }
49
+
50
+ get gameType() {
51
+ return this.options.gameType;
52
+ }
53
+
54
+ getRoomById(roomId: string): SimpleRoom | undefined {
55
+ return this.rooms.get(roomId);
56
+ }
57
+
58
+ getRoomByTableId(tableId: string): SimpleRoom | undefined {
59
+ const { roomId } = GameMaster.parseTableId(tableId);
60
+
61
+ return this.getRoomById(roomId);
62
+ }
63
+
64
+ getRooms(): Array<SimpleRoom> {
65
+ return Array.from(this.rooms.values());
66
+ }
67
+
68
+ getTables(): Array<GameMaster> {
69
+ return this.getRooms().reduce((result, currentValue) => {
70
+ return [...result, ...currentValue.getMasters()];
71
+ }, [] as Array<GameMaster>);
72
+ }
73
+
74
+ addRoom(room: SimpleRoom) {
75
+ this.rooms.set(room.getId(), room);
76
+ }
77
+
78
+ async hydrateRoomsFromDB() {
79
+ const templates = await this.roomsRepository.findRooms(this.gameType);
80
+
81
+ templates.forEach((item) => {
82
+ const newRoom = this.options.createRoom(
83
+ this.simpleRoomDocumentToRoom(item),
84
+ );
85
+ this.addRoom(newRoom);
86
+ });
87
+ }
88
+
89
+ /*
90
+ 1. Сначала ищем стол в котором один игрок
91
+ 2. Далее ищем стол за которым есть игроки и свободные места
92
+ 3. Отправляем на стол для быстрой игры если там есть места
93
+ 4. Наконец создаем стол для быстрой игры и отправляем туда
94
+ */
95
+ getFreeFastGameRoom(): GameMaster | undefined {
96
+ if (this.getRooms().some((item) => item.isTechBreak())) {
97
+ return;
60
98
  }
61
99
 
62
- getRooms (): Array<SimpleRoom> {
63
- return Array.from(this.rooms.values());
64
- }
100
+ const tables = this.getTables();
65
101
 
66
- getTables (): Array<GameMaster> {
67
- return this.getRooms().reduce(
68
- (result, currentValue) => {
69
- return [...result, ...currentValue.getMasters()];
70
- }, [] as Array<GameMaster>
71
- );
72
- }
102
+ let freeTable = tables.find(
103
+ (master) =>
104
+ master.getTable().remainOnePlayer() &&
105
+ master.getTable().getPlayers()[0].hasOpenConnection(),
106
+ );
73
107
 
74
- addRoom (room: SimpleRoom) {
75
- this.rooms.set(room.getId(), room);
108
+ if (!freeTable) {
109
+ freeTable = tables.find(
110
+ (master) =>
111
+ master.getTable().hasMinPlayers() &&
112
+ !master.getTable().isFullWithQueue(),
113
+ );
76
114
  }
77
115
 
78
- async hydrateRoomsFromDB () {
79
- const templates = await this.roomsRepository.findRooms(this.gameType);
80
-
81
- templates.forEach((item) => {
82
- const newRoom = this.options.createRoom(
83
- this.simpleRoomDocumentToRoom(item)
84
- );
85
- this.addRoom(newRoom);
86
- });
116
+ if (!freeTable) {
117
+ freeTable = tables
118
+ .filter((item) => item.getRoom().getEnableForFastGame())
119
+ .find((master) => !master.getTable().isFullWithQueue());
87
120
  }
88
121
 
89
- /*
90
- 1. Сначала ищем стол в котором один игрок
91
- 2. Далее ищем стол за которым есть игроки и свободные места
92
- 3. Отправляем на стол для быстрой игры если там есть места
93
- 4. Наконец создаем стол для быстрой игры и отправляем туда
94
- */
95
- getFreeFastGameRoom (): GameMaster | undefined {
96
- if (this.getRooms().some((item) => item.isTechBreak())) {
97
- return;
98
- }
99
-
100
- const tables = this.getTables();
101
-
102
- let freeTable = tables.find(
103
- (master) => master.getTable().remainOnePlayer() && master.getTable().getPlayers()[0].hasOpenConnection()
104
- );
105
-
106
- if (!freeTable) {
107
- freeTable = tables.find(
108
- (master) => master.getTable().hasMinPlayers() && !master.getTable().isFullWithQueue(),
109
- );
110
- }
111
-
112
- if (!freeTable) {
113
- freeTable = tables.filter((item) => item.getRoom().getEnableForFastGame()).find(
114
- (master) => !master.getTable().isFullWithQueue(),
115
- );
116
- }
117
-
118
- if (!freeTable) {
119
- const fastGameRoom = this.getRooms().find((item) => item.getEnableForFastGame());
120
- if (fastGameRoom) {
121
- freeTable = fastGameRoom.addMaster();
122
- }
123
- }
124
-
125
- return freeTable;
122
+ if (!freeTable) {
123
+ const fastGameRoom = this.getRooms().find((item) =>
124
+ item.getEnableForFastGame(),
125
+ );
126
+ if (fastGameRoom) {
127
+ freeTable = fastGameRoom.addMaster();
128
+ }
126
129
  }
127
130
 
128
- private simpleRoomDocumentToRoom (room: SimpleRoomDocument): GameRoomConfig {
129
- const restartGameTimeout = this.options.configService.get<number>('RESTART_GAME_TIMEOUT') || 0;
130
- const playersTurnTimeout = this.options.configService.get<number>('PLAYERS_TURN_TIMEOUT') || 0;
131
-
132
- return {
133
- id: room.roomId,
134
- gameType: room.gameType,
135
- roomType: room.roomType,
136
- rulesType: room.rulesType,
137
- deckType: room.deckType,
138
- tableSize: room.tableSize,
139
- bet: room.bet,
140
- ticketPrice: room.ticketPrice / 2,
141
- title: room.title,
142
- subtitle: room.subtitle,
143
- description: room.description,
144
- enableForFastGame: room.enableForFastGame,
145
- turnTimeout: playersTurnTimeout,
146
- restartTimeout: restartGameTimeout,
147
- localeService: this.options.i18n,
148
- startStrategy: new MinPlayersStartStrategy(),
149
- onRoomEvent: this.handleRoomEvent,
150
- } as GameRoomConfig;
131
+ return freeTable;
132
+ }
133
+
134
+ private simpleRoomDocumentToRoom(room: SimpleRoomDocument): GameRoomConfig {
135
+ return {
136
+ id: room.roomId,
137
+ gameType: room.gameType,
138
+ roomType: room.roomType,
139
+ rulesType: room.rulesType,
140
+ deckType: room.deckType,
141
+ tableSize: room.tableSize,
142
+ bet: room.bet,
143
+ ticketPrice: room.ticketPrice / 2,
144
+ title: room.title,
145
+ subtitle: room.subtitle,
146
+ description: room.description,
147
+ enableForFastGame: room.enableForFastGame,
148
+ turnTimeout: this.options.playersTurnTimeout,
149
+ restartTimeout: this.options.restartGameTimeout,
150
+ instantFinishMode: this.options.instantFinishMode,
151
+ localeService: this.options.i18n as LocalService,
152
+ startStrategy: new MinPlayersStartStrategy(),
153
+ onRoomEvent: this.handleRoomEvent,
154
+ } as GameRoomConfig;
155
+ }
156
+
157
+ private handleRoomEvent = (event: BaseGameEvent) => {
158
+ this.logger.log(event.toLog());
159
+
160
+ if (event instanceof GameTableFinishedEvent) {
161
+ void this.handleRoomTableGameFinished(event.master);
162
+ } else if (
163
+ event instanceof GamePlayerEnteredTheTableEvent ||
164
+ event instanceof GamePlayerExitedTheTableEvent
165
+ ) {
166
+ this.handleRoomStatusUpdated(
167
+ new RoomUpdateStateEvent(event.gameType, event.roomId),
168
+ );
151
169
  }
152
-
153
- private handleRoomEvent = (event: BaseGameEvent) => {
154
- this.logger.log(event.toLog());
155
-
156
- if (event instanceof GameTableFinishedEvent) {
157
- this.handleRoomTableGameFinished(event.master!!);
158
- } else if (event instanceof GamePlayerEnteredTheTableEvent || event instanceof GamePlayerExitedTheTableEvent) {
159
- this.handleRoomStatusUpdated(new RoomUpdateStateEvent(event.gameType, event.roomId));
160
- }
161
- };
162
-
163
- private handleRoomTableGameFinished = async (master: GameMaster) => {
164
- await saveGameTablesResult(
165
- master,
166
- this.connection,
167
- this.gameResultRepository,
168
- this.usersRepository,
169
- true,
170
- );
171
-
172
- // TODO: записать разные события для достижений
173
- this.eventsBusAppSubscribeService.pushNewEvent(new UserWonTheGameAppEvent(this.gameType, '123'));
174
- };
175
-
176
- private handleRoomStatusUpdated = (event: RoomUpdateStateEvent) => {
177
- this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
178
- };
170
+ };
171
+
172
+ private handleRoomTableGameFinished = async (master: GameMaster) => {
173
+ await saveGameTablesResult(
174
+ master,
175
+ this.connection,
176
+ this.gameResultRepository,
177
+ this.usersRepository,
178
+ true,
179
+ );
180
+
181
+ // TODO: записать разные события для достижений
182
+ this.eventsBusAppSubscribeService.pushNewEvent(
183
+ new UserWonTheGameAppEvent(this.gameType, '123'),
184
+ );
185
+ };
186
+
187
+ private handleRoomStatusUpdated = (event: RoomUpdateStateEvent) => {
188
+ this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
189
+ };
179
190
  }
@@ -3,10 +3,9 @@ import v8 from 'v8';
3
3
 
4
4
  @Injectable()
5
5
  export class DumpService {
6
- constructor () {
7
- }
6
+ constructor() {}
8
7
 
9
- async getDump (): Promise<NodeJS.ReadableStream> {
10
- return v8.getHeapSnapshot();
11
- }
8
+ getDump(): NodeJS.ReadableStream {
9
+ return v8.getHeapSnapshot();
10
+ }
12
11
  }
@@ -5,37 +5,37 @@ import { Gauge, register, Registry } from 'prom-client';
5
5
  import { PlayersManagerService } from '../players-manager/players-manager.service';
6
6
 
7
7
  import { SUPPORT_OPTIONS } from './support.constants';
8
- import { SupportOptions } from './support.interfaces';
8
+ import { SupportFactoryOptions } from './support.interfaces';
9
9
 
10
10
  @Injectable()
11
11
  export class MetricService {
12
- private readonly register: Registry;
13
- private readonly activeUsersGauge: Gauge;
14
- private readonly playingTablesGauge: Gauge;
15
-
16
- constructor (
17
- @Inject(SUPPORT_OPTIONS) private options: SupportOptions,
18
- private readonly playersManager: PlayersManagerService,
19
- ) {
20
- this.register = new client.Registry();
21
- register.setDefaultLabels({ app: this.options.prometheusNameApp });
22
- client.collectDefaultMetrics({ register });
23
-
24
- this.activeUsersGauge = new client.Gauge({
25
- name: 'jptserveractiveusers',
26
- help: 'Amount of active users',
27
- });
28
-
29
- this.playingTablesGauge = new client.Gauge({
30
- name: 'jptserverplayingtables',
31
- help: 'Amount of playing tables',
32
- });
33
- }
34
-
35
- async getMetrics (): Promise<Registry> {
36
- this.activeUsersGauge.set(this.playersManager.getPlayers().length)
37
- // this.playingTablesGauge.set(this.playersManager.getPlayingTables(''))
38
-
39
- return register;
40
- }
12
+ private readonly register: Registry;
13
+ private readonly activeUsersGauge: Gauge;
14
+ private readonly playingTablesGauge: Gauge;
15
+
16
+ constructor(
17
+ @Inject(SUPPORT_OPTIONS) private options: SupportFactoryOptions,
18
+ private readonly playersManager: PlayersManagerService,
19
+ ) {
20
+ this.register = new client.Registry();
21
+ register.setDefaultLabels({ app: this.options.prometheusNameApp });
22
+ client.collectDefaultMetrics({ register });
23
+
24
+ this.activeUsersGauge = new client.Gauge({
25
+ name: 'jptserveractiveusers',
26
+ help: 'Amount of active users',
27
+ });
28
+
29
+ this.playingTablesGauge = new client.Gauge({
30
+ name: 'jptserverplayingtables',
31
+ help: 'Amount of playing tables',
32
+ });
33
+ }
34
+
35
+ getMetrics(): Registry {
36
+ this.activeUsersGauge.set(this.playersManager.getPlayers().length);
37
+ // this.playingTablesGauge.set(this.playersManager.getPlayingTables(''))
38
+
39
+ return register;
40
+ }
41
41
  }
@@ -1,4 +1,14 @@
1
- import { Body, Controller, Get, Headers, HttpCode, HttpStatus, Inject, Post, Res } from '@nestjs/common';
1
+ import {
2
+ Body,
3
+ Controller,
4
+ Get,
5
+ Headers,
6
+ HttpCode,
7
+ HttpStatus,
8
+ Inject,
9
+ Post,
10
+ Res,
11
+ } from '@nestjs/common';
2
12
  import type { Response } from 'express';
3
13
  import { IAppHeaders } from 'jp.common.models';
4
14
 
@@ -12,59 +22,58 @@ import { DumpService } from './dump.service';
12
22
 
13
23
  @Controller('support')
14
24
  export class SupportController {
15
- constructor (
16
- private readonly supportService: SupportService,
17
- private readonly metricService: MetricService,
18
- private readonly dumpService: DumpService,
19
- @Inject() private readonly logger: JpLoggerService,
20
- ) {
21
- }
25
+ constructor(
26
+ private readonly supportService: SupportService,
27
+ private readonly metricService: MetricService,
28
+ private readonly dumpService: DumpService,
29
+ @Inject() private readonly logger: JpLoggerService,
30
+ ) {}
22
31
 
23
- @Get('users')
24
- getUsers (): Promise<Array<PlayerConnectedDto>> {
25
- return this.supportService.getUsers();
26
- }
32
+ @Get('users')
33
+ getUsers(): Array<PlayerConnectedDto> {
34
+ return this.supportService.getUsers();
35
+ }
27
36
 
28
- @Get('dump')
29
- async getDump (@Res() response: Response): Promise<void> {
30
- const dump = await this.dumpService.getDump()
37
+ @Get('dump')
38
+ getDump(@Res() response: Response): void {
39
+ const dump = this.dumpService.getDump();
31
40
 
32
- response.set({
33
- "Content-Type": "application/octet-stream",
34
- "Content-Disposition": "attachment; filename=${Date.now()}.heapsnapshot"
35
- });
41
+ response.set({
42
+ 'Content-Type': 'application/octet-stream',
43
+ 'Content-Disposition': 'attachment; filename=${Date.now()}.heapsnapshot',
44
+ });
36
45
 
37
- dump.pipe(response);
38
- }
46
+ dump.pipe(response);
47
+ }
39
48
 
40
- @Get('metrics')
41
- async getMetrics (@Res() response: Response) {
42
- const register = await this.metricService.getMetrics();
43
- response.set({ 'Content-Type': register.contentType });
49
+ @Get('metrics')
50
+ async getMetrics(@Res() response: Response) {
51
+ const register = this.metricService.getMetrics();
52
+ response.set({ 'Content-Type': register.contentType });
44
53
 
45
- response.send(await register.metrics());
46
- }
54
+ response.send(await register.metrics());
55
+ }
47
56
 
48
- @Post('log')
49
- @HttpCode(HttpStatus.OK)
50
- addLog (@Headers() headers: IAppHeaders, @Body() body: LogsDto) {
51
- body.logs.forEach((item) => {
52
- this.logger.log({
53
- client_auth_token: headers.client_auth_token,
54
- client_game: headers.client_game,
55
- client_channel: headers.client_channel,
56
- client_language: headers.client_language,
57
- client_version: headers.client_version,
58
- description: item.message,
59
- stackTrace: item.stackTrace,
60
- level: item.level,
61
- });
62
- })
63
- }
57
+ @Post('log')
58
+ @HttpCode(HttpStatus.OK)
59
+ addLog(@Headers() headers: IAppHeaders, @Body() body: LogsDto) {
60
+ body.logs.forEach((item) => {
61
+ this.logger.log({
62
+ client_auth_token: headers.client_auth_token,
63
+ client_game: headers.client_game,
64
+ client_channel: headers.client_channel,
65
+ client_language: headers.client_language,
66
+ client_version: headers.client_version,
67
+ description: item.message,
68
+ stackTrace: item.stackTrace,
69
+ level: item.level,
70
+ });
71
+ });
72
+ }
64
73
 
65
- @Post('techBreakOn')
66
- @HttpCode(HttpStatus.OK)
67
- techBreakOn (): boolean {
68
- return this.supportService.techBreakOn();
69
- }
74
+ @Post('techBreakOn')
75
+ @HttpCode(HttpStatus.OK)
76
+ techBreakOn(): boolean {
77
+ return this.supportService.techBreakOn();
78
+ }
70
79
  }
@@ -1,7 +1,16 @@
1
- export type SupportOptions = {
2
- prometheusNameApp: string;
3
- };
1
+ import { ModuleMetadata } from '@nestjs/common';
2
+ import { Type } from '@nestjs/common/interfaces/type.interface';
3
+ import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
4
+ import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
5
+
6
+ export interface SupportOptions extends Pick<ModuleMetadata, 'imports'> {
7
+ imports?: Array<
8
+ Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference
9
+ >;
10
+ inject?: any[];
11
+ useFactory?: (...args: any[]) => SupportFactoryOptions;
12
+ }
4
13
 
5
- export interface SupportOptionsFactory {
6
- createSupportOptions(): Promise<SupportOptions> | SupportOptions;
14
+ export interface SupportFactoryOptions {
15
+ prometheusNameApp: string;
7
16
  }
@@ -1,4 +1,4 @@
1
- import { DynamicModule, Module } from '@nestjs/common';
1
+ import { DynamicModule, Module, Provider } from '@nestjs/common';
2
2
 
3
3
  import { SupportController } from './support.controller';
4
4
  import { SupportService } from './support.service';
@@ -8,15 +8,28 @@ import { MetricService } from './metric.service';
8
8
  import { DumpService } from './dump.service';
9
9
 
10
10
  @Module({
11
- controllers: [SupportController],
12
- providers: [SupportService, MetricService, DumpService],
11
+ controllers: [SupportController],
12
+ providers: [SupportService, MetricService, DumpService],
13
13
  })
14
14
  export class SupportModule {
15
- public static forRoot(options: SupportOptions): DynamicModule {
16
- return {
17
- module: SupportModule,
18
- providers: [{ provide: SUPPORT_OPTIONS, useValue: options }],
19
- };
20
- }
21
- }
15
+ public static forRoot(options: SupportOptions): DynamicModule {
16
+ return {
17
+ module: SupportModule,
18
+ providers: [{ provide: SUPPORT_OPTIONS, useValue: options }],
19
+ };
20
+ }
22
21
 
22
+ static forRootAsync(options: SupportOptions): DynamicModule {
23
+ return {
24
+ module: SupportModule,
25
+ imports: options.imports ?? [],
26
+ providers: [
27
+ {
28
+ provide: SUPPORT_OPTIONS,
29
+ useFactory: options.useFactory,
30
+ inject: options.inject || [],
31
+ } as Provider,
32
+ ],
33
+ };
34
+ }
35
+ }
@@ -6,19 +6,22 @@ import { SimpleRoomsManagerService } from '../simple-rooms-manager/simple-rooms-
6
6
 
7
7
  @Injectable()
8
8
  export class SupportService {
9
- constructor (
10
- private readonly playersManager: PlayersManagerService,
11
- private readonly simpleRoomsManager: SimpleRoomsManagerService,
12
- ) {
13
- }
9
+ constructor(
10
+ private readonly playersManager: PlayersManagerService,
11
+ private readonly simpleRoomsManager: SimpleRoomsManagerService,
12
+ ) {}
14
13
 
15
- async getUsers (): Promise<Array<PlayerConnectedDto>> {
16
- return this.playersManager.getPlayers().map((item) => PlayerConnectedDto.fromEntities(item));
17
- }
14
+ getUsers(): Array<PlayerConnectedDto> {
15
+ return this.playersManager
16
+ .getPlayers()
17
+ .map((item) => PlayerConnectedDto.fromEntities(item));
18
+ }
18
19
 
19
- techBreakOn (): boolean {
20
- this.simpleRoomsManager.getRooms().forEach((item) => item.handleTechBreakOn());
20
+ techBreakOn(): boolean {
21
+ this.simpleRoomsManager
22
+ .getRooms()
23
+ .forEach((item) => item.handleTechBreakOn());
21
24
 
22
- return true;
23
- }
25
+ return true;
26
+ }
24
27
  }
package/src/utils/date.ts CHANGED
@@ -1,7 +1,7 @@
1
- export function getHours (timeStr: string) {
2
- return parseInt(timeStr.substring(0, 2), 10);
1
+ export function getHours(timeStr: string) {
2
+ return parseInt(timeStr.substring(0, 2), 10);
3
3
  }
4
4
 
5
- export function getMinutes (timeStr: string) {
6
- return parseInt(timeStr.substring(3, 5), 10);
5
+ export function getMinutes(timeStr: string) {
6
+ return parseInt(timeStr.substring(3, 5), 10);
7
7
  }