jp.ms.common.modules 1.0.42 → 1.0.44

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 (131) hide show
  1. package/dist/common/rooms-manager.service.d.ts +61 -0
  2. package/dist/common/rooms-manager.service.js +148 -0
  3. package/dist/common/rooms-manager.service.js.map +1 -0
  4. package/dist/common/tournament-rooms-manager.service.d.ts +10 -0
  5. package/dist/common/tournament-rooms-manager.service.js +66 -0
  6. package/dist/common/tournament-rooms-manager.service.js.map +1 -0
  7. package/dist/dto/app-table/card.dto.d.ts +1 -0
  8. package/dist/dto/app-table/card.dto.js +11 -0
  9. package/dist/dto/app-table/card.dto.js.map +1 -1
  10. package/dist/dto/app-table/player.dto.d.ts +1 -0
  11. package/dist/dto/app-table/player.dto.js +11 -0
  12. package/dist/dto/app-table/player.dto.js.map +1 -1
  13. package/dist/exception/global-exception-filter.d.ts +2 -0
  14. package/dist/exception/global-exception-filter.js +23 -17
  15. package/dist/exception/global-exception-filter.js.map +1 -1
  16. package/dist/modules/anti-freeze-system/anti-freeze-system.service.d.ts +3 -0
  17. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js +33 -23
  18. package/dist/modules/anti-freeze-system/anti-freeze-system.service.js.map +1 -1
  19. package/dist/modules/base-achievements/base-achievements.constants.d.ts +1 -0
  20. package/dist/modules/base-achievements/base-achievements.constants.js +5 -0
  21. package/dist/modules/base-achievements/base-achievements.constants.js.map +1 -0
  22. package/dist/modules/base-achievements/base-achievements.interfaces.d.ts +15 -0
  23. package/dist/modules/base-achievements/base-achievements.interfaces.js +3 -0
  24. package/dist/modules/base-achievements/base-achievements.interfaces.js.map +1 -0
  25. package/dist/modules/base-achievements/base-achievements.module.d.ts +29 -7
  26. package/dist/modules/base-achievements/base-achievements.module.js +166 -76
  27. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -1
  28. package/dist/modules/base-achievements/index.d.ts +2 -0
  29. package/dist/modules/base-achievements/index.js +3 -1
  30. package/dist/modules/base-achievements/index.js.map +1 -1
  31. package/dist/modules/event-bus/events-bus.app.subscribe.service.d.ts +3 -3
  32. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -1
  33. package/dist/modules/events/events.gateway.js +4 -2
  34. package/dist/modules/events/events.gateway.js.map +1 -1
  35. package/dist/modules/index.d.ts +1 -1
  36. package/dist/modules/index.js +4 -3
  37. package/dist/modules/index.js.map +1 -1
  38. package/dist/modules/main/main.controller.d.ts +0 -1
  39. package/dist/modules/main/main.controller.js +0 -12
  40. package/dist/modules/main/main.controller.js.map +1 -1
  41. package/dist/modules/main/main.service.d.ts +0 -1
  42. package/dist/modules/main/main.service.js +8 -19
  43. package/dist/modules/main/main.service.js.map +1 -1
  44. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +1 -0
  45. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +12 -0
  46. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  47. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +6 -1
  48. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  49. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +4 -1
  50. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +18 -2
  51. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  52. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.d.ts +1 -0
  53. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js +6 -0
  54. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.js.map +1 -1
  55. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.d.ts +8 -5
  56. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js +61 -38
  57. package/dist/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.js.map +1 -1
  58. package/dist/modules/menu/menu-screen.view.d.ts +2 -1
  59. package/dist/modules/menu/menu-screen.view.js +9 -3
  60. package/dist/modules/menu/menu-screen.view.js.map +1 -1
  61. package/dist/modules/menu/menu.interfaces.d.ts +1 -0
  62. package/dist/modules/menu/menu.service.js +1 -1
  63. package/dist/modules/menu/menu.service.js.map +1 -1
  64. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.d.ts +1 -0
  65. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js +6 -0
  66. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.js.map +1 -1
  67. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.d.ts +8 -5
  68. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js +58 -35
  69. package/dist/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.js.map +1 -1
  70. package/dist/modules/simple-rooms-manager/simple-rooms-manager.interfaces.d.ts +1 -0
  71. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js +6 -0
  72. package/dist/modules/simple-rooms-manager/simple-rooms-manager.module.js.map +1 -1
  73. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +8 -5
  74. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +56 -20
  75. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/dist/views/achievement-snackbar.view.d.ts +8 -0
  78. package/dist/views/achievement-snackbar.view.js +26 -0
  79. package/dist/views/achievement-snackbar.view.js.map +1 -0
  80. package/dist/views/base-table.view.d.ts +13 -0
  81. package/dist/views/base-table.view.js +34 -0
  82. package/dist/views/base-table.view.js.map +1 -0
  83. package/dist/views/index.d.ts +3 -0
  84. package/dist/views/index.js +7 -1
  85. package/dist/views/index.js.map +1 -1
  86. package/dist/views/level-up-snackbar.view.d.ts +7 -0
  87. package/dist/views/level-up-snackbar.view.js +26 -0
  88. package/dist/views/level-up-snackbar.view.js.map +1 -0
  89. package/package.json +5 -5
  90. package/src/common/rooms-manager.service.ts +250 -0
  91. package/src/common/tournament-rooms-manager.service.ts +121 -0
  92. package/src/dto/app-table/card.dto.ts +9 -0
  93. package/src/dto/app-table/player.dto.ts +9 -0
  94. package/src/exception/global-exception-filter.ts +34 -20
  95. package/src/modules/anti-freeze-system/anti-freeze-system.service.ts +48 -35
  96. package/src/modules/base-achievements/base-achievements.constants.ts +1 -0
  97. package/src/modules/base-achievements/base-achievements.interfaces.ts +22 -0
  98. package/src/modules/base-achievements/base-achievements.module.ts +347 -234
  99. package/src/modules/base-achievements/index.ts +5 -0
  100. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +5 -5
  101. package/src/modules/events/events.gateway.ts +4 -2
  102. package/src/modules/index.ts +6 -1
  103. package/src/modules/main/main.controller.ts +1 -22
  104. package/src/modules/main/main.service.ts +7 -34
  105. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +13 -0
  106. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +9 -1
  107. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +33 -0
  108. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.interfaces.ts +1 -0
  109. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.module.ts +12 -0
  110. package/src/modules/many-tables-tournament-rooms-manager/many-tables-tournament-rooms-manager.service.ts +92 -42
  111. package/src/modules/menu/menu-screen.view.ts +9 -2
  112. package/src/modules/menu/menu.interfaces.ts +1 -0
  113. package/src/modules/menu/menu.service.ts +1 -0
  114. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.interfaces.ts +1 -0
  115. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts +12 -0
  116. package/src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts +92 -41
  117. package/src/modules/simple-rooms-manager/simple-rooms-manager.interfaces.ts +1 -0
  118. package/src/modules/simple-rooms-manager/simple-rooms-manager.module.ts +12 -0
  119. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +81 -33
  120. package/src/views/achievement-snackbar.view.ts +38 -0
  121. package/src/views/base-table.view.ts +57 -0
  122. package/src/views/index.ts +3 -0
  123. package/src/views/level-up-snackbar.view.ts +38 -0
  124. package/dist/utils/date.d.ts +0 -2
  125. package/dist/utils/date.js +0 -11
  126. package/dist/utils/date.js.map +0 -1
  127. package/dist/utils/game-table-result.d.ts +0 -39
  128. package/dist/utils/game-table-result.js +0 -102
  129. package/dist/utils/game-table-result.js.map +0 -1
  130. package/src/utils/date.ts +0 -7
  131. package/src/utils/game-table-result.ts +0 -129
