jp.ms.common.modules 1.0.20 → 1.0.22

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 (142) hide show
  1. package/dist/dto/app-screen/app-screen-dialog.dto.d.ts +12 -0
  2. package/dist/dto/app-screen/app-screen-dialog.dto.js +90 -0
  3. package/dist/dto/app-screen/app-screen-dialog.dto.js.map +1 -0
  4. package/dist/dto/app-screen/app-screen-field-list-item.dto.d.ts +7 -0
  5. package/dist/dto/app-screen/app-screen-field-list-item.dto.js +63 -0
  6. package/dist/dto/app-screen/app-screen-field-list-item.dto.js.map +1 -0
  7. package/dist/dto/app-screen/app-screen-field.dto.d.ts +10 -0
  8. package/dist/dto/app-screen/app-screen-field.dto.js +83 -0
  9. package/dist/dto/app-screen/app-screen-field.dto.js.map +1 -0
  10. package/dist/dto/app-screen/app-screen.dto.d.ts +3 -0
  11. package/dist/dto/app-screen/app-screen.dto.js +12 -0
  12. package/dist/dto/app-screen/app-screen.dto.js.map +1 -1
  13. package/dist/dto/common/player-check-state.dto.d.ts +2 -2
  14. package/dist/dto/common/player-check-state.dto.js.map +1 -1
  15. package/dist/modules/base-achievements/base-achievements.module.d.ts +15 -0
  16. package/dist/modules/base-achievements/base-achievements.module.js +138 -0
  17. package/dist/modules/base-achievements/base-achievements.module.js.map +1 -0
  18. package/dist/modules/base-achievements/index.d.ts +1 -0
  19. package/dist/modules/base-achievements/index.js +6 -0
  20. package/dist/modules/base-achievements/index.js.map +1 -0
  21. package/dist/modules/event-bus/events-bus.app.subscribe.service.d.ts +7 -0
  22. package/dist/modules/event-bus/events-bus.app.subscribe.service.js +32 -0
  23. package/dist/modules/event-bus/events-bus.app.subscribe.service.js.map +1 -0
  24. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.d.ts +11 -0
  25. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.js +43 -0
  26. package/dist/modules/event-bus/events-bus.main-tables.subscribe.service.js.map +1 -0
  27. package/dist/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.d.ts +3 -0
  28. package/dist/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.js +18 -0
  29. package/dist/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.js.map +1 -0
  30. package/dist/modules/event-bus/events-bus.module.d.ts +2 -0
  31. package/dist/modules/event-bus/events-bus.module.js +35 -0
  32. package/dist/modules/event-bus/events-bus.module.js.map +1 -0
  33. package/dist/modules/event-bus/events-bus.one-table-tournament.subscribe.service.d.ts +3 -0
  34. package/dist/modules/event-bus/events-bus.one-table-tournament.subscribe.service.js +18 -0
  35. package/dist/modules/event-bus/events-bus.one-table-tournament.subscribe.service.js.map +1 -0
  36. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.d.ts +7 -0
  37. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.js +18 -0
  38. package/dist/modules/event-bus/events-bus.tournament.subscribe.service.js.map +1 -0
  39. package/dist/modules/event-bus/index.d.ts +5 -0
  40. package/dist/modules/event-bus/index.js +14 -0
  41. package/dist/modules/event-bus/index.js.map +1 -0
  42. package/dist/modules/index.d.ts +2 -0
  43. package/dist/modules/index.js +6 -1
  44. package/dist/modules/index.js.map +1 -1
  45. package/dist/modules/main/main-tables-list-screen.view.d.ts +9 -0
  46. package/dist/modules/main/main-tables-list-screen.view.js +38 -0
  47. package/dist/modules/main/main-tables-list-screen.view.js.map +1 -0
  48. package/dist/modules/main/main.controller.d.ts +4 -2
  49. package/dist/modules/main/main.controller.js +23 -4
  50. package/dist/modules/main/main.controller.js.map +1 -1
  51. package/dist/modules/main/main.module.d.ts +7 -1
  52. package/dist/modules/main/main.module.js +29 -3
  53. package/dist/modules/main/main.module.js.map +1 -1
  54. package/dist/modules/main/main.service.d.ts +10 -3
  55. package/dist/modules/main/main.service.js +54 -26
  56. package/dist/modules/main/main.service.js.map +1 -1
  57. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.d.ts +7 -0
  58. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js +19 -0
  59. package/dist/modules/many-tables-tournament/many-tables-tournament-status-screen.view.js.map +1 -0
  60. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.d.ts +7 -0
  61. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js +18 -0
  62. package/dist/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.js.map +1 -0
  63. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.d.ts +4 -1
  64. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js +35 -1
  65. package/dist/modules/many-tables-tournament/many-tables-tournament.controller.js.map +1 -1
  66. package/dist/modules/many-tables-tournament/many-tables-tournament.module.d.ts +9 -1
  67. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js +22 -2
  68. package/dist/modules/many-tables-tournament/many-tables-tournament.module.js.map +1 -1
  69. package/dist/modules/many-tables-tournament/many-tables-tournament.service.d.ts +4 -1
  70. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js +34 -10
  71. package/dist/modules/many-tables-tournament/many-tables-tournament.service.js.map +1 -1
  72. package/dist/modules/menu/menu-screen.view.d.ts +7 -0
  73. package/dist/modules/menu/menu-screen.view.js +18 -0
  74. package/dist/modules/menu/menu-screen.view.js.map +1 -0
  75. package/dist/modules/menu/menu.service.d.ts +1 -1
  76. package/dist/modules/menu/menu.service.js +3 -5
  77. package/dist/modules/menu/menu.service.js.map +1 -1
  78. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.d.ts +7 -0
  79. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js +19 -0
  80. package/dist/modules/one-table-tournament/one-table-tournament-status-screen.view.js.map +1 -0
  81. package/dist/modules/one-table-tournament/one-table-tournament.controller.d.ts +3 -1
  82. package/dist/modules/one-table-tournament/one-table-tournament.controller.js +23 -1
  83. package/dist/modules/one-table-tournament/one-table-tournament.controller.js.map +1 -1
  84. package/dist/modules/one-table-tournament/one-table-tournament.module.d.ts +9 -1
  85. package/dist/modules/one-table-tournament/one-table-tournament.module.js +22 -2
  86. package/dist/modules/one-table-tournament/one-table-tournament.module.js.map +1 -1
  87. package/dist/modules/one-table-tournament/one-table-tournament.service.d.ts +3 -1
  88. package/dist/modules/one-table-tournament/one-table-tournament.service.js +19 -6
  89. package/dist/modules/one-table-tournament/one-table-tournament.service.js.map +1 -1
  90. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.d.ts +7 -2
  91. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js +20 -8
  92. package/dist/modules/simple-rooms-manager/simple-rooms-manager.service.js.map +1 -1
  93. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.d.ts +7 -2
  94. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js +24 -5
  95. package/dist/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.js.map +1 -1
  96. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.d.ts +5 -1
  97. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js +17 -5
  98. package/dist/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.js.map +1 -1
  99. package/dist/tsconfig.tsbuildinfo +1 -1
  100. package/dist/views/index.d.ts +1 -0
  101. package/dist/views/index.js +6 -0
  102. package/dist/views/index.js.map +1 -0
  103. package/dist/views/tournament-buy-ticket-dialog.view.d.ts +4 -0
  104. package/dist/views/tournament-buy-ticket-dialog.view.js +11 -0
  105. package/dist/views/tournament-buy-ticket-dialog.view.js.map +1 -0
  106. package/package.json +7 -7
  107. package/src/dto/app-screen/app-screen-dialog.dto.ts +64 -0
  108. package/src/dto/app-screen/app-screen-field-list-item.dto.ts +42 -0
  109. package/src/dto/app-screen/app-screen-field.dto.ts +59 -0
  110. package/src/dto/app-screen/app-screen.dto.ts +12 -1
  111. package/src/dto/common/player-check-state.dto.ts +2 -2
  112. package/src/modules/base-achievements/base-achievements.module.ts +163 -0
  113. package/src/modules/base-achievements/index.ts +1 -0
  114. package/src/modules/event-bus/events-bus.app.subscribe.service.ts +21 -0
  115. package/src/modules/event-bus/events-bus.main-tables.subscribe.service.ts +34 -0
  116. package/src/modules/event-bus/events-bus.many-tables-tournament.subscribe.service.ts +6 -0
  117. package/src/modules/event-bus/events-bus.module.ts +23 -0
  118. package/src/modules/event-bus/events-bus.one-table-tournament.subscribe.service.ts +6 -0
  119. package/src/modules/event-bus/events-bus.tournament.subscribe.service.ts +19 -0
  120. package/src/modules/event-bus/index.ts +5 -0
  121. package/src/modules/index.ts +2 -1
  122. package/src/modules/main/main-tables-list-screen.view.ts +107 -0
  123. package/src/modules/main/main.controller.ts +16 -7
  124. package/src/modules/main/main.module.ts +30 -5
  125. package/src/modules/main/main.service.ts +66 -82
  126. package/src/modules/many-tables-tournament/index.ts +1 -1
  127. package/src/modules/many-tables-tournament/many-tables-tournament-status-screen.view.ts +59 -0
  128. package/src/modules/many-tables-tournament/many-tables-tournament-tables-list-screen.view.ts +53 -0
  129. package/src/modules/many-tables-tournament/many-tables-tournament.controller.ts +36 -11
  130. package/src/modules/many-tables-tournament/many-tables-tournament.module.ts +21 -4
  131. package/src/modules/many-tables-tournament/many-tables-tournament.service.ts +68 -73
  132. package/src/modules/menu/menu-screen.view.ts +48 -0
  133. package/src/modules/menu/menu.service.ts +14 -32
  134. package/src/modules/one-table-tournament/one-table-tournament-status-screen.view.ts +65 -0
  135. package/src/modules/one-table-tournament/one-table-tournament.controller.ts +23 -7
  136. package/src/modules/one-table-tournament/one-table-tournament.module.ts +21 -4
  137. package/src/modules/one-table-tournament/one-table-tournament.service.ts +39 -46
  138. package/src/modules/simple-rooms-manager/simple-rooms-manager.service.ts +30 -17
  139. package/src/modules/tournament-many-tables-rooms-manager/tournament-many-tables-rooms-manager.service.ts +39 -16
  140. package/src/modules/tournament-one-table-rooms-manager/tournament-one-table-rooms-manager.service.ts +48 -35
  141. package/src/views/index.ts +1 -0
  142. package/src/views/tournament-buy-ticket-dialog.view.ts +21 -0
