jp.ms.common.modules 1.0.34 → 1.0.35

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 (259) hide show
  1. package/dist/config/cors.js.map +1 -1
  2. package/dist/config/database.js +1 -1
  3. package/dist/config/database.js.map +1 -1
  4. package/dist/config/locale.js +3 -3
  5. package/dist/config/locale.js.map +1 -1
  6. package/dist/config/menu.js +1 -1
  7. package/dist/config/menu.js.map +1 -1
  8. package/dist/dto/app-screen/app-screen-field-list-item.dto.js.map +1 -1
  9. package/dist/dto/app-screen/app-screen-field.dto.js.map +1 -1
  10. package/dist/dto/app-screen/app-screen-section-list-item.dto.js.map +1 -1
  11. package/dist/dto/app-screen/app-screen.dto.js +3 -1
  12. package/dist/dto/app-screen/app-screen.dto.js.map +1 -1
  13. package/dist/dto/app-screen/base-app-screen.dto.js +3 -1
  14. package/dist/dto/app-screen/base-app-screen.dto.js.map +1 -1
  15. package/dist/dto/app-table/card.dto.js.map +1 -1
  16. package/dist/dto/app-table/cards-deck.dto.d.ts +2 -2
  17. package/dist/dto/app-table/cards-deck.dto.js.map +1 -1
  18. package/dist/dto/app-table/cards-player.dto.js.map +1 -1
  19. package/dist/dto/common/find-free-table.dto.js.map +1 -1
  20. package/dist/dto/common/join-tournament.dto.js.map +1 -1
  21. package/dist/dto/common/many-tables-tournament-create.dto.js +3 -1
  22. package/dist/dto/common/many-tables-tournament-create.dto.js.map +1 -1
  23. package/dist/dto/common/player-check-state.dto.js.map +1 -1
  24. package/dist/dto/common/player-connected.dto.js.map +1 -1
  25. package/dist/dto/games/fool/fool-player.dto.d.ts +1 -1
  26. package/dist/dto/games/fool/fool-player.dto.js.map +1 -1
  27. package/dist/dto/games/fool/fool-table.dto.d.ts +4 -4
  28. package/dist/dto/games/fool/fool-table.dto.js +3 -1
  29. package/dist/dto/games/fool/fool-table.dto.js.map +1 -1
  30. package/dist/dto/index.js.map +1 -1
  31. package/dist/exception/error-code.enum.js.map +1 -1
  32. package/dist/exception/global-exception-filter.js +3 -9
  33. package/dist/exception/global-exception-filter.js.map +1 -1
  34. package/dist/exception/http-exception-wth-snackbar.js.map +1 -1
  35. package/dist/exception/index.js.map +1 -1
  36. package/dist/exception/not-enough-money-for-purchase.exception.js.map +1 -1
  37. package/dist/exception/not-found-free-room-for-fast-game.exception.js.map +1 -1
  38. package/dist/modules/anti-freeze-system/anti-freeze-system.module.d.ts +1 -1
  39. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js +2 -4
  40. package/dist/modules/anti-freeze-system/anti-freeze-system.module.js.map +1 -1
  41. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +4 -2
  42. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  43. package/dist/modules/base-achievements/base-achievements.module.d.ts +1 -1
  44. package/dist/modules/base-achievements/base-achievements.module.js +24 -16
  45. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  46. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
  47. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.d.ts +1 -1
  48. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.js.map +1 -1
  49. package/dist/modules/event-bus/events-bus.module.js +1 -1
  50. package/dist/modules/event-bus/events-bus.module.js.map +1 -1
  51. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.js.map +1 -1
  52. package/dist/modules/events/events.gateway.js.map +1 -1
  53. package/dist/modules/events/events.module.js.map +1 -1
  54. package/dist/modules/index.d.ts +2 -2
  55. package/dist/modules/index.js.map +1 -1
  56. package/dist/modules/logger/jp-logger.module.js.map +1 -1
  57. package/dist/modules/logger/jp-logger.service.d.ts +1 -1
  58. package/dist/modules/logger/jp-logger.service.js +1 -1
  59. package/dist/modules/logger/jp-logger.service.js.map +1 -1
  60. package/dist/modules/main/main-tables-list-screen.view.d.ts +2 -2
  61. package/dist/modules/main/main-tables-list-screen.view.js +32 -13
  62. package/dist/modules/main/main-tables-list-screen.view.js.map +1 -1
  63. package/dist/modules/main/main.controller.js.map +1 -1
  64. package/dist/modules/main/main.module.d.ts +1 -1
  65. package/dist/modules/main/main.module.js +8 -8
  66. package/dist/modules/main/main.module.js.map +1 -1
  67. package/dist/modules/main/main.service.js +5 -2
  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 +1 -1
  80. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +11 -3
  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 +1 -1
  83. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +3 -2
  84. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  85. package/dist/modules/menu/menu-screen.view.d.ts +2 -2
  86. package/dist/modules/menu/menu-screen.view.js +1 -1
  87. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  88. package/dist/modules/menu/menu.controller.js.map +1 -1
  89. package/dist/modules/menu/menu.module.js.map +1 -1
  90. package/dist/modules/menu/menu.service.js +1 -1
  91. package/dist/modules/menu/menu.service.js.map +1 -1
  92. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.d.ts +2 -2
  93. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js +18 -10
  94. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js.map +1 -1
  95. package/dist/modules/one-table-tournament/one-table-tournament.constants.js.map +1 -1
  96. package/dist/modules/one-table-tournament/one-table-tournament.controller.js.map +1 -1
  97. package/dist/modules/one-table-tournament/one-table-tournament.module.d.ts +1 -1
  98. package/dist/modules/one-table-tournament/one-table-tournament.module.js +11 -3
  99. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  100. package/dist/modules/one-table-tournament/one-table-tournament.service.js.map +1 -1
  101. package/dist/modules/players-manager/players-manager.module.js +1 -1
  102. package/dist/modules/players-manager/players-manager.module.js.map +1 -1
  103. package/dist/modules/players-manager/players-manager.service.js.map +1 -1
  104. package/dist/modules/simple-rooms/simple-rooms.controller.js.map +1 -1
  105. package/dist/modules/simple-rooms/simple-rooms.module.js +4 -3
  106. package/dist/modules/simple-rooms/simple-rooms.module.js.map +1 -1
  107. package/dist/modules/simple-rooms/simple-rooms.service.js.map +1 -1
  108. package/dist/modules/simple-rooms-manager/simple-rooms-manager.constants.js.map +1 -1
  109. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +6 -2
  110. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  111. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +10 -5
  112. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  113. package/dist/modules/support/dump.service.d.ts +1 -1
  114. package/dist/modules/support/dump.service.js +2 -3
  115. package/dist/modules/support/dump.service.js.map +1 -1
  116. package/dist/modules/support/metric.service.d.ts +1 -1
  117. package/dist/modules/support/metric.service.js +1 -1
  118. package/dist/modules/support/metric.service.js.map +1 -1
  119. package/dist/modules/support/support.controller.d.ts +2 -2
  120. package/dist/modules/support/support.controller.js +7 -7
  121. package/dist/modules/support/support.controller.js.map +1 -1
  122. package/dist/modules/support/support.module.js.map +1 -1
  123. package/dist/modules/support/support.service.d.ts +1 -1
  124. package/dist/modules/support/support.service.js +7 -3
  125. package/dist/modules/support/support.service.js.map +1 -1
  126. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.js.map +1 -1
  127. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js +12 -3
  128. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.js.map +1 -1
  129. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js +15 -10
  130. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js.map +1 -1
  131. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.js.map +1 -1
  132. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js +9 -2
  133. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.js.map +1 -1
  134. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js +6 -6
  135. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js.map +1 -1
  136. package/dist/tsconfig.tsbuildinfo +1 -1
  137. package/dist/utils/date.js.map +1 -1
  138. package/dist/utils/game-table-result.js +17 -5
  139. package/dist/utils/game-table-result.js.map +1 -1
  140. package/dist/views/index.js.map +1 -1
  141. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  142. package/dist/views/many-tables-tournament-conifrm-exit-dialog.view.js.map +1 -1
  143. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.d.ts +1 -1
  144. package/dist/views/one-table-tournament-conifrm-exit-dialog.view.js.map +1 -1
  145. package/dist/views/simple-room-conifrm-exit-dialog.view.d.ts +1 -1
  146. package/dist/views/simple-room-conifrm-exit-dialog.view.js.map +1 -1
  147. package/dist/views/table-summary.view.d.ts +2 -2
  148. package/dist/views/table-summary.view.js +17 -5
  149. package/dist/views/table-summary.view.js.map +1 -1
  150. package/dist/views/tournament-buy-ticket-dialog.view.d.ts +1 -1
  151. package/dist/views/tournament-buy-ticket-dialog.view.js +7 -1
  152. package/dist/views/tournament-buy-ticket-dialog.view.js.map +1 -1
  153. package/package.json +16 -6
  154. package/src/config/cert.ts +1 -1
  155. package/src/config/cors.ts +2 -2
  156. package/src/config/database.ts +10 -8
  157. package/src/config/locale.ts +23 -18
  158. package/src/config/menu.ts +5 -5
  159. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +33 -33
  160. package/src/dto/app-screen/app-screen-field.dto.ts +45 -45
  161. package/src/dto/app-screen/app-screen-section-list-item.dto.ts +84 -84
  162. package/src/dto/app-screen/app-screen.dto.ts +3 -1
  163. package/src/dto/app-screen/base-app-screen.dto.ts +3 -1
  164. package/src/dto/app-table/card.dto.ts +7 -1
  165. package/src/dto/app-table/cards-deck.dto.ts +18 -18
  166. package/src/dto/app-table/cards-player.dto.ts +5 -5
  167. package/src/dto/app-table/index.ts +1 -1
  168. package/src/dto/common/find-free-table.dto.ts +1 -1
  169. package/src/dto/common/index.ts +1 -1
  170. package/src/dto/common/join-tournament.dto.ts +25 -22
  171. package/src/dto/common/log.dto.ts +4 -4
  172. package/src/dto/common/many-tables-tournament-create.dto.ts +4 -2
  173. package/src/dto/common/player-check-state.dto.ts +25 -22
  174. package/src/dto/common/player-connected.dto.ts +45 -45
  175. package/src/dto/games/fool/fool-player.dto.ts +2 -2
  176. package/src/dto/games/fool/fool-table.dto.ts +65 -63
  177. package/src/dto/games/index.ts +1 -1
  178. package/src/dto/index.ts +3 -3
  179. package/src/exception/error-code.enum.ts +3 -3
  180. package/src/exception/global-exception-filter.ts +26 -23
  181. package/src/exception/http-exception-wth-snackbar.ts +18 -14
  182. package/src/exception/index.ts +2 -2
  183. package/src/exception/not-enough-money-for-purchase.exception.ts +8 -9
  184. package/src/exception/not-found-free-room-for-fast-game.exception.ts +8 -9
  185. package/src/index.ts +1 -1
  186. package/src/modules/anti-freeze-system/anti-freeze-system.interfaces.ts +8 -5
  187. package/src/modules/anti-freeze-system/anti-freeze-system.module.ts +48 -40
  188. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +81 -70
  189. package/src/modules/base-achievements/base-achievements.module.ts +198 -61
  190. package/src/modules/base-achievements/index.ts +1 -1
  191. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +11 -12
  192. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +24 -24
  193. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +2 -2
  194. package/src/modules/event-bus/events-bus.module.ts +2 -2
  195. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +2 -2
  196. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +11 -12
  197. package/src/modules/event-bus/index.ts +1 -1
  198. package/src/modules/events/events.gateway.ts +51 -49
  199. package/src/modules/events/events.interfaces.ts +6 -5
  200. package/src/modules/events/events.module.ts +18 -19
  201. package/src/modules/index.ts +13 -7
  202. package/src/modules/logger/jp-logger.module.ts +2 -2
  203. package/src/modules/logger/jp-logger.service.ts +28 -22
  204. package/src/modules/main/main-tables-list-screen.view.ts +247 -201
  205. package/src/modules/main/main.controller.ts +64 -43
  206. package/src/modules/main/main.interfaces.ts +6 -4
  207. package/src/modules/main/main.module.ts +56 -39
  208. package/src/modules/main/main.service.ts +149 -105
  209. package/src/modules/many-tables-tournament/index.ts +1 -1
  210. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +129 -111
  211. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +57 -55
  212. package/src/modules/many-tables-tournament/many-tables-tournament.constants.ts +3 -1
  213. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +131 -92
  214. package/src/modules/many-tables-tournament/many-tables-tournament.interfaces.ts +8 -5
  215. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +62 -35
  216. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +161 -126
  217. package/src/modules/menu/menu-screen.view.ts +64 -63
  218. package/src/modules/menu/menu.controller.ts +5 -6
  219. package/src/modules/menu/menu.interfaces.ts +6 -4
  220. package/src/modules/menu/menu.module.ts +28 -22
  221. package/src/modules/menu/menu.service.ts +21 -21
  222. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +147 -138
  223. package/src/modules/one-table-tournament/one-table-tournament.constants.ts +3 -1
  224. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +91 -60
  225. package/src/modules/one-table-tournament/one-table-tournament.interfaces.ts +8 -5
  226. package/src/modules/one-table-tournament/one-table-tournament.module.ts +58 -35
  227. package/src/modules/one-table-tournament/one-table-tournament.service.ts +103 -79
  228. package/src/modules/players-manager/players-manager.module.ts +1 -2
  229. package/src/modules/players-manager/players-manager.service.ts +5 -5
  230. package/src/modules/simple-rooms/simple-rooms.controller.ts +52 -43
  231. package/src/modules/simple-rooms/simple-rooms.interfaces.ts +8 -5
  232. package/src/modules/simple-rooms/simple-rooms.module.ts +26 -23
  233. package/src/modules/simple-rooms/simple-rooms.service.ts +62 -57
  234. package/src/modules/simple-rooms-manager/simple-rooms-manager.constants.ts +3 -1
  235. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +10 -7
  236. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +44 -42
  237. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +163 -149
  238. package/src/modules/support/dump.service.ts +4 -5
  239. package/src/modules/support/metric.service.ts +29 -29
  240. package/src/modules/support/support.controller.ts +57 -48
  241. package/src/modules/support/support.module.ts +8 -9
  242. package/src/modules/support/support.service.ts +15 -12
  243. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.constants.ts +3 -1
  244. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.interfaces.ts +18 -9
  245. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.module.ts +71 -52
  246. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.ts +313 -266
  247. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.constants.ts +3 -1
  248. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.interfaces.ts +16 -9
  249. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.module.ts +50 -43
  250. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.ts +63 -43
  251. package/src/utils/date.ts +4 -4
  252. package/src/utils/game-table-result.ts +110 -91
  253. package/src/views/index.ts +1 -1
  254. package/src/views/many-tables-tournament-conifrm-exit-dialog.view.ts +33 -17
  255. package/src/views/one-table-tournament-conifrm-exit-dialog.view.ts +33 -17
  256. package/src/views/simple-room-conifrm-exit-dialog.view.ts +33 -17
  257. package/src/views/table-summary.view.ts +89 -76
  258. package/src/views/tournament-buy-ticket-dialog.view.ts +30 -17
  259. package/readme.md +0 -3