@@ -30,7 +30,7 @@ let MenuService = class MenuService {
30
30
  async getScreen(headers) {
31
31
  const menuItems = (await this.menuRepository.findMenus(headers.client_game, headers.client_channel)) ?? [];
32
32
  const enabledBanner = await this.bannersRepository.findEnabledBanner(headers.client_game, headers.client_channel);
33
- return new dto_1.BaseAppScreenDto(new menu_screen_view_1.MenuScreenView(this.options.i18n, headers.client_language, menuItems, enabledBanner).buildBS());
33
+ return new dto_1.BaseAppScreenDto(new menu_screen_view_1.MenuScreenView(this.options.i18n, headers.client_language, this.options.gameType, menuItems, enabledBanner).buildBS());
34
34
  }
35
35
  };
36
36
  exports.MenuService = MenuService;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.service.js","sourceRoot":"","sources":["../../../src/modules/menu/menu.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAAkE;AAGlE,mCAA6C;AAE7C,qDAAgD;AAEhD,yDAAoD;AAG7C,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH;IACA;IACsB;IAHzC,YACmB,cAA8B,EAC9B,iBAAoC,EACd,OAA2B;QAFjD,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACd,YAAO,GAAP,OAAO,CAAoB;IACjE,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,OAAoB;QAClC,MAAM,SAAS,GACb,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAClC,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,CACvB,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAClE,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO,IAAI,sBAAgB,CACzB,IAAI,iCAAc,CAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,OAAO,CAAC,eAAe,EACvB,SAAS,EACT,aAAa,CACd,CAAC,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;CACF,CAAA;AA3BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAA;qCAFY,8BAAc;QACX,iCAAiB;GAH5C,WAAW,CA2BvB"}
1
+ {"version":3,"file":"menu.service.js","sourceRoot":"","sources":["../../../src/modules/menu/menu.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAAkE;AAGlE,mCAA6C;AAE7C,qDAAgD;AAEhD,yDAAoD;AAG7C,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH;IACA;IACsB;IAHzC,YACmB,cAA8B,EAC9B,iBAAoC,EACd,OAA2B;QAFjD,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACd,YAAO,GAAP,OAAO,CAAoB;IACjE,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,OAAoB;QAClC,MAAM,SAAS,GACb,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAClC,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,CACvB,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAClE,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,OAAO,IAAI,sBAAgB,CACzB,IAAI,iCAAc,CAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,OAAO,CAAC,eAAe,EACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,SAAS,EACT,aAAa,CACd,CAAC,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;CACF,CAAA;AA5BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAA;qCAFY,8BAAc;QACX,iCAAiB;GAH5C,WAAW,CA4BvB"}
@@ -17,4 +17,5 @@ export interface OneTableTournamentRoomsFactoryOptions {
17
17
  playersTurnTimeout: number;
18
18
  instantFinishMode: boolean;
19
19
  tournamentPrizeTable: IPrizeTableData;
20
+ levelUpBonus: number;
20
21
  }
@@ -54,12 +54,18 @@ exports.OneTableTournamentRoomsManagerModule = OneTableTournamentRoomsManagerMod
54
54
  mongoose_1.MongooseModule.forFeature([
55
55
  { name: jp_db_schemas_1.GameResult.name, schema: jp_db_schemas_1.GameResultSchema },
56
56
  ]),
57
+ mongoose_1.MongooseModule.forFeature([{ name: jp_db_schemas_1.Rating.name, schema: jp_db_schemas_1.RatingSchema }]),
58
+ mongoose_1.MongooseModule.forFeature([
59
+ { name: jp_db_schemas_1.ActivityLog.name, schema: jp_db_schemas_1.ActivityLogSchema },
60
+ ]),
57
61
  ],