@@ -0,0 +1,12 @@
1
+ import { IAppScreenDialog } from 'jp.common.models';
2
+ import { AppScreenSectionButtonsDto } from './app-screen-section-buttons.dto';
3
+ import { AppScreenFieldDto } from './app-screen-field.dto';
4
+ export declare class AppScreenDialogDto implements IAppScreenDialog {
5
+ id: string;
6
+ type: string;
7
+ isOpen: boolean;
8
+ title: string;
9
+ description?: string;
10
+ buttons: AppScreenSectionButtonsDto;
11
+ fields?: Array<AppScreenFieldDto>;
12
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppScreenDialogDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const class_validator_1 = require("class-validator");
16
+ const app_screen_section_buttons_dto_1 = require("./app-screen-section-buttons.dto");
17
+ const app_screen_field_dto_1 = require("./app-screen-field.dto");
18
+ class AppScreenDialogDto {
19
+ id;
20
+ type;
21
+ isOpen;
22
+ title;
23
+ description;
24
+ buttons;
25
+ fields;
26
+ }
27
+ exports.AppScreenDialogDto = AppScreenDialogDto;
28
+ __decorate([
29
+ (0, swagger_1.ApiProperty)({
30
+ description: 'id',
31
+ required: true,
32
+ type: String,
33
+ }),
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, class_validator_1.IsString)(),
36
+ __metadata("design:type", String)
37
+ ], AppScreenDialogDto.prototype, "id", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiProperty)({
40
+ description: 'type',
41
+ required: true,
42
+ type: String,
43
+ }),
44
+ (0, class_transformer_1.Expose)(),
45
+ (0, class_validator_1.IsString)(),
46
+ __metadata("design:type", String)
47
+ ], AppScreenDialogDto.prototype, "type", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiProperty)({
50
+ description: 'isOpen',
51
+ required: true,
52
+ type: Boolean,
53
+ }),
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, class_validator_1.IsString)(),
56
+ __metadata("design:type", Boolean)
57
+ ], AppScreenDialogDto.prototype, "isOpen", void 0);
58
+ __decorate([
59
+ (0, swagger_1.ApiProperty)({
60
+ description: 'title',
61
+ required: true,
62
+ type: String,
63
+ }),
64
+ (0, class_transformer_1.Expose)(),
65
+ (0, class_validator_1.IsString)(),
66
+ __metadata("design:type", String)
67
+ ], AppScreenDialogDto.prototype, "title", void 0);
68
+ __decorate([
69
+ (0, swagger_1.ApiProperty)({
70
+ description: 'description',
71
+ required: true,
72
+ type: String,
73
+ }),
74
+ (0, class_transformer_1.Expose)(),
75
+ (0, class_validator_1.IsString)(),
76
+ __metadata("design:type", String)
77
+ ], AppScreenDialogDto.prototype, "description", void 0);
78
+ __decorate([
79
+ (0, class_transformer_1.Type)(() => app_screen_section_buttons_dto_1.AppScreenSectionButtonsDto),
80
+ (0, class_transformer_1.Expose)(),
81
+ __metadata("design:type", app_screen_section_buttons_dto_1.AppScreenSectionButtonsDto)
82
+ ], AppScreenDialogDto.prototype, "buttons", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsArray)(),
85
+ (0, class_validator_1.ValidateNested)({ each: true }),
86
+ (0, class_transformer_1.Type)(() => app_screen_field_dto_1.AppScreenFieldDto),
87
+ (0, class_transformer_1.Expose)(),
88
+ __metadata("design:type", Array)
89
+ ], AppScreenDialogDto.prototype, "fields", void 0);
90
+ //# sourceMappingURL=app-screen-dialog.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-screen-dialog.dto.js","sourceRoot":"","sources":["../../../src/dto/app-screen/app-screen-dialog.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAiD;AAEjD,6CAA8C;AAC9C,qDAAoE;AAEpE,qFAA8E;AAC9E,iEAA2D;AAE3D,MAAa,kBAAkB;IAQ7B,EAAE,CAAS;IASX,IAAI,CAAS;IASb,MAAM,CAAU;IAShB,KAAK,CAAS;IASd,WAAW,CAAU;IAIrB,OAAO,CAA6B;IAMpC,MAAM,CAA4B;CACnC;AAvDD,gDAuDC;AA/CC;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;8CACA;AASX;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;gDACE;AASb;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;KACd,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;kDACK;AAShB;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;iDACG;AASd;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;uDACU;AAIrB;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2DAA0B,CAAC;IACtC,IAAA,0BAAM,GAAE;8BACA,2DAA0B;mDAAC;AAMpC;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,wCAAiB,CAAC;IAC7B,IAAA,0BAAM,GAAE;8BACA,KAAK;kDAAoB"}
@@ -0,0 +1,7 @@
1
+ import { IAppScreenFieldListItem } from 'jp.common.models';
2
+ export declare class AppScreenFieldListItemDto implements IAppScreenFieldListItem {
3
+ id: string;
4
+ title: string;
5
+ imageUrl: string;
6
+ disabled: boolean;
7
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppScreenFieldListItemDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ class AppScreenFieldListItemDto {
17
+ id;
18
+ title;
19
+ imageUrl;
20
+ disabled;
21
+ }
22
+ exports.AppScreenFieldListItemDto = AppScreenFieldListItemDto;
23
+ __decorate([
24
+ (0, swagger_1.ApiProperty)({
25
+ description: 'id',
26
+ required: true,
27
+ type: String,
28
+ }),
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], AppScreenFieldListItemDto.prototype, "id", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiProperty)({
35
+ description: 'title',
36
+ required: true,
37
+ type: String,
38
+ }),
39
+ (0, class_transformer_1.Expose)(),
40
+ (0, class_validator_1.IsString)(),
41
+ __metadata("design:type", String)
42
+ ], AppScreenFieldListItemDto.prototype, "title", void 0);
43
+ __decorate([
44
+ (0, swagger_1.ApiProperty)({
45
+ description: 'imageUrl',
46
+ required: true,
47
+ type: String,
48
+ }),
49
+ (0, class_transformer_1.Expose)(),
50
+ (0, class_validator_1.IsString)(),
51
+ __metadata("design:type", String)
52
+ ], AppScreenFieldListItemDto.prototype, "imageUrl", void 0);
53
+ __decorate([
54
+ (0, swagger_1.ApiProperty)({
55
+ description: 'disabled',
56
+ required: true,
57
+ type: Boolean,
58
+ }),
59
+ (0, class_transformer_1.Expose)(),
60
+ (0, class_validator_1.IsBoolean)(),
61
+ __metadata("design:type", Boolean)
62
+ ], AppScreenFieldListItemDto.prototype, "disabled", void 0);
63
+ //# sourceMappingURL=app-screen-field-list-item.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-screen-field-list-item.dto.js","sourceRoot":"","sources":["../../../src/dto/app-screen/app-screen-field-list-item.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAiD;AACjD,qDAAsD;AAGtD,MAAa,yBAAyB;IAQlC,EAAE,CAAS;IASX,KAAK,CAAS;IASd,QAAQ,CAAS;IASjB,QAAQ,CAAU;CACrB;AApCD,8DAoCC;AA5BG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;qDACA;AASX;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;wDACG;AASd;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;2DACM;AASjB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;KAChB,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,2BAAS,GAAE;;2DACM"}
@@ -0,0 +1,10 @@
1
+ import { IAppScreenField } from 'jp.common.models';
2
+ import { AppScreenFieldListItemDto } from './app-screen-field-list-item.dto';
3
+ export declare class AppScreenFieldDto implements IAppScreenField {
4
+ id: string;
5
+ type: string;
6
+ label?: string;
7
+ placeholder?: string;
8
+ value: string;
9
+ list?: Array<AppScreenFieldListItemDto>;
10
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppScreenFieldDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const app_screen_field_list_item_dto_1 = require("./app-screen-field-list-item.dto");
17
+ class AppScreenFieldDto {
18
+ id;
19
+ type;
20
+ label;
21
+ placeholder;
22
+ value;
23
+ list;
24
+ }
25
+ exports.AppScreenFieldDto = AppScreenFieldDto;
26
+ __decorate([
27
+ (0, swagger_1.ApiProperty)({
28
+ description: 'id',
29
+ required: true,
30
+ type: String,
31
+ }),
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsString)(),
34
+ __metadata("design:type", String)
35
+ ], AppScreenFieldDto.prototype, "id", void 0);
36
+ __decorate([
37
+ (0, swagger_1.ApiProperty)({
38
+ description: 'type',
39
+ required: true,
40
+ type: String,
41
+ }),
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_validator_1.IsString)(),
44
+ __metadata("design:type", String)
45
+ ], AppScreenFieldDto.prototype, "type", void 0);
46
+ __decorate([
47
+ (0, swagger_1.ApiProperty)({
48
+ description: 'label',
49
+ required: false,
50
+ type: String,
51
+ }),
52
+ (0, class_transformer_1.Expose)(),
53
+ (0, class_validator_1.IsString)(),
54
+ __metadata("design:type", String)
55
+ ], AppScreenFieldDto.prototype, "label", void 0);
56
+ __decorate([
57
+ (0, swagger_1.ApiProperty)({
58
+ description: 'placeholder',
59
+ required: true,
60
+ type: String,
61
+ }),
62
+ (0, class_transformer_1.Expose)(),
63
+ (0, class_validator_1.IsString)(),
64
+ __metadata("design:type", String)
65
+ ], AppScreenFieldDto.prototype, "placeholder", void 0);
66
+ __decorate([
67
+ (0, swagger_1.ApiProperty)({
68
+ description: 'value',
69
+ required: true,
70
+ type: String,
71
+ }),
72
+ (0, class_transformer_1.Expose)(),
73
+ (0, class_validator_1.IsString)(),
74
+ __metadata("design:type", String)
75
+ ], AppScreenFieldDto.prototype, "value", void 0);
76
+ __decorate([
77
+ (0, class_validator_1.IsArray)(),
78
+ (0, class_validator_1.ValidateNested)({ each: true }),
79
+ (0, class_transformer_1.Type)(() => app_screen_field_list_item_dto_1.AppScreenFieldListItemDto),
80
+ (0, class_transformer_1.Expose)(),
81
+ __metadata("design:type", Array)
82
+ ], AppScreenFieldDto.prototype, "list", void 0);
83
+ //# sourceMappingURL=app-screen-field.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-screen-field.dto.js","sourceRoot":"","sources":["../../../src/dto/app-screen/app-screen-field.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAiD;AACjD,qDAAoE;AAGpE,qFAA6E;AAE7E,MAAa,iBAAiB;IAQ1B,EAAE,CAAS;IASX,IAAI,CAAS;IASb,KAAK,CAAU;IASf,WAAW,CAAU;IASrB,KAAK,CAAS;IAMd,IAAI,CAAoC;CAC3C;AAnDD,8CAmDC;AA3CG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;6CACA;AASX;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;+CACE;AASb;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;gDACI;AASf;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;sDACU;AASrB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;gDACG;AAMd;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,0DAAyB,CAAC;IACrC,IAAA,0BAAM,GAAE;8BACF,KAAK;+CAA4B"}
@@ -1,9 +1,12 @@
1
1
  import { IAppScreen } from 'jp.common.models';