@@ -29,22 +29,28 @@ import {
29
29
  UserWonManyTablesTournamentAppEvent,
30
30
  UserWonOneTableTournamentAppEvent,
31
31
  UserWonTheGameAppEvent,
32
- Won3GamesAchievement, Won3ProfiAchievement,
33
- WonOneTableTournament3TimesAchievement
32
+ Won3GamesAchievement,
33
+ Won3ProfiAchievement,
34
+ WonOneTableTournament3TimesAchievement,
34
35
  } from 'jp.ms.common.engine';
35
36
  import { AppScreenIconEnum } from 'jp.common.models';
36
37
 
37
38
  import { EventsBusAppSubscribeService } from '../event-bus/events-bus.app.subscribe.service';
38
39
  import { PlayersManagerService } from '../players-manager';
39
40
 
40
-
41
41
  @Global()
42
42
  @Module({
43
43
  imports: [
44
44
  MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]),
45
- MongooseModule.forFeature([{ name: ActivityLog.name, schema: ActivityLogSchema }]),
46
- MongooseModule.forFeature([{ name: Achievement.name, schema: AchievementSchema }]),
47
- MongooseModule.forFeature([{ name: UsersAchievement.name, schema: UsersAchievementSchema }]),
45
+ MongooseModule.forFeature([
46
+ { name: ActivityLog.name, schema: ActivityLogSchema },
47
+ ]),
48
+ MongooseModule.forFeature([
49
+ { name: Achievement.name, schema: AchievementSchema },
50
+ ]),
51
+ MongooseModule.forFeature([
52
+ { name: UsersAchievement.name, schema: UsersAchievementSchema },
53
+ ]),
48
54
  ],