58
62
  providers: [
59
63
  jp_db_schemas_1.OneTableTournamentRoomsRepository,
60
64
  jp_db_schemas_1.UsersRepository,
61
65
  one_table_tournament_rooms_manager_service_1.OneTableTournamentRoomsManagerService,
62
66
  jp_db_schemas_1.GameResultRepository,
67
+ jp_db_schemas_1.RatingRepository,
68
+ jp_db_schemas_1.ActivityLogRepository,
63
69
  ],
64
70
  exports: [one_table_tournament_rooms_manager_service_1.OneTableTournamentRoomsManagerService],
65
71
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"one-table-tournament-rooms-manager.module.js","sourceRoot":"","sources":["../../../src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,+CAAkD;AAClD,iDAUuB;AAEvB,6GAAqG;AAErG,iHAA4G;AAwBrG,IAAM,oCAAoC,4CAA1C,MAAM,oCAAoC;IAE5B;IADnB,YACmB,cAAqD;QAArD,mBAAc,GAAd,cAAc,CAAuC;IACrE,CAAC;IAEJ,MAAM,CAAC,YAAY,CACjB,OAA8C;QAE9C,OAAO;YACL,MAAM,EAAE,sCAAoC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,yFAA0C;oBACnD,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjB;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;IACvD,CAAC;CACF,CAAA;AAzBY,oFAAoC;+CAApC,oCAAoC;IAtBhD,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,UAAU,CAAC;gBACxB;oBACE,IAAI,EAAE,sCAAsB,CAAC,IAAI;oBACjC,MAAM,EAAE,4CAA4B;iBACrC;aACF,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,0BAAU,EAAE,CAAC,CAAC;YACpE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;SACH;QACD,SAAS,EAAE;YACT,iDAAiC;YACjC,+BAAe;YACf,kFAAqC;YACrC,oCAAoB;SACrB;QACD,OAAO,EAAE,CAAC,kFAAqC,CAAC;KACjD,CAAC;qCAGmC,kFAAqC;GAF7D,oCAAoC,CAyBhD"}
1
+ {"version":3,"file":"one-table-tournament-rooms-manager.module.js","sourceRoot":"","sources":["../../../src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,+CAAkD;AAClD,iDAgBuB;AAEvB,6GAAqG;AAErG,iHAA4G;AA8BrG,IAAM,oCAAoC,4CAA1C,MAAM,oCAAoC;IAE5B;IADnB,YACmB,cAAqD;QAArD,mBAAc,GAAd,cAAc,CAAuC;IACrE,CAAC;IAEJ,MAAM,CAAC,YAAY,CACjB,OAA8C;QAE9C,OAAO;YACL,MAAM,EAAE,sCAAoC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,yFAA0C;oBACnD,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjB;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;IACvD,CAAC;CACF,CAAA;AAzBY,oFAAoC;+CAApC,oCAAoC;IA5BhD,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,UAAU,CAAC;gBACxB;oBACE,IAAI,EAAE,sCAAsB,CAAC,IAAI;oBACjC,MAAM,EAAE,4CAA4B;iBACrC;aACF,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,0BAAU,EAAE,CAAC,CAAC;YACpE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAM,CAAC,IAAI,EAAE,MAAM,EAAE,4BAAY,EAAE,CAAC,CAAC;YACxE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,2BAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iCAAiB,EAAE;aACtD,CAAC;SACH;QACD,SAAS,EAAE;YACT,iDAAiC;YACjC,+BAAe;YACf,kFAAqC;YACrC,oCAAoB;YACpB,gCAAgB;YAChB,qCAAqB;SACtB;QACD,OAAO,EAAE,CAAC,kFAAqC,CAAC;KACjD,CAAC;qCAGmC,kFAAqC;GAF7D,oCAAoC,CAyBhD"}
@@ -1,20 +1,24 @@
1
1
  import { GameMaster, OneTableTournamentRoom } from 'jp.ms.common.engine';
2
- import { GameResultRepository, OneTableTournamentRoomsRepository, UsersRepository } from 'jp.db.schemas';
2
+ import { ActivityLogRepository, GameResultRepository, OneTableTournamentRoomsRepository, RatingRepository, UsersRepository } from 'jp.db.schemas';
3
3
  import { Connection } from 'mongoose';
4
4
  import { JpLoggerService } from '../logger/jp-logger.service';
5
- import { EventsBusMainTablesSubscribeService, EventsBusOneTableTournamentSubscribeService } from '../event-bus';
5
+ import { EventsBusAppSubscribeService, EventsBusMainTablesSubscribeService, EventsBusOneTableTournamentSubscribeService } from '../event-bus';
6
+ import { TournamentRoomsManagerService } from '../../common/tournament-rooms-manager.service';
6
7
  import { OneTableTournamentRoomsFactoryOptions } from './one-table-tournament-rooms-manager.interfaces';
7
- export declare class OneTableTournamentRoomsManagerService {
8
+ export declare class OneTableTournamentRoomsManagerService extends TournamentRoomsManagerService {
8
9
  private readonly tournamentRepository;
9
10
  private readonly usersRepository;
10
11
  private readonly gameResultRepository;
12
+ private readonly ratingRepository;
13
+ private readonly activityLogRepository;
11
14
  private readonly eventsBusMainTablesSubscribeService;
12
15
  private readonly eventsBusOneTableTournamentSubscribeService;
16
+ private readonly eventsBusAppSubscribeService;
13
17
  private readonly options;
14
18
  private readonly connection;
15
19
  private readonly logger;
16
20
  private readonly rooms;
17
- constructor(tournamentRepository: OneTableTournamentRoomsRepository, usersRepository: UsersRepository, gameResultRepository: GameResultRepository, eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService, eventsBusOneTableTournamentSubscribeService: EventsBusOneTableTournamentSubscribeService, options: OneTableTournamentRoomsFactoryOptions, connection: Connection, logger: JpLoggerService);
21
+ constructor(tournamentRepository: OneTableTournamentRoomsRepository, usersRepository: UsersRepository, gameResultRepository: GameResultRepository, ratingRepository: RatingRepository, activityLogRepository: ActivityLogRepository, eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService, eventsBusOneTableTournamentSubscribeService: EventsBusOneTableTournamentSubscribeService, eventsBusAppSubscribeService: EventsBusAppSubscribeService, options: OneTableTournamentRoomsFactoryOptions, connection: Connection, logger: JpLoggerService);
18
22
  get gameType(): string;
19
23
  getRoomById(roomId: string): OneTableTournamentRoom | undefined;
20
24
  getRoomByTableId(tableId: string): OneTableTournamentRoom | undefined;
@@ -25,7 +29,6 @@ export declare class OneTableTournamentRoomsManagerService {
25
29
  hydrateTournamentsFromDB(): Promise<void>;
26
30
  private oneTableTournamentDocumentToTournamentRoom;
27
31
  private handleRoomEvent;
28
- private handleRoomTableGameFinished;
29
32
  private handleTournamentRoomStarted;
30
33
  private handleTournamentRoomCancelled;
31
34
  private handleTournamentRoomFinished;
@@ -19,25 +19,32 @@ const jp_db_schemas_1 = require("jp.db.schemas");
19
19
  const mongoose_1 = require("@nestjs/mongoose");
20
20
  const mongoose_2 = require("mongoose");
21
21
  const jp_logger_service_1 = require("../logger/jp-logger.service");
22
- const game_table_result_1 = require("../../utils/game-table-result");
23
22
  const event_bus_1 = require("../event-bus");
23
+ const tournament_rooms_manager_service_1 = require("../../common/tournament-rooms-manager.service");
24
24
  const one_table_tournament_rooms_manager_constants_1 = require("./one-table-tournament-rooms-manager.constants");
25
- let OneTableTournamentRoomsManagerService = class OneTableTournamentRoomsManagerService {
25
+ let OneTableTournamentRoomsManagerService = class OneTableTournamentRoomsManagerService extends tournament_rooms_manager_service_1.TournamentRoomsManagerService {
26
26
  tournamentRepository;
27
27
  usersRepository;
28
28
  gameResultRepository;
29
+ ratingRepository;
30
+ activityLogRepository;
29
31
  eventsBusMainTablesSubscribeService;
30
32
  eventsBusOneTableTournamentSubscribeService;
33
+ eventsBusAppSubscribeService;
31
34
  options;
32
35
  connection;
33
36
  logger;
34
37
  rooms;
35
- constructor(tournamentRepository, usersRepository, gameResultRepository, eventsBusMainTablesSubscribeService, eventsBusOneTableTournamentSubscribeService, options, connection, logger) {
38
+ constructor(tournamentRepository, usersRepository, gameResultRepository, ratingRepository, activityLogRepository, eventsBusMainTablesSubscribeService, eventsBusOneTableTournamentSubscribeService, eventsBusAppSubscribeService, options, connection, logger) {
39
+ super();
36
40
  this.tournamentRepository = tournamentRepository;
37
41
  this.usersRepository = usersRepository;
38
42
  this.gameResultRepository = gameResultRepository;
43
+ this.ratingRepository = ratingRepository;
44
+ this.activityLogRepository = activityLogRepository;
39
45
  this.eventsBusMainTablesSubscribeService = eventsBusMainTablesSubscribeService;
40
46
  this.eventsBusOneTableTournamentSubscribeService = eventsBusOneTableTournamentSubscribeService;
47
+ this.eventsBusAppSubscribeService = eventsBusAppSubscribeService;
41
48
  this.options = options;
42
49
  this.connection = connection;
43
50
  this.logger = logger;
@@ -84,6 +91,7 @@ let OneTableTournamentRoomsManagerService = class OneTableTournamentRoomsManager
84
91
  rulesType: tournamentDocument.rulesType,
85
92
  deckType: tournamentDocument.deckType,
86
93
  tableSize: tournamentDocument.tableSize,
94
+ tableType: tournamentDocument.tableType,
87
95
  bet: tournamentDocument.bet,
88
96
  ticketPrice: tournamentDocument.ticketPrice,
89
97
  title: tournamentDocument.title,
@@ -105,33 +113,42 @@ let OneTableTournamentRoomsManagerService = class OneTableTournamentRoomsManager
105
113
  }
106
114
  handleRoomEvent = (event) => {
107
115
  this.logger.log(event.toLog());
108
- if (event instanceof jp_ms_common_engine_1.GameTableFinishedEvent) {
109
- void this.handleRoomTableGameFinished(event.master);
116
+ switch (event.constructor.name) {
117
+ case jp_ms_common_engine_1.GameTableFinishedEvent.name: {
118
+ void this.handleRoomTableGameFinished(event, this.connection, this.gameResultRepository, this.usersRepository, this.activityLogRepository, this.eventsBusAppSubscribeService, this.options.levelUpBonus);
119
+ break;
120
+ }
121
+ case jp_ms_common_engine_1.GamePlayerMovedOnTheTableEvent.name: {
122
+ this.handleRoomTableGamePlayerMoved(event, this.eventsBusAppSubscribeService);
123
+ break;
124
+ }
125
+ case jp_ms_common_engine_1.GameTournamentStartedEvent.name: {
126
+ void this.handleTournamentRoomStarted(event);
127
+ this.handleRoomStatusUpdated(event);
128
+ break;
129
+ }
130
+ case jp_ms_common_engine_1.GameTournamentCancelledEvent.name: {
131
+ void this.handleTournamentRoomCancelled(event);
132
+ this.handleRoomStatusUpdated(event);
133
+ break;
134
+ }
135
+ case jp_ms_common_engine_1.GameTournamentFinishedEvent.name: {
136
+ void this.handleTournamentRoomFinished(event);
137
+ this.handleRoomStatusUpdated(event);
138
+ break;
139
+ }
140
+ case jp_ms_common_engine_1.GameTournamentPlayerJoinedTheTournamentEvent.name:
141
+ case jp_ms_common_engine_1.GameTournamentPlayerLeavedTheTournamentEvent.name:
142
+ case jp_ms_common_engine_1.GameTournamentWaitedEvent.name: {
143
+ this.handleRoomStatusUpdated(event);
144
+ break;
145
+ }
110
146
  }
111
- else if (event instanceof jp_ms_common_engine_1.GameTournamentStartedEvent) {
112
- void this.handleTournamentRoomStarted(event.room.getRoomMaster());
113
- }
114
- else if (event instanceof jp_ms_common_engine_1.GameTournamentCancelledEvent) {
115
- void this.handleTournamentRoomCancelled(event.room.getRoomMaster());
116
- }
117
- else if (event instanceof jp_ms_common_engine_1.GameTournamentFinishedEvent) {
118
- void this.handleTournamentRoomFinished(event.room.getRoomMaster());
119
- }
120
- else if (event instanceof jp_ms_common_engine_1.GameTournamentPlayerJoinedTheTournamentEvent ||
121
- event instanceof jp_ms_common_engine_1.GameTournamentPlayerLeavedTheTournamentEvent ||
122
- event instanceof jp_ms_common_engine_1.GameTournamentCancelledEvent ||
123
- event instanceof jp_ms_common_engine_1.GameTournamentWaitedEvent ||
124
- event instanceof jp_ms_common_engine_1.GameTournamentStartedEvent ||
125
- event instanceof jp_ms_common_engine_1.GameTournamentFinishedEvent) {
126
- void this.handleRoomStatusUpdated(new jp_ms_common_engine_1.RoomUpdateStateEvent(event.gameType, event.roomId));
127
- }
128
- };
129
- handleRoomTableGameFinished = async (master) => {
130
- await (0, game_table_result_1.saveGameTablesResult)(master, this.connection, this.gameResultRepository, this.usersRepository, false);
131
147
  };
132
- handleTournamentRoomStarted = async (master) => {
148
+ handleTournamentRoomStarted = async (event) => {
133
149
  const session = await this.connection.startSession();
134
150
  session.startTransaction();
151
+ const master = event.room.getRoomMaster();
135
152
  try {
136
153
  await this.tournamentRepository.startTournament(master.getTournamentId(), master.getRoom().getParticipants());
137
154
  const newTournament = await this.tournamentRepository.createTournamentFromMasterTemplate(master.getRoom().getGameType());
@@ -146,28 +163,34 @@ let OneTableTournamentRoomsManagerService = class OneTableTournamentRoomsManager
146
163
  await session.endSession();
147
164
  }
148
165
  };
149
- handleTournamentRoomCancelled = async (master) => {
166
+ handleTournamentRoomCancelled = async (event) => {
167
+ const master = event.room.getRoomMaster();
150
168
  await this.tournamentRepository.cancelTournament(master.getTournamentId());
151
169
  };
152
- handleTournamentRoomFinished = async (master) => {
153
- await (0, game_table_result_1.saveTournamentResult)(master, this.connection, this.tournamentRepository, this.usersRepository);
170
+ handleTournamentRoomFinished = async (event) => {
171
+ const master = event.room.getRoomMaster();
172
+ await this.saveTournamentResult(master, this.connection, this.tournamentRepository, this.usersRepository, this.ratingRepository);
154
173
  };
155
174
  handleRoomStatusUpdated = (event) => {
156
- this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
157
- this.eventsBusOneTableTournamentSubscribeService.pushNewRoomState(event);
175
+ const updateEvent = new jp_ms_common_engine_1.RoomUpdateStateEvent(event.gameType, event.roomId);
176
+ this.eventsBusMainTablesSubscribeService.pushNewRoomState(updateEvent);
177
+ this.eventsBusOneTableTournamentSubscribeService.pushNewRoomState(updateEvent);
158
178
  };
159
179
  };
160
180
  exports.OneTableTournamentRoomsManagerService = OneTableTournamentRoomsManagerService;
161
181
  exports.OneTableTournamentRoomsManagerService = OneTableTournamentRoomsManagerService = __decorate([
162
182
  (0, common_1.Injectable)(),
163
- __param(5, (0, common_1.Inject)(one_table_tournament_rooms_manager_constants_1.ONE_TABLE_TOURNAMENT_ROOMS_MANAGER_OPTIONS)),
164
- __param(6, (0, mongoose_1.InjectConnection)()),
165
- __param(7, (0, common_1.Inject)()),
183
+ __param(8, (0, common_1.Inject)(one_table_tournament_rooms_manager_constants_1.ONE_TABLE_TOURNAMENT_ROOMS_MANAGER_OPTIONS)),
184
+ __param(9, (0, mongoose_1.InjectConnection)()),
185
+ __param(10, (0, common_1.Inject)()),
166
186
  __metadata("design:paramtypes", [jp_db_schemas_1.OneTableTournamentRoomsRepository,
167
187
  jp_db_schemas_1.UsersRepository,
168
188
  jp_db_schemas_1.GameResultRepository,
189
+ jp_db_schemas_1.RatingRepository,
190
+ jp_db_schemas_1.ActivityLogRepository,
169
191
  event_bus_1.EventsBusMainTablesSubscribeService,
170
- event_bus_1.EventsBusOneTableTournamentSubscribeService, Object, mongoose_2.Connection,
192
+ event_bus_1.EventsBusOneTableTournamentSubscribeService,
193
+ event_bus_1.EventsBusAppSubscribeService, Object, mongoose_2.Connection,
171
194
  jp_logger_service_1.JpLoggerService])
172
195
  ], OneTableTournamentRoomsManagerService);
173
196
  //# sourceMappingURL=one-table-tournament-rooms-manager.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"one-table-tournament-rooms-manager.service.js","sourceRoot":"","sources":["../../../src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"one-table-tournament-rooms-manager.service.js","sourceRoot":"","sources":["../../../src/modules/one-table-tournament-rooms-manager/one-table-tournament-rooms-manager.service.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ export interface SimpleRoomsFactoryOptions {
16
16
  restartGameTimeout: number;
17
17
  playersTurnTimeout: number;
18
18
  instantFinishMode: boolean;
19
+ levelUpBonus: number;
19
20
  }
@@ -50,11 +50,17 @@ exports.SimpleRoomsManagerModule = SimpleRoomsManagerModule = SimpleRoomsManager
50
50
  mongoose_1.MongooseModule.forFeature([
51
51
  { name: jp_db_schemas_1.GameResult.name, schema: jp_db_schemas_1.GameResultSchema },
52
52
  ]),
53
+ mongoose_1.MongooseModule.forFeature([{ name: jp_db_schemas_1.Rating.name, schema: jp_db_schemas_1.RatingSchema }]),
54
+ mongoose_1.MongooseModule.forFeature([
55
+ { name: jp_db_schemas_1.ActivityLog.name, schema: jp_db_schemas_1.ActivityLogSchema },
56
+ ]),
53
57
  ],
54
58
  providers: [
55
59
  jp_db_schemas_1.SimpleRoomsRepository,
56
60
  jp_db_schemas_1.UsersRepository,
57
61
  jp_db_schemas_1.GameResultRepository,
62
+ jp_db_schemas_1.RatingRepository,
63
+ jp_db_schemas_1.ActivityLogRepository,
58
64
  simple_rooms_manager_service_1.SimpleRoomsManagerService,
59
65
  ],
60
66
  exports: [simple_rooms_manager_service_1.SimpleRoomsManagerService],
@@ -1 +1 @@
1
- {"version":3,"file":"simple-rooms-manager.module.js","sourceRoot":"","sources":["../../../src/modules/simple-rooms-manager/simple-rooms-manager.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,+CAAkD;AAClD,iDAUuB;AAEvB,iFAA2E;AAE3E,qFAAgF;AAqBzE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAEhB;IADnB,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,OAAkC;QACpD,OAAO;YACL,MAAM,EAAE,0BAAwB;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,6DAA4B;oBACrC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjB;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;IAC5D,CAAC;CACF,CAAA;AAtBY,4DAAwB;mCAAxB,wBAAwB;IAnBpC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,0BAAU,EAAE,CAAC,CAAC;YACpE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;SACH;QACD,SAAS,EAAE;YACT,qCAAqB;YACrB,+BAAe;YACf,oCAAoB;YACpB,wDAAyB;SAC1B;QACD,OAAO,EAAE,CAAC,wDAAyB,CAAC;KACrC,CAAC;qCAG8C,wDAAyB;GAF5D,wBAAwB,CAsBpC"}
1
+ {"version":3,"file":"simple-rooms-manager.module.js","sourceRoot":"","sources":["../../../src/modules/simple-rooms-manager/simple-rooms-manager.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,+CAAkD;AAClD,iDAgBuB;AAEvB,iFAA2E;AAE3E,qFAAgF;AA2BzE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAEhB;IADnB,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,OAAkC;QACpD,OAAO;YACL,MAAM,EAAE,0BAAwB;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;YAC9B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,6DAA4B;oBACrC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBACjB;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;IAC5D,CAAC;CACF,CAAA;AAtBY,4DAAwB;mCAAxB,wBAAwB;IAzBpC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,0BAAU,EAAE,CAAC,CAAC;YACpE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,MAAM,EAAE,gCAAgB,EAAE;aACpD,CAAC;YACF,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAM,CAAC,IAAI,EAAE,MAAM,EAAE,4BAAY,EAAE,CAAC,CAAC;YACxE,yBAAc,CAAC,UAAU,CAAC;gBACxB,EAAE,IAAI,EAAE,2BAAW,CAAC,IAAI,EAAE,MAAM,EAAE,iCAAiB,EAAE;aACtD,CAAC;SACH;QACD,SAAS,EAAE;YACT,qCAAqB;YACrB,+BAAe;YACf,oCAAoB;YACpB,gCAAgB;YAChB,qCAAqB;YACrB,wDAAyB;SAC1B;QACD,OAAO,EAAE,CAAC,wDAAyB,CAAC;KACrC,CAAC;qCAG8C,wDAAyB;GAF5D,wBAAwB,CAsBpC"}
@@ -1,21 +1,23 @@
1
1
  import { Connection } from 'mongoose';
2
2
  import { GameMaster, SimpleRoom } from 'jp.ms.common.engine';
3
- import { GameResultRepository, SimpleRoomsRepository, UsersRepository } from 'jp.db.schemas';
3
+ import { ActivityLogRepository, GameResultRepository, RatingRepository, SimpleRoomsRepository, UsersRepository } from 'jp.db.schemas';
4
4
  import { JpLoggerService } from '../logger/jp-logger.service';
5
- import { EventsBusMainTablesSubscribeService } from '../event-bus/events-bus.main-tables.subscribe.service';
6
- import { EventsBusAppSubscribeService } from '../event-bus/events-bus.app.subscribe.service';
5
+ import { EventsBusMainTablesSubscribeService, EventsBusAppSubscribeService } from '../event-bus';
6
+ import { RoomsManagerService } from '../../common/rooms-manager.service';
7
7
  import { SimpleRoomsFactoryOptions } from './simple-rooms-manager.interfaces';
8
- export declare class SimpleRoomsManagerService {
8
+ export declare class SimpleRoomsManagerService extends RoomsManagerService {
9
9
  private readonly roomsRepository;
10
10
  private readonly usersRepository;
11
11
  private readonly gameResultRepository;
12
+ private readonly ratingRepository;
13
+ private readonly activityLogRepository;
12
14
  private readonly eventsBusMainTablesSubscribeService;
13
15
  private readonly eventsBusAppSubscribeService;
14
16
  private readonly options;
15
17
  private readonly connection;
16
18
  private readonly logger;
17
19
  private readonly rooms;
18
- constructor(roomsRepository: SimpleRoomsRepository, usersRepository: UsersRepository, gameResultRepository: GameResultRepository, eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService, eventsBusAppSubscribeService: EventsBusAppSubscribeService, options: SimpleRoomsFactoryOptions, connection: Connection, logger: JpLoggerService);
20
+ constructor(roomsRepository: SimpleRoomsRepository, usersRepository: UsersRepository, gameResultRepository: GameResultRepository, ratingRepository: RatingRepository, activityLogRepository: ActivityLogRepository, eventsBusMainTablesSubscribeService: EventsBusMainTablesSubscribeService, eventsBusAppSubscribeService: EventsBusAppSubscribeService, options: SimpleRoomsFactoryOptions, connection: Connection, logger: JpLoggerService);
19
21
  get gameType(): string;
20
22
  getRoomById(roomId: string): SimpleRoom | undefined;
21
23
  getRoomByTableId(tableId: string): SimpleRoom | undefined;
@@ -28,4 +30,5 @@ export declare class SimpleRoomsManagerService {
28
30
  private handleRoomEvent;
29
31
  private handleRoomTableGameFinished;
30
32
  private handleRoomStatusUpdated;
33
+ private saveGameTableReuslts;
31
34
  }
@@ -19,24 +19,28 @@ const mongoose_2 = require("mongoose");
19
19
  const jp_ms_common_engine_1 = require("jp.ms.common.engine");
20
20
  const jp_db_schemas_1 = require("jp.db.schemas");
21
21
  const jp_logger_service_1 = require("../logger/jp-logger.service");
22
- const game_table_result_1 = require("../../utils/game-table-result");
23
- const events_bus_main_tables_subscribe_service_1 = require("../event-bus/events-bus.main-tables.subscribe.service");
24
- const events_bus_app_subscribe_service_1 = require("../event-bus/events-bus.app.subscribe.service");
22
+ const event_bus_1 = require("../event-bus");
23
+ const rooms_manager_service_1 = require("../../common/rooms-manager.service");
25
24
  const simple_rooms_manager_constants_1 = require("./simple-rooms-manager.constants");
26
- let SimpleRoomsManagerService = class SimpleRoomsManagerService {
25
+ let SimpleRoomsManagerService = class SimpleRoomsManagerService extends rooms_manager_service_1.RoomsManagerService {
27
26
  roomsRepository;
28
27
  usersRepository;
29
28
  gameResultRepository;
29
+ ratingRepository;
30
+ activityLogRepository;
30
31
  eventsBusMainTablesSubscribeService;
31
32
  eventsBusAppSubscribeService;
32
33
  options;
33
34
  connection;
34
35
  logger;
35
36
  rooms;
36
- constructor(roomsRepository, usersRepository, gameResultRepository, eventsBusMainTablesSubscribeService, eventsBusAppSubscribeService, options, connection, logger) {
37
+ constructor(roomsRepository, usersRepository, gameResultRepository, ratingRepository, activityLogRepository, eventsBusMainTablesSubscribeService, eventsBusAppSubscribeService, options, connection, logger) {
38
+ super();
37
39
  this.roomsRepository = roomsRepository;
38
40
  this.usersRepository = usersRepository;
39
41
  this.gameResultRepository = gameResultRepository;
42
+ this.ratingRepository = ratingRepository;
43
+ this.activityLogRepository = activityLogRepository;
40
44
  this.eventsBusMainTablesSubscribeService = eventsBusMainTablesSubscribeService;
41
45
  this.eventsBusAppSubscribeService = eventsBusAppSubscribeService;
42
46
  this.options = options;
@@ -104,6 +108,7 @@ let SimpleRoomsManagerService = class SimpleRoomsManagerService {
104
108
  rulesType: room.rulesType,
105
109
  deckType: room.deckType,
106
110
  tableSize: room.tableSize,
111
+ tableType: room.tableType,
107
112
  bet: room.bet,
108
113
  ticketPrice: room.ticketPrice / 2,
109
114
  title: room.title,
@@ -120,33 +125,64 @@ let SimpleRoomsManagerService = class SimpleRoomsManagerService {
120
125
  }
121
126
  handleRoomEvent = (event) => {
122
127
  this.logger.log(event.toLog());
123
- if (event instanceof jp_ms_common_engine_1.GameTableFinishedEvent) {
124
- void this.handleRoomTableGameFinished(event.master);
125
- }
126
- else if (event instanceof jp_ms_common_engine_1.GamePlayerEnteredTheTableEvent ||
127
- event instanceof jp_ms_common_engine_1.GamePlayerExitedTheTableEvent) {
128
- this.handleRoomStatusUpdated(new jp_ms_common_engine_1.RoomUpdateStateEvent(event.gameType, event.roomId));
128
+ switch (event.constructor.name) {
129
+ case jp_ms_common_engine_1.GameTableFinishedEvent.name: {
130
+ void this.handleRoomTableGameFinished(event);
131
+ break;
132
+ }
133
+ case jp_ms_common_engine_1.GamePlayerMovedOnTheTableEvent.name: {
134
+ this.handleRoomTableGamePlayerMoved(event, this.eventsBusAppSubscribeService);
135
+ break;
136
+ }
137
+ case jp_ms_common_engine_1.GamePlayerEnteredTheTableEvent.name:
138
+ case jp_ms_common_engine_1.GamePlayerExitedTheTableEvent.name: {
139
+ this.handleRoomStatusUpdated(event);
140
+ break;
141
+ }
129
142
  }
130
143
  };
131
- handleRoomTableGameFinished = async (master) => {
132
- await (0, game_table_result_1.saveGameTablesResult)(master, this.connection, this.gameResultRepository, this.usersRepository, true);
133
- this.eventsBusAppSubscribeService.pushNewEvent(new jp_ms_common_engine_1.UserWonTheGameAppEvent(this.gameType, '123'));
144
+ handleRoomTableGameFinished = async (event) => {
145
+ await this.saveGameTableReuslts(event);
146
+ this.processGameFinishEvent(event, this.eventsBusAppSubscribeService);
134
147
  };
135
148
  handleRoomStatusUpdated = (event) => {
136
- this.eventsBusMainTablesSubscribeService.pushNewRoomState(event);
149
+ this.eventsBusMainTablesSubscribeService.pushNewRoomState(new jp_ms_common_engine_1.RoomUpdateStateEvent(event.gameType, event.roomId));
137
150
  };
151
+ async saveGameTableReuslts(event) {
152
+ const session = await this.connection.startSession();
153
+ session.startTransaction();
154
+ const master = event.master;
155
+ try {
156
+ await this.gameResultRepository.createGameResult(this.getGameTableResults(master));
157
+ const userGameResults = this.getUserGameResults(master, false);
158
+ await this.usersRepository.saveGameResult(userGameResults);
159
+ await this.ratingRepository.addBulkPlayerRating(this.getUserRatings(master));
160
+ await this.activityLogRepository.addGameTableResult(this.getGameTableActivityLogResult(master));
161
+ this.commitExperience(master, userGameResults, event, this.eventsBusAppSubscribeService, this.options.levelUpBonus);
162
+ await session.commitTransaction();
163
+ }
164
+ catch (error) {
165
+ await session.abortTransaction();
166
+ throw error;
167
+ }
168
+ finally {
169
+ await session.endSession();
170
+ }
171
+ }
138
172
  };
139
173
  exports.SimpleRoomsManagerService = SimpleRoomsManagerService;
140
174
  exports.SimpleRoomsManagerService = SimpleRoomsManagerService = __decorate([
141
175
  (0, common_1.Injectable)(),
142
- __param(5, (0, common_1.Inject)(simple_rooms_manager_constants_1.SIMPLE_ROOMS_MANAGER_OPTIONS)),
143
- __param(6, (0, mongoose_1.InjectConnection)()),
144
- __param(7, (0, common_1.Inject)()),
176
+ __param(7, (0, common_1.Inject)(simple_rooms_manager_constants_1.SIMPLE_ROOMS_MANAGER_OPTIONS)),
177
+ __param(8, (0, mongoose_1.InjectConnection)()),
178
+ __param(9, (0, common_1.Inject)()),
145
179
  __metadata("design:paramtypes", [jp_db_schemas_1.SimpleRoomsRepository,
146
180
  jp_db_schemas_1.UsersRepository,
147
181
  jp_db_schemas_1.GameResultRepository,
148
- events_bus_main_tables_subscribe_service_1.EventsBusMainTablesSubscribeService,
149
- events_bus_app_subscribe_service_1.EventsBusAppSubscribeService, Object, mongoose_2.Connection,
182
+ jp_db_schemas_1.RatingRepository,
183
+ jp_db_schemas_1.ActivityLogRepository,
184
+ event_bus_1.EventsBusMainTablesSubscribeService,
185
+ event_bus_1.EventsBusAppSubscribeService, Object, mongoose_2.Connection,
150
186
  jp_logger_service_1.JpLoggerService])
151
187
  ], SimpleRoomsManagerService);
152
188
  //# sourceMappingURL=simple-rooms-manager.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-rooms-manager.service.js","sourceRoot":"","sources":["../../../src/modules/simple-rooms-manager/simple-rooms-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-rooms-manager.service.js","sourceRoot":"","sources":["../../../src/modules/simple-rooms-manager/simple-rooms-manager.service.ts"],"names":[],"mappings":"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"}