2
2
  import { AppScreenSectionDto } from './app-screen-section.dto';
3
3
  import { AppScreenAppBarDto } from './app-screen-app-bar.dto';
4
+ import { AppScreenDialogDto } from './app-screen-dialog.dto';
4
5
  export declare class AppScreenDto implements IAppScreen {
5
6
  id: string;
6
7
  type: string;
7
8
  sections: Array<AppScreenSectionDto>;
9
+ dialogs?: Array<AppScreenDialogDto>;
8
10
  appBar?: AppScreenAppBarDto;
11
+ constructor(screen: IAppScreen);
9
12
  }
@@ -15,11 +15,16 @@ const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
16
  const app_screen_section_dto_1 = require("./app-screen-section.dto");
17
17
  const app_screen_app_bar_dto_1 = require("./app-screen-app-bar.dto");
18
+ const app_screen_dialog_dto_1 = require("./app-screen-dialog.dto");
18
19
  class AppScreenDto {
19
20
  id;
20
21
  type;
21
22
  sections;
23
+ dialogs;
22
24
  appBar;
25
+ constructor(screen) {
26
+ return (0, class_transformer_1.plainToInstance)(AppScreenDto, screen, { excludeExtraneousValues: true });
27
+ }
23
28
  }
24
29
  exports.AppScreenDto = AppScreenDto;