49
55
  providers: [
50
56
  UsersRepository,
@@ -62,105 +68,234 @@ export abstract class BaseAchievementsModule {
62
68
  protected readonly activityLogRepository: ActivityLogRepository,
63
69
  protected readonly achievementRepository: AchievementRepository,
64
70
  protected readonly usersAchievementRepository: UsersAchievementsRepository,
65
- ) {
66
- }
71
+ ) {}
67
72
 
68
- async onModuleInit () {
69
- this.eventsBusAppSubscribeService.subscribe(this.onHandleAppEvent);
73
+ onModuleInit() {
74
+ this.eventsBusAppSubscribeService.subscribe((event) => {
75
+ void this.onHandleAppEvent(event);
76
+ });
70
77
  }
71
78
 
72
- protected async onHandleAppEvent (event: BaseAppEvent) {
79
+ protected async onHandleAppEvent(event: BaseAppEvent) {
73
80
  if (event instanceof BaseUserAppEvent) {
74
81
  const userId = event.userId;
75
82
  const player = this.playersManager.getPlayerById(userId);
76
83
  const foundUser = await this.usersRepository.findById(userId);
77
- const allAchievements: Array<Achievement> = await this.achievementRepository.findAchievements();
78
- const usersAchievements: Array<UsersAchievement> = await this.usersAchievementRepository.findAchivementsByUserId(userId);
84
+ const allAchievements: Array<Achievement> =
85
+ await this.achievementRepository.findAchievements();
86
+ const usersAchievements: Array<UsersAchievement> =
87
+ await this.usersAchievementRepository.findAchivementsByUserId(userId);
79
88
 
80
89
  if (!player || !foundUser) {
81
90
  throw new InternalServerErrorException();
82
91
  }
83
92
 
84
93
  if (event instanceof UserGotNewLevelAppEvent) {
85
- // TODO подумать куда перенести LEVEL UP
86
- player.sendMessage(new SnackbarSendToPlayerWsEvent(
87
- event.game,
88
- AppScreenIconEnum.ARROW_UPWARD,
89
- 'level up',
90
- 'buttonText'
91
- ));
92
-
93
- if (this.userHasNoAchievement(usersAchievements, GotLevel3Achievement.code)) {
94
+ // TODO подумать куда перенести LEVEL UP
95
+ player.sendMessage(
96
+ new SnackbarSendToPlayerWsEvent(
97
+ event.game,
98
+ AppScreenIconEnum.ARROW_UPWARD,
99
+ 'level up',
100
+ 'buttonText',
101
+ ),
102
+ );
103
+
104
+ if (
105
+ this.userHasNoAchievement(
106
+ usersAchievements,
107
+ GotLevel3Achievement.code,
108
+ )
109
+ ) {
94
110
  if (new GotLevel3Achievement(event.newLevel).userGotAchievement()) {
95
- this.giveAchievement(allAchievements, GotLevel3Achievement.code, foundUser, event.game);
111
+ void this.giveAchievement(
112
+ allAchievements,
113
+ GotLevel3Achievement.code,
114
+ foundUser,
115
+ event.game,
116
+ );
96
117
  }
97
118
  }
98
119
 
99
- if (this.userHasNoAchievement(usersAchievements, GotLevel10Achievement.code)) {
120
+ if (
121
+ this.userHasNoAchievement(
122
+ usersAchievements,
123
+ GotLevel10Achievement.code,
124
+ )
125
+ ) {
100
126
  if (new GotLevel10Achievement(event.newLevel).userGotAchievement()) {
101
- this.giveAchievement(allAchievements, GotLevel10Achievement.code, foundUser, event.game);
127
+ void this.giveAchievement(
128
+ allAchievements,
129
+ GotLevel10Achievement.code,
130
+ foundUser,
131
+ event.game,
132
+ );
102
133
  }
103
134
  }
104
-
105
135
  } else if (event instanceof UserPlayedTheGameAppEvent) {
136
+ if (
137
+ this.userHasNoAchievement(
138
+ usersAchievements,
139
+ Playd10GamesAchievement.code,
140
+ )
141
+ ) {
142
+ const playdGamesCount =
143
+ await this.activityLogRepository.getUserPlayedGamesCount(userId);
106
144
 
107
- if (this.userHasNoAchievement(usersAchievements, Playd10GamesAchievement.code)) {
108
- const playdGamesCount = await this.activityLogRepository.getUserPlayedGamesCount(userId);
109
-
110
- if (new Playd10GamesAchievement(playdGamesCount).userGotAchievement()) {
111
- this.giveAchievement(allAchievements, Playd10GamesAchievement.code, foundUser, event.game);
145
+ if (
146
+ new Playd10GamesAchievement(playdGamesCount).userGotAchievement()
147
+ ) {
148
+ void this.giveAchievement(
149
+ allAchievements,
150
+ Playd10GamesAchievement.code,
151
+ foundUser,
152
+ event.game,
153
+ );
112
154
  }
113
155
  }
114
156
  } else if (event instanceof UserWonTheGameAppEvent) {
115
- if (this.userHasNoAchievement(usersAchievements, Won3GamesAchievement.code)) {
116
- const wonGamesCount = await this.activityLogRepository.getUserWonGamesCount(userId);
157
+ if (
158
+ this.userHasNoAchievement(
159
+ usersAchievements,
160
+ Won3GamesAchievement.code,
161
+ )
162
+ ) {
163
+ const wonGamesCount =
164
+ await this.activityLogRepository.getUserWonGamesCount(userId);
117
165
 
118
166
  if (new Won3GamesAchievement(wonGamesCount).userGotAchievement()) {
119
- this.giveAchievement(allAchievements, Won3GamesAchievement.code, foundUser, event.game);
167
+ void this.giveAchievement(
168
+ allAchievements,
169
+ Won3GamesAchievement.code,
170
+ foundUser,
171
+ event.game,
172
+ );
120
173
  }
121
174
  }
122
175
 
123
- if (this.userHasNoAchievement(usersAchievements, Won3ProfiAchievement.code)) {
124
- const wonProfiCount = await this.activityLogRepository.getUserWonProfiCount(userId);
176
+ if (
177
+ this.userHasNoAchievement(
178
+ usersAchievements,
179
+ Won3ProfiAchievement.code,
180
+ )
181
+ ) {
182
+ const wonProfiCount =
183
+ await this.activityLogRepository.getUserWonProfiCount(userId);
125
184
  if (new Won3ProfiAchievement(wonProfiCount).userGotAchievement()) {
126
- this.giveAchievement(allAchievements, Won3ProfiAchievement.code, foundUser, event.game);
185
+ void this.giveAchievement(
186
+ allAchievements,
187
+ Won3ProfiAchievement.code,
188
+ foundUser,
189
+ event.game,
190
+ );
127
191
  }
128
192
  }
129
193
 
130
- if (this.userHasNoAchievement(usersAchievements, EarnOneMillionAchievement.code)) {
131
- if (new EarnOneMillionAchievement(foundUser.balance).userGotAchievement()) {
132
- this.giveAchievement(allAchievements, EarnOneMillionAchievement.code, foundUser, event.game);
194
+ if (
195
+ this.userHasNoAchievement(
196
+ usersAchievements,
197
+ EarnOneMillionAchievement.code,
198
+ )
199
+ ) {
200
+ if (
201
+ new EarnOneMillionAchievement(
202
+ foundUser.balance,
203
+ ).userGotAchievement()
204
+ ) {
205
+ void this.giveAchievement(
206
+ allAchievements,
207
+ EarnOneMillionAchievement.code,
208
+ foundUser,
209
+ event.game,
210
+ );
133
211
  }
134
212
  }
135
213
  } else if (event instanceof UserWonOneTableTournamentAppEvent) {
136
- if (this.userHasNoAchievement(usersAchievements, WonOneTableTournament3TimesAchievement.code)) {
137
- const wonFastTournamentCount = await this.activityLogRepository.getUserWonOneTableTournamentCount(userId);
138
- if (new WonOneTableTournament3TimesAchievement(wonFastTournamentCount).userGotAchievement()) {
139
- this.giveAchievement(allAchievements, WonOneTableTournament3TimesAchievement.code, foundUser, event.game);
214
+ if (
215
+ this.userHasNoAchievement(
216
+ usersAchievements,
217
+ WonOneTableTournament3TimesAchievement.code,
218
+ )
219
+ ) {
220
+ const wonFastTournamentCount =
221
+ await this.activityLogRepository.getUserWonOneTableTournamentCount(
222
+ userId,
223
+ );
224
+ if (
225
+ new WonOneTableTournament3TimesAchievement(
226
+ wonFastTournamentCount,
227
+ ).userGotAchievement()
228
+ ) {
229
+ void this.giveAchievement(
230
+ allAchievements,
231
+ WonOneTableTournament3TimesAchievement.code,
232
+ foundUser,
233
+ event.game,
234
+ );
140
235
  }
141
236
  }
142
237
  } else if (event instanceof UserWonManyTablesTournamentAppEvent) {
143
- if (this.userHasNoAchievement(usersAchievements, Take1PlaceOnManyTablesTournamentAchievement.code)) {
144
- if (new Take1PlaceOnManyTablesTournamentAchievement(event.rank)) {
145
- this.giveAchievement(allAchievements, Take1PlaceOnManyTablesTournamentAchievement.code, foundUser, event.game);
238
+ if (
239
+ this.userHasNoAchievement(
240
+ usersAchievements,
241
+ Take1PlaceOnManyTablesTournamentAchievement.code,
242
+ )
243
+ ) {
244
+ if (
245
+ new Take1PlaceOnManyTablesTournamentAchievement(
246
+ event.rank,
247
+ ).userGotAchievement()
248
+ ) {
249
+ void this.giveAchievement(
250
+ allAchievements,
251
+ Take1PlaceOnManyTablesTournamentAchievement.code,
252
+ foundUser,
253
+ event.game,
254
+ );
146
255
  }
147
256
  }
148
257
 
149
- if (this.userHasNoAchievement(usersAchievements, Take2Or3PlaceOnManyTablesTournamentAchievement.code)) {
150
- if (new Take2Or3PlaceOnManyTablesTournamentAchievement(event.rank)) {
151
- this.giveAchievement(allAchievements, Take2Or3PlaceOnManyTablesTournamentAchievement.code, foundUser, event.game);
258
+ if (
259
+ this.userHasNoAchievement(
260
+ usersAchievements,
261
+ Take2Or3PlaceOnManyTablesTournamentAchievement.code,
262
+ )
263
+ ) {
264
+ if (
265
+ new Take2Or3PlaceOnManyTablesTournamentAchievement(
266
+ event.rank,
267
+ ).userGotAchievement()
268
+ ) {
269
+ void this.giveAchievement(
270
+ allAchievements,
271
+ Take2Or3PlaceOnManyTablesTournamentAchievement.code,
272
+ foundUser,
273
+ event.game,
274
+ );
152
275
  }
153
276
  }
154
277
  }
155
278
  }
156
279
  }
157
280
 
158
- protected userHasNoAchievement (usersAchievements: Array<UsersAchievement>, achievementCode: string) {
159
- return !usersAchievements.find((item) => item.achievementCode === achievementCode);
281
+ protected userHasNoAchievement(
282
+ usersAchievements: Array<UsersAchievement>,
283
+ achievementCode: string,
284
+ ) {
285
+ return !usersAchievements.find(
286
+ (item) => item.achievementCode === achievementCode,
287
+ );
160
288
  }
161
289
 
162
- protected async giveAchievement (allAchievements: Array<Achievement>, achievementCode: string, user: User, game: string) {
163
- const foundAchievement = allAchievements.find((item) => item.code === achievementCode);
290
+ protected async giveAchievement(
291
+ allAchievements: Array<Achievement>,
292
+ achievementCode: string,
293
+ user: User,
294
+ game: string,
295
+ ) {
296
+ const foundAchievement = allAchievements.find(
297
+ (item) => item.code === achievementCode,
298
+ );
164
299
  const player = this.playersManager.getPlayerById(user.userId);
165
300
 
166
301
  if (foundAchievement && player) {
@@ -174,12 +309,14 @@ export abstract class BaseAchievementsModule {
174
309
  '',
175
310
  );
176
311
 
177
- player.sendMessage(new SnackbarSendToPlayerWsEvent(
178
- game,
179
- AppScreenIconEnum.EMOJI_EVENTS,
180
- foundAchievement.title,
181
- foundAchievement.description
182
- ));
312
+ player.sendMessage(
313
+ new SnackbarSendToPlayerWsEvent(
314
+ game,
315
+ AppScreenIconEnum.EMOJI_EVENTS,
316
+ foundAchievement.title,
317
+ foundAchievement.description,
318
+ ),
319
+ );
183
320
  }
184
321
  }
185
- }
322
+ }
@@ -1 +1 @@
1
- export { BaseAchievementsModule } from './base-achievements.module';
1
+ export { BaseAchievementsModule } from './base-achievements.module';
@@ -2,20 +2,19 @@ import { Injectable } from '@nestjs/common';
2
2
  import { BaseAppEvent } from 'jp.ms.common.engine';
3
3
  import { Subject } from 'rxjs';
4
4
 
5
-
6
5
  @Injectable()
7
6
  export class EventsBusAppSubscribeService {
8
- private readonly appEventSubject: Subject<BaseAppEvent>;
7
+ private readonly appEventSubject: Subject<BaseAppEvent>;
9
8
 
10
- constructor() {
11
- this.appEventSubject = new Subject<BaseAppEvent>();
12
- }
9
+ constructor() {
10
+ this.appEventSubject = new Subject<BaseAppEvent>();
11
+ }
13
12
 
14
- pushNewEvent(event: BaseAppEvent) {
15
- this.appEventSubject.next(event);
16
- }
13
+ pushNewEvent(event: BaseAppEvent) {
14
+ this.appEventSubject.next(event);
15
+ }
17
16
 
18
- subscribe(onHandleAppEvent: (event: BaseAppEvent) => void) {
19
- this.appEventSubject.subscribe(onHandleAppEvent);
20
- }
21
- }
17
+ subscribe(onHandleAppEvent: (event: BaseAppEvent) => void) {
18
+ this.appEventSubject.subscribe(onHandleAppEvent);
19
+ }
20
+ }
@@ -1,34 +1,34 @@
1
- import { Injectable } from "@nestjs/common";
2
- import { GamePlayer, RoomUpdateStateEvent } from "jp.ms.common.engine";
1
+ import { Injectable } from '@nestjs/common';
2
+ import { GamePlayer, RoomUpdateStateEvent } from 'jp.ms.common.engine';
3
3
  import { Subject } from 'rxjs';
4
4
 
5
5
  @Injectable()
6
6
  export class EventsBusMainTablesSubscribeService {
7
- private readonly roomStatesSubject: Subject<RoomUpdateStateEvent>;
8
- private readonly tablesSubscribers: Map<string, GamePlayer>;
7
+ private readonly roomStatesSubject: Subject<RoomUpdateStateEvent>;
8
+ private readonly tablesSubscribers: Map<string, GamePlayer>;
9
9
 
10
- constructor() {
11
- this.roomStatesSubject = new Subject<RoomUpdateStateEvent>();
12
- this.tablesSubscribers = new Map();
13
- }
10
+ constructor() {
11
+ this.roomStatesSubject = new Subject<RoomUpdateStateEvent>();
12
+ this.tablesSubscribers = new Map();
13
+ }
14
14
 
15
- getTablesSubscribers() {
16
- return Array.from(this.tablesSubscribers.values());
17
- }
15
+ getTablesSubscribers() {
16
+ return Array.from(this.tablesSubscribers.values());
17
+ }
18
18
 
19
- addTablesSubscriber(player: GamePlayer) {
20
- this.tablesSubscribers.set(player.id, player);
21
- }
19
+ addTablesSubscriber(player: GamePlayer) {
20
+ this.tablesSubscribers.set(player.id, player);
21
+ }
22
22
 
23
- removeTablesSubbcriber(player: GamePlayer) {
24
- this.tablesSubscribers.delete(player.id);
25
- }
23
+ removeTablesSubbcriber(player: GamePlayer) {
24
+ this.tablesSubscribers.delete(player.id);
25
+ }
26
26
 
27
- pushNewRoomState(event: RoomUpdateStateEvent) {
28
- this.roomStatesSubject.next(event);
29
- }
27
+ pushNewRoomState(event: RoomUpdateStateEvent) {
28
+ this.roomStatesSubject.next(event);
29
+ }
30
30
 
31
- subscribe(onHandleStatusRoomChange: (event: RoomUpdateStateEvent) => void) {
32
- this.roomStatesSubject.subscribe(onHandleStatusRoomChange);
33
- }
34
- }
31
+ subscribe(onHandleStatusRoomChange: (event: RoomUpdateStateEvent) => void) {
32
+ this.roomStatesSubject.subscribe(onHandleStatusRoomChange);
33
+ }
34
+ }
@@ -1,6 +1,6 @@
1
- import { Injectable } from "@nestjs/common";
1
+ import { Injectable } from '@nestjs/common';
2
2
 
3
3
  import { EventsBusTournamentSubscribeService } from './events-bus.tournament.subscribe.service';
4
4
 
5
5
  @Injectable()
6
- export class EventsBusManyTablesTournamentSubscribeService extends EventsBusTournamentSubscribeService {}
6
+ export class EventsBusManyTablesTournamentSubscribeService extends EventsBusTournamentSubscribeService {}
@@ -18,6 +18,6 @@ import { EventsBusAppSubscribeService } from './events-bus.app.subscribe.service
18
18
  EventsBusOneTableTournamentSubscribeService,
19
19
  EventsBusManyTablesTournamentSubscribeService,
20
20
  EventsBusAppSubscribeService,
21
- ]
21
+ ],
22
22
  })
23
- export class EventsBusModule { }
23
+ export class EventsBusModule {}
@@ -1,6 +1,6 @@
1
- import { Injectable } from "@nestjs/common";
1
+ import { Injectable } from '@nestjs/common';
2
2
 
3
3
  import { EventsBusTournamentSubscribeService } from './events-bus.tournament.subscribe.service';
4
4
 
5
5
  @Injectable()
6
- export class EventsBusOneTableTournamentSubscribeService extends EventsBusTournamentSubscribeService {}
6
+ export class EventsBusOneTableTournamentSubscribeService extends EventsBusTournamentSubscribeService {}
@@ -1,19 +1,18 @@
1
1
  import { RoomUpdateStateEvent } from 'jp.ms.common.engine';
2
2
  import { Subject } from 'rxjs';
3
3
 
4
-
5
4
  export abstract class EventsBusTournamentSubscribeService {
6
- private readonly roomStatesSubject: Subject<RoomUpdateStateEvent>;
5
+ private readonly roomStatesSubject: Subject<RoomUpdateStateEvent>;
7
6
 
8
- constructor() {
9
- this.roomStatesSubject = new Subject<RoomUpdateStateEvent>();
10
- }
7
+ constructor() {
8
+ this.roomStatesSubject = new Subject<RoomUpdateStateEvent>();
9
+ }
11
10
 
12
- pushNewRoomState(event: RoomUpdateStateEvent) {
13
- this.roomStatesSubject.next(event);
14
- }
11
+ pushNewRoomState(event: RoomUpdateStateEvent) {
12
+ this.roomStatesSubject.next(event);
13
+ }
15
14
 
16
- subscribe(onHandleStatusRoomChange: (event: RoomUpdateStateEvent) => void) {
17
- this.roomStatesSubject.subscribe(onHandleStatusRoomChange);
18
- }
19
- }
15
+ subscribe(onHandleStatusRoomChange: (event: RoomUpdateStateEvent) => void) {
16
+ this.roomStatesSubject.subscribe(onHandleStatusRoomChange);
17
+ }
18
+ }
@@ -2,4 +2,4 @@ export { EventsBusModule } from './events-bus.module';
2
2
  export { EventsBusMainTablesSubscribeService } from './events-bus.main-tables.subscribe.service';
3
3
  export { EventsBusOneTableTournamentSubscribeService } from './events-bus.one-table-tournament.subscribe.service';
4
4
  export { EventsBusManyTablesTournamentSubscribeService } from './events-bus.many-tables-tournament.subscribe.service';
5
- export { EventsBusAppSubscribeService } from './events-bus.app.subscribe.service';
5
+ export { EventsBusAppSubscribeService } from './events-bus.app.subscribe.service';
@@ -1,68 +1,70 @@
1
1
  import {
2
- WebSocketServer,
3
- OnGatewayConnection,
4
- OnGatewayDisconnect,
5
- WebSocketGateway,
2
+ WebSocketServer,
3
+ OnGatewayConnection,
4
+ OnGatewayDisconnect,
5
+ WebSocketGateway,
6
6
  } from '@nestjs/websockets';
7
7
  import { Server, Socket } from 'socket.io';
8
8
  import { UsersRepository } from 'jp.db.schemas';
9
- import { Inject, Injectable } from '@nestjs/common';
9
+ import { Inject } from '@nestjs/common';
10
10
 
11
11
  import { PlayersManagerService } from '../players-manager/players-manager.service';
12
12
 
13
13
  import { EVENTS_OPTIONS } from './events.constants';
14
- import { EventsFactoryOptions, EventsModuleOptions } from './events.interfaces';
14
+ import { EventsFactoryOptions } from './events.interfaces';
15
15
 
16
16
  @WebSocketGateway({ cors: { origin: '*' } })
17
- export class EventsGateway implements OnGatewayConnection<Socket>, OnGatewayDisconnect<Socket> {
18
- @WebSocketServer()
19
- server: Server;
17
+ export class EventsGateway
18
+ implements OnGatewayConnection<Socket>, OnGatewayDisconnect<Socket>
19
+ {
20
+ @WebSocketServer()
21
+ server: Server;
20
22
 
21
- constructor (
22
- private readonly playersManager: PlayersManagerService,
23
- private readonly usersRepository: UsersRepository,
24
- @Inject(EVENTS_OPTIONS) private readonly options: EventsFactoryOptions,
25
- ) {
26
- }
23
+ constructor(
24
+ private readonly playersManager: PlayersManagerService,
25
+ private readonly usersRepository: UsersRepository,
26
+ @Inject(EVENTS_OPTIONS) private readonly options: EventsFactoryOptions,
27
+ ) {}
27
28
 
28
- async handleConnection (client: Socket) {
29
- const playerId = client.handshake.auth.token as string | undefined;
29
+ async handleConnection(client: Socket) {
30
+ const playerId = client.handshake.auth.token as string | undefined;
30
31
 
31
- const player = this.playersManager.getPlayerById(playerId ?? '');
32
- if (player) {
33
- player.connections.addConnection(client);
34
- } else {
35
- const user = await this.usersRepository.findById(playerId ?? '');
36
- if (user) {
37
- const player = this.options.createPlayer({
38
- id: user.userId,
39
- fullName: user.fullName,
40
- avatarUrl: user.avatarUrl,
41
- balance: user.balance,
42
- experience: user.experience,
43
- level: user.level,
44
- language: user.normalizedLang,
45
- });
46
- this.playersManager.addPlayer(player);
47
- player.connections.addConnection(client);
48
- }
49
- }
32
+ const player = this.playersManager.getPlayerById(playerId ?? '');
33
+ if (player) {
34
+ player.connections.addConnection(client);
35
+ } else {
36
+ const user = await this.usersRepository.findById(playerId ?? '');
37
+ if (user) {
38
+ const player = this.options.createPlayer({
39
+ id: user.userId,
40
+ fullName: user.fullName,
41
+ avatarUrl: user.avatarUrl,
42
+ balance: user.balance,
43
+ experience: user.experience,
44
+ level: user.level,
45
+ language: user.normalizedLang,
46
+ });
47
+ this.playersManager.addPlayer(player);
48
+ player.connections.addConnection(client);
49
+ }
50
50
  }
51
+ }
51
52
 
52
- handleDisconnect (client: Socket): void {
53
- const playerId = client.handshake.auth.token as string | undefined;
54
- const connectedPlayer = this.playersManager.getPlayerById(playerId ?? '');
53
+ handleDisconnect(client: Socket): void {
54
+ const playerId = client.handshake.auth.token as string | undefined;
55
+ const connectedPlayer = this.playersManager.getPlayerById(playerId ?? '');
55
56
 
56
- if (connectedPlayer) {
57
- connectedPlayer.disconnect();
57
+ if (connectedPlayer) {
58
+ connectedPlayer.disconnect();
58
59
 
59
- if (!connectedPlayer.isPlayer() &&
60
- !connectedPlayer.isTableQueuer() &&
61
- !connectedPlayer.isRoomQueuer() &&
62
- !connectedPlayer.hasOpenConnection()
63
- ) {
64
- this.playersManager.removePlayer(playerId ?? '');
65
- }
66
- }
60
+ if (
61
+ !connectedPlayer.isPlayer() &&
62
+ !connectedPlayer.isTableQueuer() &&
63
+ !connectedPlayer.isRoomQueuer() &&
64
+ !connectedPlayer.hasOpenConnection()
65
+ ) {
66
+ this.playersManager.removePlayer(playerId ?? '');
67
+ }
67
68
  }
69
+ }
68
70
  }
@@ -4,13 +4,14 @@ import { Type } from '@nestjs/common/interfaces/type.interface';
4
4
  import { DynamicModule } from '@nestjs/common/interfaces/modules/dynamic-module.interface';
5
5
  import { ForwardReference } from '@nestjs/common/interfaces/modules/forward-reference.interface';
6
6
 
7
-
8
7
  export interface EventsModuleOptions extends Pick<ModuleMetadata, 'imports'> {
9
- imports?: Array<Type<any> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
10
- inject?: any[];
11
- 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;
12
13
  }
13
14
 
14
15
  export interface EventsFactoryOptions {
15
- createPlayer: (config: IGamePlayerConfig) => GamePlayer;
16
+ createPlayer: (config: IGamePlayerConfig) => GamePlayer;
16
17
  }