25
30
  __decorate([
@@ -49,6 +54,13 @@ __decorate([
49
54
  (0, class_transformer_1.Expose)(),
50
55
  __metadata("design:type", Array)
51
56
  ], AppScreenDto.prototype, "sections", void 0);
57
+ __decorate([
58
+ (0, class_validator_1.IsArray)(),
59
+ (0, class_validator_1.ValidateNested)({ each: true }),
60
+ (0, class_transformer_1.Type)(() => app_screen_dialog_dto_1.AppScreenDialogDto),
61
+ (0, class_transformer_1.Expose)(),
62
+ __metadata("design:type", Array)
63
+ ], AppScreenDto.prototype, "dialogs", void 0);
52
64
  __decorate([
53
65
  (0, class_transformer_1.Type)(() => app_screen_app_bar_dto_1.AppScreenAppBarDto),
54
66
  (0, class_transformer_1.Expose)(),
@@ -1 +1 @@
1
- {"version":3,"file":"app-screen.dto.js","sourceRoot":"","sources":["../../../src/dto/app-screen/app-screen.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAiD;AACjD,qDAAoE;AAGpE,qEAA+D;AAC/D,qEAA8D;AAE9D,MAAa,YAAY;IAQvB,EAAE,CAAS;IASX,IAAI,CAAS;IAMb,QAAQ,CAA6B;IAIrC,MAAM,CAAsB;CAC7B;AA5BD,oCA4BC;AApBC;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;wCACA;AASX;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;0CACE;AAMb;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,4CAAmB,CAAC;IAC/B,IAAA,0BAAM,GAAE;8BACC,KAAK;8CAAsB;AAIrC;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2CAAkB,CAAC;IAC9B,IAAA,0BAAM,GAAE;8BACA,2CAAkB;4CAAC"}
1
+ {"version":3,"file":"app-screen.dto.js","sourceRoot":"","sources":["../../../src/dto/app-screen/app-screen.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAkE;AAClE,qDAAoE;AAGpE,qEAA+D;AAC/D,qEAA8D;AAC9D,mEAA6D;AAE7D,MAAa,YAAY;IAQvB,EAAE,CAAS;IASX,IAAI,CAAS;IAMb,QAAQ,CAA6B;IAMrC,OAAO,CAA6B;IAIpC,MAAM,CAAsB;IAE5B,YAAY,MAAkB;QAC5B,OAAO,IAAA,mCAAe,EAAC,YAAY,EAAE,MAAM,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;CACF;AAtCD,oCAsCC;AA9BC;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;wCACA;AASX;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;0CACE;AAMb;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,4CAAmB,CAAC;IAC/B,IAAA,0BAAM,GAAE;8BACC,KAAK;8CAAsB;AAMrC;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,0CAAkB,CAAC;IAC9B,IAAA,0BAAM,GAAE;8BACC,KAAK;6CAAqB;AAIpC;IAFC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,2CAAkB,CAAC;IAC9B,IAAA,0BAAM,GAAE;8BACA,2CAAkB;4CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare class PlayerCheckStateDto {
2
- playerId?: string;
2
+ playerId: string;
3
3
  redirectUrl: string;
4
- static fromEntities(redirectUrl: string, playerId?: string): PlayerCheckStateDto;
4
+ static fromEntities(redirectUrl: string, playerId: string): PlayerCheckStateDto;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"player-check-state.dto.js","sourceRoot":"","sources":["../../../src/dto/common/player-check-state.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAA2C;AAC3C,qDAA2C;AAE3C,MAAa,mBAAmB;IAQ5B,QAAQ,CAAU;IASlB,WAAW,CAAS;IAEpB,MAAM,CAAC,YAAY,CAAC,WAAmB,EAAE,QAAiB;QACtD,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAzBD,kDAyBC;AAjBG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;qDACO;AASlB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;wDACS"}
1
+ {"version":3,"file":"player-check-state.dto.js","sourceRoot":"","sources":["../../../src/dto/common/player-check-state.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAA2C;AAC3C,qDAA2C;AAE3C,MAAa,mBAAmB;IAQ5B,QAAQ,CAAS;IASjB,WAAW,CAAS;IAEpB,MAAM,CAAC,YAAY,CAAC,WAAmB,EAAE,QAAgB;QACrD,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvB,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAzBD,kDAyBC;AAjBG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;qDACM;AASjB;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;wDACS"}
@@ -0,0 +1,15 @@
1
+ import { ActivityLogRepository, UsersRepository, AchievementRepository, Achievement } from 'jp.db.schemas';
2
+ import { BaseAppEvent } from 'jp.ms.common.engine';
3
+ import { EventsBusAppSubscribeService } from '../event-bus/events-bus.app.subscribe.service';
4
+ import { PlayersManagerService } from '../players-manager';
5
+ export declare abstract class BaseAchievementsModule {
6
+ protected readonly eventsBusAppSubscribeService: EventsBusAppSubscribeService;
7
+ protected readonly playersManager: PlayersManagerService;
8
+ protected readonly usersRepository: UsersRepository;
9
+ protected readonly activityLogRepository: ActivityLogRepository;
10
+ protected readonly achievementRepository: AchievementRepository;
11
+ constructor(eventsBusAppSubscribeService: EventsBusAppSubscribeService, playersManager: PlayersManagerService, usersRepository: UsersRepository, activityLogRepository: ActivityLogRepository, achievementRepository: AchievementRepository);
12
+ onModuleInit(): Promise<void>;
13
+ protected onHandleAppEvent(event: BaseAppEvent): Promise<void>;
14
+ protected giveAchievement(allAchievements: Array<Achievement>, achievementCode: string, userId: string): Promise<void>;
15
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BaseAchievementsModule = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const mongoose_1 = require("@nestjs/mongoose");
15
+ const jp_db_schemas_1 = require("jp.db.schemas");
16
+ const jp_ms_common_engine_1 = require("jp.ms.common.engine");
17
+ const jp_common_models_1 = require("jp.common.models");
18
+ const events_bus_app_subscribe_service_1 = require("../event-bus/events-bus.app.subscribe.service");
19
+ const players_manager_1 = require("../players-manager");
20
+ let BaseAchievementsModule = class BaseAchievementsModule {
21
+ eventsBusAppSubscribeService;
22
+ playersManager;
23
+ usersRepository;
24
+ activityLogRepository;
25
+ achievementRepository;
26
+ constructor(eventsBusAppSubscribeService, playersManager, usersRepository, activityLogRepository, achievementRepository) {
27
+ this.eventsBusAppSubscribeService = eventsBusAppSubscribeService;
28
+ this.playersManager = playersManager;
29
+ this.usersRepository = usersRepository;
30
+ this.activityLogRepository = activityLogRepository;
31
+ this.achievementRepository = achievementRepository;
32
+ }
33
+ async onModuleInit() {
34
+ this.eventsBusAppSubscribeService.subscribe(this.onHandleAppEvent);
35
+ }
36
+ async onHandleAppEvent(event) {
37
+ if (event instanceof jp_ms_common_engine_1.BaseUserAppEvent) {
38
+ const userId = event.userId;
39
+ const player = this.playersManager.getPlayerById(userId);
40
+ const foundUser = await this.usersRepository.findById(userId);
41
+ const allAchievements = await this.achievementRepository.findAchievements();
42
+ if (!player || !foundUser) {
43
+ throw new common_1.InternalServerErrorException();
44
+ }
45
+ if (event instanceof jp_ms_common_engine_1.UserGotNewLevelAppEvent) {
46
+ player.sendMessage(new jp_ms_common_engine_1.SnackbarSendToPlayerWsEvent(jp_common_models_1.AppScreenIconEnum.ARROW_UPWARD, 'level up', 'buttonText'));
47
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.GotLevel3Achievement.code)) {
48
+ if (new jp_ms_common_engine_1.GotLevel3Achievement(event.newLevel).userGotAchievement()) {
49
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.GotLevel3Achievement.code, userId);
50
+ }
51
+ }
52
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.GotLevel10Achievement.code)) {
53
+ if (new jp_ms_common_engine_1.GotLevel10Achievement(event.newLevel).userGotAchievement()) {
54
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.GotLevel10Achievement.code, userId);
55
+ }
56
+ }
57
+ }
58
+ else if (event instanceof jp_ms_common_engine_1.UserPlayedTheGameAppEvent) {
59
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.Playd10GamesAchievement.code)) {
60
+ const playdGamesCount = await this.activityLogRepository.getUserPlayedGamesCount(userId);
61
+ if (new jp_ms_common_engine_1.Playd10GamesAchievement(playdGamesCount).userGotAchievement()) {
62
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.Playd10GamesAchievement.code, userId);
63
+ }
64
+ }
65
+ }
66
+ else if (event instanceof jp_ms_common_engine_1.UserWonTheGameAppEvent) {
67
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.Won3GamesAchievement.code)) {
68
+ const wonGamesCount = await this.activityLogRepository.getUserWonGamesCount(userId);
69
+ if (new jp_ms_common_engine_1.Won3GamesAchievement(wonGamesCount).userGotAchievement()) {
70
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.Won3GamesAchievement.code, userId);
71
+ }
72
+ }
73
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.Won3ProfiAchievement.code)) {
74
+ const wonProfiCount = await this.activityLogRepository.getUserWonProfiCount(userId);
75
+ if (new jp_ms_common_engine_1.Won3ProfiAchievement(wonProfiCount).userGotAchievement()) {
76
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.Won3ProfiAchievement.code, userId);
77
+ }
78
+ }
79
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.EarnOneMillionAchievement.code)) {
80
+ if (new jp_ms_common_engine_1.EarnOneMillionAchievement(foundUser.balance).userGotAchievement()) {
81
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.EarnOneMillionAchievement.code, userId);
82
+ }
83
+ }
84
+ }
85
+ else if (event instanceof jp_ms_common_engine_1.UserWonOneTableTournamentAppEvent) {
86
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.WonOneTableTournament3TimesAchievement.code)) {
87
+ const wonFastTournamentCount = await this.activityLogRepository.getUserWonOneTableTournamentCount(userId);
88
+ if (new jp_ms_common_engine_1.WonOneTableTournament3TimesAchievement(wonFastTournamentCount).userGotAchievement()) {
89
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.WonOneTableTournament3TimesAchievement.code, userId);
90
+ }
91
+ }
92
+ }
93
+ else if (event instanceof jp_ms_common_engine_1.UserWonManyTablesTournamentAppEvent) {
94
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.Take1PlaceOnManyTablesTournamentAchievement.code)) {
95
+ if (new jp_ms_common_engine_1.Take1PlaceOnManyTablesTournamentAchievement(event.rank)) {
96
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.Take1PlaceOnManyTablesTournamentAchievement.code, userId);
97
+ }
98
+ }
99
+ if (foundUser.hasNoAchievement(jp_ms_common_engine_1.Take2Or3PlaceOnManyTablesTournamentAchievement.code)) {
100
+ if (new jp_ms_common_engine_1.Take2Or3PlaceOnManyTablesTournamentAchievement(event.rank)) {
101
+ this.giveAchievement(allAchievements, jp_ms_common_engine_1.Take2Or3PlaceOnManyTablesTournamentAchievement.code, userId);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ async giveAchievement(allAchievements, achievementCode, userId) {
108
+ const foundAchievement = allAchievements.find((item) => item.code === achievementCode);
109
+ const player = this.playersManager.getPlayerById(userId);
110
+ if (foundAchievement && player) {
111
+ await this.usersRepository.addAchievement(userId, achievementCode);
112
+ player.sendMessage(new jp_ms_common_engine_1.SnackbarSendToPlayerWsEvent(jp_common_models_1.AppScreenIconEnum.EMOJI_EVENTS, foundAchievement.title, foundAchievement.description));
113
+ }
114
+ }
115
+ };
116
+ exports.BaseAchievementsModule = BaseAchievementsModule;
117
+ exports.BaseAchievementsModule = BaseAchievementsModule = __decorate([
118
+ (0, common_1.Global)(),
119
+ (0, common_1.Module)({
120
+ imports: [
121
+ mongoose_1.MongooseModule.forFeature([{ name: jp_db_schemas_1.User.name, schema: jp_db_schemas_1.UserSchema }]),
122
+ mongoose_1.MongooseModule.forFeature([{ name: jp_db_schemas_1.ActivityLog.name, schema: jp_db_schemas_1.ActivityLogSchema }]),
123
+ mongoose_1.MongooseModule.forFeature([{ name: jp_db_schemas_1.Achievement.name, schema: jp_db_schemas_1.AchievementSchema }]),
124
+ ],
125
+ providers: [
126
+ jp_db_schemas_1.UsersRepository,
127
+ jp_db_schemas_1.ActivityLogRepository,
128
+ jp_db_schemas_1.AchievementRepository,
129
+ events_bus_app_subscribe_service_1.EventsBusAppSubscribeService,
130
+ ],
131
+ }),
132
+ __metadata("design:paramtypes", [events_bus_app_subscribe_service_1.EventsBusAppSubscribeService,
133
+ players_manager_1.PlayersManagerService,
134
+ jp_db_schemas_1.UsersRepository,
135
+ jp_db_schemas_1.ActivityLogRepository,
136
+ jp_db_schemas_1.AchievementRepository])
137
+ ], BaseAchievementsModule);
138
+ //# sourceMappingURL=base-achievements.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-achievements.module.js","sourceRoot":"","sources":["../../../src/modules/base-achievements/base-achievements.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { BaseAchievementsModule } from './base-achievements.module';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseAchievementsModule = void 0;
4
+ var base_achievements_module_1 = require("./base-achievements.module");
5
+ Object.defineProperty(exports, "BaseAchievementsModule", { enumerable: true, get: function () { return base_achievements_module_1.BaseAchievementsModule; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/base-achievements/index.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA"}
@@ -0,0 +1,7 @@
1
+ import { BaseAppEvent } from 'jp.ms.common.engine';
2
+ export declare class EventsBusAppSubscribeService {
3
+ private readonly appEventSubject;
4
+ constructor();
5
+ pushNewEvent(event: BaseAppEvent): void;
6
+ subscribe(onHandleAppEvent: (event: BaseAppEvent) => void): void;
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EventsBusAppSubscribeService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const rxjs_1 = require("rxjs");
15
+ let EventsBusAppSubscribeService = class EventsBusAppSubscribeService {
16
+ appEventSubject;
17
+ constructor() {
18
+ this.appEventSubject = new rxjs_1.Subject();
19
+ }
20
+ pushNewEvent(event) {
21
+ this.appEventSubject.next(event);
22
+ }
23
+ subscribe(onHandleAppEvent) {
24
+ this.appEventSubject.subscribe(onHandleAppEvent);
25
+ }
26
+ };
27
+ exports.EventsBusAppSubscribeService = EventsBusAppSubscribeService;
28
+ exports.EventsBusAppSubscribeService = EventsBusAppSubscribeService = __decorate([
29
+ (0, common_1.Injectable)(),
30
+ __metadata("design:paramtypes", [])
31
+ ], EventsBusAppSubscribeService);
32
+ //# sourceMappingURL=events-bus.app.subscribe.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events-bus.app.subscribe.service.js","sourceRoot":"","sources":["../../../src/modules/event-bus/events-bus.app.subscribe.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,+BAA+B;AAIxB,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACpB,eAAe,CAAwB;IAExD;QACI,IAAI,CAAC,eAAe,GAAG,IAAI,cAAO,EAAgB,CAAC;IACvD,CAAC;IAED,YAAY,CAAC,KAAmB;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,gBAA+C;QACrD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;CACJ,CAAA;AAdY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;;GACA,4BAA4B,CAcxC"}
@@ -0,0 +1,11 @@
1
+ import { GamePlayer, RoomUpdateStateEvent } from "jp.ms.common.engine";
2
+ export declare class EventsBusMainTablesSubscribeService {
3
+ private readonly roomStatesSubject;
4
+ private readonly tablesSubscribers;
5
+ constructor();
6
+ getTablesSubscribers(): GamePlayer[];
7
+ addTablesSubscriber(player: GamePlayer): void;
8
+ removeTablesSubbcriber(player: GamePlayer): void;
9
+ pushNewRoomState(event: RoomUpdateStateEvent): void;
10
+ subscribe(onHandleStatusRoomChange: () => void): void;
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EventsBusMainTablesSubscribeService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const rxjs_1 = require("rxjs");
15
+ let EventsBusMainTablesSubscribeService = class EventsBusMainTablesSubscribeService {
16
+ roomStatesSubject;
17
+ tablesSubscribers;
18
+ constructor() {
19
+ this.roomStatesSubject = new rxjs_1.Subject();
20
+ this.tablesSubscribers = new Map();
21
+ }
22
+ getTablesSubscribers() {
23
+ return Array.from(this.tablesSubscribers.values());
24
+ }
25
+ addTablesSubscriber(player) {
26
+ this.tablesSubscribers.set(player.id, player);
27
+ }
28
+ removeTablesSubbcriber(player) {
29
+ this.tablesSubscribers.delete(player.id);
30
+ }
31
+ pushNewRoomState(event) {
32
+ this.roomStatesSubject.next(event);
33
+ }
34
+ subscribe(onHandleStatusRoomChange) {
35
+ this.roomStatesSubject.subscribe(onHandleStatusRoomChange);
36
+ }
37
+ };
38
+ exports.EventsBusMainTablesSubscribeService = EventsBusMainTablesSubscribeService;
39
+ exports.EventsBusMainTablesSubscribeService = EventsBusMainTablesSubscribeService = __decorate([
40
+ (0, common_1.Injectable)(),
41
+ __metadata("design:paramtypes", [])
42
+ ], EventsBusMainTablesSubscribeService);
43
+ //# sourceMappingURL=events-bus.main-tables.subscribe.service.js.map