jp.db.schemas 2.2.0 → 2.2.1

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 (75) hide show
  1. package/dist/index.d.ts +8 -6
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/models/account-type.enum.d.ts +9 -0
  6. package/dist/models/account-type.enum.d.ts.map +1 -0
  7. package/dist/models/account-type.enum.js +13 -0
  8. package/dist/models/account-type.enum.js.map +1 -0
  9. package/dist/models/users-balance-reason.enum.d.ts +9 -0
  10. package/dist/models/users-balance-reason.enum.d.ts.map +1 -0
  11. package/dist/models/users-balance-reason.enum.js +13 -0
  12. package/dist/models/users-balance-reason.enum.js.map +1 -0
  13. package/dist/repositories/index.d.ts +3 -2
  14. package/dist/repositories/index.d.ts.map +1 -1
  15. package/dist/repositories/index.js +5 -3
  16. package/dist/repositories/index.js.map +1 -1
  17. package/dist/repositories/settings-options.repository.d.ts +1 -1
  18. package/dist/repositories/settings-options.repository.d.ts.map +1 -1
  19. package/dist/repositories/settings-options.repository.js +2 -5
  20. package/dist/repositories/settings-options.repository.js.map +1 -1
  21. package/dist/repositories/users-achievements.repository.d.ts +10 -0
  22. package/dist/repositories/users-achievements.repository.d.ts.map +1 -0
  23. package/dist/repositories/users-achievements.repository.js +52 -0
  24. package/dist/repositories/users-achievements.repository.js.map +1 -0
  25. package/dist/repositories/users-balances.repository.d.ts +11 -0
  26. package/dist/repositories/users-balances.repository.d.ts.map +1 -0
  27. package/dist/repositories/users-balances.repository.js +44 -0
  28. package/dist/repositories/users-balances.repository.js.map +1 -0
  29. package/dist/schemas/setting.schema.d.ts +30 -0
  30. package/dist/schemas/setting.schema.d.ts.map +1 -1
  31. package/dist/schemas/setting.schema.js +12 -0
  32. package/dist/schemas/setting.schema.js.map +1 -1
  33. package/dist/schemas/settings_option.schema.d.ts +20 -0
  34. package/dist/schemas/settings_option.schema.d.ts.map +1 -1
  35. package/dist/schemas/settings_option.schema.js +8 -0
  36. package/dist/schemas/settings_option.schema.js.map +1 -1
  37. package/dist/schemas/user.schema.d.ts +40 -63
  38. package/dist/schemas/user.schema.d.ts.map +1 -1
  39. package/dist/schemas/user.schema.js +72 -21
  40. package/dist/schemas/user.schema.js.map +1 -1
  41. package/dist/schemas/users_achievement.schema.d.ts +115 -0
  42. package/dist/schemas/users_achievement.schema.d.ts.map +1 -0
  43. package/dist/schemas/users_achievement.schema.js +61 -0
  44. package/dist/schemas/users_achievement.schema.js.map +1 -0
  45. package/dist/schemas/users_balance.schema.d.ts +95 -0
  46. package/dist/schemas/users_balance.schema.d.ts.map +1 -0
  47. package/dist/schemas/{balance_history.schema.js → users_balance.schema.js} +18 -22
  48. package/dist/schemas/users_balance.schema.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/index.ts +14 -7
  51. package/src/models/account-type.enum.ts +8 -0
  52. package/src/models/users-balance-reason.enum.ts +8 -0
  53. package/src/repositories/index.ts +4 -2
  54. package/src/repositories/settings-options.repository.ts +2 -4
  55. package/src/repositories/users-achievements.repository.ts +43 -0
  56. package/src/repositories/users-balances.repository.ts +28 -0
  57. package/src/schemas/setting.schema.ts +9 -0
  58. package/src/schemas/settings_option.schema.ts +6 -0
  59. package/src/schemas/user.schema.ts +58 -89
  60. package/src/schemas/users_achievement.schema.ts +40 -0
  61. package/src/schemas/users_balance.schema.ts +34 -0
  62. package/dist/models/activity-log-user-login.interface copy.d.ts +0 -11
  63. package/dist/models/activity-log-user-login.interface copy.d.ts.map +0 -1
  64. package/dist/models/activity-log-user-login.interface copy.js +0 -3
  65. package/dist/models/activity-log-user-login.interface copy.js.map +0 -1
  66. package/dist/repositories/balance-history.repository.d.ts +0 -8
  67. package/dist/repositories/balance-history.repository.d.ts.map +0 -1
  68. package/dist/repositories/balance-history.repository.js +0 -34
  69. package/dist/repositories/balance-history.repository.js.map +0 -1
  70. package/dist/schemas/balance_history.schema.d.ts +0 -105
  71. package/dist/schemas/balance_history.schema.d.ts.map +0 -1
  72. package/dist/schemas/balance_history.schema.js.map +0 -1
  73. package/src/models/activity-log-user-login.interface copy.ts +0 -10
  74. package/src/repositories/balance-history.repository.ts +0 -15
  75. package/src/schemas/balance_history.schema.ts +0 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users_achievement.schema.js","sourceRoot":"","sources":["../../src/schemas/users_achievement.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwE;AAMjE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CA+B5B,CAAA;AA/BY,4CAAgB;AAMhB;IALR,IAAA,kBAAO,EAAC;QACL,GAAG,EAAE;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;KACJ,CAAC;;4DACkC;AAGpC;IADC,IAAA,eAAI,EAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;8BACxB,IAAI;8CAAC;AAGX;IADC,IAAA,eAAI,GAAE;;gDACQ;AAGf;IADC,IAAA,eAAI,GAAE;;kDACU;AAGjB;IADC,IAAA,eAAI,GAAE;;uDACe;AAGtB;IADC,IAAA,eAAI,GAAE;;0DACkB;AAGzB;IADC,IAAA,eAAI,GAAE;;yDACiB;AAGxB;IADC,IAAA,eAAI,GAAE;;0DACkB;AAGzB;IADC,IAAA,eAAI,GAAE;;8CACM;2BA9BJ,gBAAgB;IAD5B,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;GAChC,gBAAgB,CA+B5B;AAEY,QAAA,sBAAsB,GAAG,wBAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { Document, HydratedDocument } from 'mongoose';
2
+ export type UsersBalanceDocument = HydratedDocument<UsersBalance>;
3
+ export declare class UsersBalance {
4
+ readonly usersBalanceId: string;
5
+ date: Date;
6
+ userId: string;
7
+ userName: string;
8
+ amount: number;
9
+ reason: string;
10
+ game: string;
11
+ }
12
+ export declare const UsersBalanceSchema: import("mongoose").Schema<UsersBalance, import("mongoose").Model<UsersBalance, any, any, any, (Document<unknown, any, UsersBalance, any, import("mongoose").DefaultSchemaOptions> & UsersBalance & {
13
+ _id: import("mongoose").Types.ObjectId;
14
+ } & {
15
+ __v: number;
16
+ } & {
17
+ id: string;
18
+ }) | (Document<unknown, any, UsersBalance, any, import("mongoose").DefaultSchemaOptions> & UsersBalance & {
19
+ _id: import("mongoose").Types.ObjectId;
20
+ } & {
21
+ __v: number;
22
+ }), any, UsersBalance>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, UsersBalance, Document<unknown, {}, UsersBalance, {
23
+ id: string;
24
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
25
+ _id: import("mongoose").Types.ObjectId;
26
+ } & {
27
+ __v: number;
28
+ }, "id"> & {
29
+ id: string;
30
+ }, {
31
+ readonly usersBalanceId?: import("mongoose").SchemaDefinitionProperty<string, UsersBalance, Document<unknown, {}, UsersBalance, {
32
+ id: string;
33
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
34
+ _id: import("mongoose").Types.ObjectId;
35
+ } & {
36
+ __v: number;
37
+ }, "id"> & {
38
+ id: string;
39
+ }>;
40
+ date?: import("mongoose").SchemaDefinitionProperty<Date, UsersBalance, Document<unknown, {}, UsersBalance, {
41
+ id: string;
42
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
43
+ _id: import("mongoose").Types.ObjectId;
44
+ } & {
45
+ __v: number;
46
+ }, "id"> & {
47
+ id: string;
48
+ }>;
49
+ userId?: import("mongoose").SchemaDefinitionProperty<string, UsersBalance, Document<unknown, {}, UsersBalance, {
50
+ id: string;
51
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
52
+ _id: import("mongoose").Types.ObjectId;
53
+ } & {
54
+ __v: number;
55
+ }, "id"> & {
56
+ id: string;
57
+ }>;
58
+ userName?: import("mongoose").SchemaDefinitionProperty<string, UsersBalance, Document<unknown, {}, UsersBalance, {
59
+ id: string;
60
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
61
+ _id: import("mongoose").Types.ObjectId;
62
+ } & {
63
+ __v: number;
64
+ }, "id"> & {
65
+ id: string;
66
+ }>;
67
+ amount?: import("mongoose").SchemaDefinitionProperty<number, UsersBalance, Document<unknown, {}, UsersBalance, {
68
+ id: string;
69
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
70
+ _id: import("mongoose").Types.ObjectId;
71
+ } & {
72
+ __v: number;
73
+ }, "id"> & {
74
+ id: string;
75
+ }>;
76
+ reason?: import("mongoose").SchemaDefinitionProperty<string, UsersBalance, Document<unknown, {}, UsersBalance, {
77
+ id: string;
78
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
79
+ _id: import("mongoose").Types.ObjectId;
80
+ } & {
81
+ __v: number;
82
+ }, "id"> & {
83
+ id: string;
84
+ }>;
85
+ game?: import("mongoose").SchemaDefinitionProperty<string, UsersBalance, Document<unknown, {}, UsersBalance, {
86
+ id: string;
87
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<UsersBalance & {
88
+ _id: import("mongoose").Types.ObjectId;
89
+ } & {
90
+ __v: number;
91
+ }, "id"> & {
92
+ id: string;
93
+ }>;
94
+ }, UsersBalance>;
95
+ //# sourceMappingURL=users_balance.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users_balance.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/users_balance.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAElE,qBACa,YAAY;IAMrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAGhC,IAAI,EAAE,IAAI,CAAC;IAGX,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA6C,CAAC"}
@@ -9,11 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BalanceHistorySchema = exports.BalanceHistory = void 0;
12
+ exports.UsersBalanceSchema = exports.UsersBalance = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
- let BalanceHistory = class BalanceHistory {
14
+ let UsersBalance = class UsersBalance {
15
15
  };
16
- exports.BalanceHistory = BalanceHistory;
16
+ exports.UsersBalance = UsersBalance;
17
17
  __decorate([
18
18
  (0, mongoose_1.Virtual)({
19
19
  get: function () {
@@ -21,37 +21,33 @@ __decorate([
21
21
  },
22
22
  }),
23
23
  __metadata("design:type", String)
24
- ], BalanceHistory.prototype, "balanceHistoryId", void 0);
24
+ ], UsersBalance.prototype, "usersBalanceId", void 0);
25
25
  __decorate([
26
- (0, mongoose_1.Prop)(),
26
+ (0, mongoose_1.Prop)({ default: new Date() }),
27
27
  __metadata("design:type", Date)
28
- ], BalanceHistory.prototype, "date", void 0);
28
+ ], UsersBalance.prototype, "date", void 0);
29
29
  __decorate([
30
30
  (0, mongoose_1.Prop)(),
31
31
  __metadata("design:type", String)
32
- ], BalanceHistory.prototype, "gameType", void 0);
32
+ ], UsersBalance.prototype, "userId", void 0);
33
33
  __decorate([
34
34
  (0, mongoose_1.Prop)(),
35
35
  __metadata("design:type", String)
36
- ], BalanceHistory.prototype, "roomId", void 0);
36
+ ], UsersBalance.prototype, "userName", void 0);
37
37
  __decorate([
38
38
  (0, mongoose_1.Prop)(),
39
- __metadata("design:type", String)
40
- ], BalanceHistory.prototype, "gameId", void 0);
39
+ __metadata("design:type", Number)
40
+ ], UsersBalance.prototype, "amount", void 0);
41
41
  __decorate([
42
42
  (0, mongoose_1.Prop)(),
43
43
  __metadata("design:type", String)
44
- ], BalanceHistory.prototype, "reason", void 0);
45
- __decorate([
46
- (0, mongoose_1.Prop)(),
47
- __metadata("design:type", Number)
48
- ], BalanceHistory.prototype, "balance", void 0);
44
+ ], UsersBalance.prototype, "reason", void 0);
49
45
  __decorate([
50
46
  (0, mongoose_1.Prop)(),
51
- __metadata("design:type", Number)
52
- ], BalanceHistory.prototype, "balanceAdding", void 0);
53
- exports.BalanceHistory = BalanceHistory = __decorate([
54
- (0, mongoose_1.Schema)({ collection: 'balance_history' })
55
- ], BalanceHistory);
56
- exports.BalanceHistorySchema = mongoose_1.SchemaFactory.createForClass(BalanceHistory);
57
- //# sourceMappingURL=balance_history.schema.js.map
47
+ __metadata("design:type", String)
48
+ ], UsersBalance.prototype, "game", void 0);
49
+ exports.UsersBalance = UsersBalance = __decorate([
50
+ (0, mongoose_1.Schema)({ collection: 'users_balances' })
51
+ ], UsersBalance);
52
+ exports.UsersBalanceSchema = mongoose_1.SchemaFactory.createForClass(UsersBalance);
53
+ //# sourceMappingURL=users_balance.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users_balance.schema.js","sourceRoot":"","sources":["../../src/schemas/users_balance.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwE;AAMjE,IAAM,YAAY,GAAlB,MAAM,YAAY;CAyBxB,CAAA;AAzBY,oCAAY;AAMZ;IALR,IAAA,kBAAO,EAAC;QACL,GAAG,EAAE;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;KACJ,CAAC;;oDAC8B;AAGhC;IADC,IAAA,eAAI,EAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;8BACxB,IAAI;0CAAC;AAGX;IADC,IAAA,eAAI,GAAE;;4CACQ;AAGf;IADC,IAAA,eAAI,GAAE;;8CACU;AAGjB;IADC,IAAA,eAAI,GAAE;;4CACQ;AAGf;IADC,IAAA,eAAI,GAAE;;4CACQ;AAGf;IADC,IAAA,eAAI,GAAE;;0CACM;uBAxBJ,YAAY;IADxB,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;GAC5B,YAAY,CAyBxB;AAEY,QAAA,kBAAkB,GAAG,wBAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jp.db.schemas",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -53,8 +53,6 @@ import { Menu, MenuSchema } from './schemas/menu.schema';
53
53
  import type { MenuDocument } from './schemas/menu.schema';
54
54
  import { GameResult, GameResultSchema } from './schemas/game_result.schema';
55
55
  import type { GameResultDocument } from './schemas/game_result.schema';
56
- import { BalanceHistory, BalanceHistorySchema } from './schemas/balance_history.schema';
57
- import type { BalanceHistoryDocument } from './schemas/balance_history.schema';
58
56
  import { SimpleRoom, SimpleRoomSchema } from './schemas/simple_rooms.schema';
59
57
  import type { SimpleRoomDocument } from './schemas/simple_rooms.schema';
60
58
  import { TournamentOneTableRoom, TournamentOneTableRoomSchema, } from './schemas/tournament_one_table_rooms.schema';
@@ -74,6 +72,10 @@ import type { ActivityLogDocument } from './schemas/activity_log.schema';
74
72
  import type { IActivityLogUserLogin } from './models/activity-log-user-login.interface';
75
73
  import { SettingsOption, SettingsOptionSchema } from './schemas/settings_option.schema';
76
74
  import type { SettingsOptionDocument } from './schemas/settings_option.schema';
75
+ import { UsersAchievement, UsersAchievementSchema } from './schemas/users_achievement.schema';
76
+ import type { UsersAchievementDocument } from './schemas/users_achievement.schema';
77
+ import { UsersBalance, UsersBalanceSchema } from './schemas/users_balance.schema';
78
+ import type { UsersBalanceDocument } from './schemas/users_balance.schema';
77
79
 
78
80
  import {
79
81
  AdminRepository,
@@ -96,7 +98,6 @@ import {
96
98
  SettingRepository,
97
99
  RoomsRepository,
98
100
  GameResultRepository,
99
- BalanceHistoryRepository,
100
101
  SimpleRoomsRepository,
101
102
  TournamentOneTableRoomsRepository,
102
103
  TournamentManyTablesRoomsRepository,
@@ -104,6 +105,8 @@ import {
104
105
  AchievementRepository,
105
106
  PurchaseRepository,
106
107
  SettingsOptionsRepository,
108
+ UsersAchievementsRepository,
109
+ UsersBalancesRepository,
107
110
  } from './repositories'
108
111
 
109
112
  export type {
@@ -138,12 +141,13 @@ export type {
138
141
  FriendDocument,
139
142
  DailyBonusDocument,
140
143
  GameResultDocument,
141
- BalanceHistoryDocument,
142
144
  SimpleRoomDocument,
143
145
  TournamentOneTableRoomDocument,
144
146
  TournamentManyTablesRoomDocument,
145
147
  ActivityLogDocument,
146
148
  SettingsOptionDocument,
149
+ UsersAchievementDocument,
150
+ UsersBalanceDocument,
147
151
  }
148
152
 
149
153
  export {
@@ -210,8 +214,6 @@ export {
210
214
  FriendSchema,
211
215
  GameResult,
212
216
  GameResultSchema,
213
- BalanceHistory,
214
- BalanceHistorySchema,
215
217
  SimpleRoom,
216
218
  SimpleRoomSchema,
217
219
  TournamentOneTableRoom,
@@ -223,6 +225,10 @@ export {
223
225
  IActivityLogUserLogin,
224
226
  SettingsOption,
225
227
  SettingsOptionSchema,
228
+ UsersAchievement,
229
+ UsersAchievementSchema,
230
+ UsersBalance,
231
+ UsersBalanceSchema,
226
232
  }
227
233
 
228
234
  export {
@@ -246,7 +252,6 @@ export {
246
252
  SettingRepository,
247
253
  RoomsRepository,
248
254
  GameResultRepository,
249
- BalanceHistoryRepository,
250
255
  SimpleRoomsRepository,
251
256
  TournamentOneTableRoomsRepository,
252
257
  TournamentManyTablesRoomsRepository,
@@ -254,4 +259,6 @@ export {
254
259
  AchievementRepository,
255
260
  PurchaseRepository,
256
261
  SettingsOptionsRepository,
262
+ UsersBalancesRepository,
263
+ UsersAchievementsRepository,
257
264
  }
@@ -0,0 +1,8 @@
1
+ export enum AccountTypeEnum {
2
+ VK = 'VK',
3
+ OK = 'OK',
4
+ YA = 'YA',
5
+ FB = 'FB',
6
+ GOOGLE = 'GOOGLE',
7
+ GUEST = 'GUEST',
8
+ }
@@ -0,0 +1,8 @@
1
+ export enum UsersBalanceReasonEnum {
2
+ REGISTER = 'REGISTER',
3
+ DAILY_BONUS = 'DAILY_BONUS',
4
+ SHOP_PURCHASE = 'SHOP_PURCHASE',
5
+ SIMPLE_ROOM_RESULT = 'SIMPLE_ROOM_RESULT',
6
+ ONE_TABLE_TOURNAMENT_RESULT = 'ONE_TABLE_TOURNAMENT_RESULT',
7
+ MANY_TABLES_TOURNAMENT_RESULT = 'MANY_TABLES_TOURNAMENT_RESULT',
8
+ }
@@ -18,7 +18,6 @@ import { WelcomeRepository } from './welcome.repository';
18
18
  import { DailyBonusRepository } from './daily-bonus.repository';
19
19
  import { RoomsRepository } from './rooms.repository';
20
20
  import { GameResultRepository } from './game-result.repository';
21
- import { BalanceHistoryRepository } from './balance-history.repository';
22
21
  import { SimpleRoomsRepository } from './simple-rooms.repository';
23
22
  import { TournamentOneTableRoomsRepository } from './tournament-one-table-rooms.repository';
24
23
  import { TournamentManyTablesRoomsRepository } from './tournament-many-tables-rooms.repository';
@@ -26,6 +25,8 @@ import { ActivityLogRepository } from './activity-log.repository';
26
25
  import { AchievementRepository } from './achievement.repository';
27
26
  import { PurchaseRepository } from './purchase.repository';
28
27
  import { SettingsOptionsRepository } from './settings-options.repository';
28
+ import { UsersBalancesRepository } from './users-balances.repository';
29
+ import { UsersAchievementsRepository } from './users-achievements.repository';
29
30
 
30
31
  export {
31
32
  AdminRepository,
@@ -48,7 +49,6 @@ export {
48
49
  DailyBonusRepository,
49
50
  RoomsRepository,
50
51
  GameResultRepository,
51
- BalanceHistoryRepository,
52
52
  SimpleRoomsRepository,
53
53
  TournamentOneTableRoomsRepository,
54
54
  TournamentManyTablesRoomsRepository,
@@ -56,4 +56,6 @@ export {
56
56
  AchievementRepository,
57
57
  PurchaseRepository,
58
58
  SettingsOptionsRepository,
59
+ UsersBalancesRepository,
60
+ UsersAchievementsRepository
59
61
  }
@@ -10,11 +10,9 @@ export class SettingsOptionsRepository {
10
10
  constructor (@InjectModel(SettingsOption.name) private settingOptionsModel: Model<SettingsOptionDocument>) {
11
11
  }
12
12
 
13
- async findSettingsOptions (channel: string, game: string): Promise<Array<SettingsOption> | null> {
13
+ async findSettingsOptions (): Promise<Array<SettingsOption> | null> {
14
14
  return this.settingOptionsModel
15
- .find({
16
- channels: getChannelRegExpFilter(channel),
17
- })
15
+ .find()
18
16
  .exec();
19
17
  }
20
18
  }
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectModel } from '@nestjs/mongoose';
3
+ import { Model } from 'mongoose';
4
+
5
+ import { UsersAchievement, UsersAchievementDocument } from '..';
6
+
7
+ @Injectable()
8
+ export class UsersAchievementsRepository {
9
+ constructor(@InjectModel(UsersAchievement.name) private usersAchievementModel: Model<UsersAchievementDocument>) {
10
+ }
11
+
12
+ async findAchivementsByUserId (userId: string): Promise<Array<UsersAchievement>> {
13
+ return this.usersAchievementModel
14
+ .find({ userId })
15
+ .exec();
16
+ }
17
+
18
+ async findAchivementsByUserIdAndAchievementCode (userId: string, achievementCode: string): Promise<Array<UsersAchievement>> {
19
+ return this.usersAchievementModel
20
+ .find({ userId, achievementCode })
21
+ .exec();
22
+ }
23
+
24
+ async addUsersAchievement (
25
+ userId: string,
26
+ userName: string,
27
+ achievementId: string,
28
+ achievementTitle: string,
29
+ achievementCode: string,
30
+ achievementPrize: number,
31
+ game: string,
32
+ ): Promise<UsersAchievement> {
33
+ return this.usersAchievementModel.create({
34
+ userId,
35
+ userName,
36
+ achievementId,
37
+ achievementTitle,
38
+ achievementCode,
39
+ achievementPrize,
40
+ game,
41
+ });
42
+ }
43
+ }
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectModel } from '@nestjs/mongoose';
3
+ import { Model } from 'mongoose';
4
+
5
+ import { UsersBalance, UsersBalanceDocument } from '..';
6
+ import { UsersBalanceReasonEnum } from '../models/users-balance-reason.enum';
7
+
8
+ @Injectable()
9
+ export class UsersBalancesRepository {
10
+ constructor(@InjectModel(UsersBalance.name) private usersBalanceModel: Model<UsersBalanceDocument>) {
11
+ }
12
+
13
+ async addUsersBalanceByRegister (userId: string, userName: string, amount: number, game: string): Promise<UsersBalance> {
14
+ return this.createUsersBalance({ userId, userName, amount, reason: UsersBalanceReasonEnum.REGISTER, game })
15
+ }
16
+
17
+ async addUsersBalanceByDailyBonus (userId: string, userName: string, amount: number, game: string): Promise<UsersBalance> {
18
+ return this.createUsersBalance({ userId, userName, amount, reason: UsersBalanceReasonEnum.DAILY_BONUS, game })
19
+ }
20
+
21
+ async addUsersBalanceByShopPurchase (userId: string, userName: string, amount: number, game: string): Promise<UsersBalance> {
22
+ return this.createUsersBalance({ userId, userName, amount, reason: UsersBalanceReasonEnum.SHOP_PURCHASE, game })
23
+ }
24
+
25
+ async createUsersBalance (usersBalance: Partial<UsersBalance>): Promise<UsersBalance> {
26
+ return this.usersBalanceModel.create(usersBalance);
27
+ }
28
+ }
@@ -15,6 +15,15 @@ export class Setting {
15
15
  @Prop()
16
16
  position: number;
17
17
 
18
+ @Prop()
19
+ code: string;
20
+
21
+ @Prop()
22
+ type: string;
23
+
24
+ @Prop()
25
+ modalType?: string;
26
+
18
27
  @Prop()
19
28
  title: string;
20
29
 
@@ -32,6 +32,12 @@ export class SettingsOption {
32
32
 
33
33
  @Prop()
34
34
  productId?: string;
35
+
36
+ @Prop()
37
+ premium?: boolean;
38
+
39
+ @Prop()
40
+ platformAvatar?: boolean;
35
41
  }
36
42
 
37
43
  export const SettingsOptionSchema = SchemaFactory.createForClass(SettingsOption);
@@ -1,8 +1,10 @@
1
1
  import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
2
  import { Document, HydratedDocument } from 'mongoose';
3
+ import dayjs from 'dayjs';
4
+
5
+ import { AccountTypeEnum } from '../models/account-type.enum';
3
6
 
4
7
  import { VKUser } from './user.vk.schema';
5
- import { Purchase } from './purchase.schema';
6
8
  import { OKUser } from './user.ok.schema';
7
9
  import { YAUser } from './user.ya.schema';
8
10
  import { TGUser } from './user.tg.schema';
@@ -11,53 +13,6 @@ import { FBUser } from './user.fb.schema';
11
13
 
12
14
  export type UserDocument = HydratedDocument<User>;
13
15
 
14
- export type IUserWinnerRating = {
15
- month: string;
16
- rank: number;
17
- profit: number;
18
- }
19
-
20
- export type IUserFriend = {
21
- userIdWhoAdded: string
22
- addedUserId: string;
23
- friendId: string;
24
- confirmed: boolean;
25
- channelId: string;
26
- lastVisitChannel?: Date;
27
- };
28
-
29
- export type ILastLogin = {
30
- lastLoginClientVersion: string;
31
- lastLoginClientChannel: string;
32
- lastLoginClientDevice: string;
33
- lastLoginClientOS: string;
34
- lastLoginClientBrowser: string;
35
- lastLoginClientDeviceWidth: number;
36
- lastLoginClientDeviceHeight: number;
37
- lastLoginClientIsMobile: boolean;
38
- }
39
-
40
- export type IGameStatistics = {
41
- gamesPlayed: number;
42
- gamesWon: number;
43
- gamesTheBestSet: number;
44
- gamesMaxProfit: number;
45
- earnProfitCount: number;
46
- winSharksCount: number;
47
- fastTournamentsWonCount: number;
48
- allInWinCount: number;
49
- watchedAdvRewardCount: number;
50
- textedMessagesCount: number;
51
- sentReactionsCount: number;
52
- setTwoPairCount: number;
53
- setThreeOfAKind: number;
54
- setStraightCount: number;
55
- setFlushCount: number;
56
- setFullHouseCount: number;
57
- setFourOfAKindCount: number;
58
- setStraightFlushCount: number;
59
- }
60
-
61
16
  @Schema()
62
17
  export class User {
63
18
  @Virtual({
@@ -76,6 +31,9 @@ export class User {
76
31
  @Prop({ required: true })
77
32
  avatarUrl: string;
78
33
 
34
+ @Prop({ default: new Date() })
35
+ registerDate: Date;
36
+
79
37
  @Prop({ required: true })
80
38
  premiumExpired: Date;
81
39
 
@@ -87,6 +45,9 @@ export class User {
87
45
  @Prop({ default: '' })
88
46
  avatarAliasUrl: string;
89
47
 
48
+ @Prop({ default: '' })
49
+ avatar: string;
50
+
90
51
  @Prop({ default: 'theme__light' })
91
52
  theme: string;
92
53
 
@@ -111,6 +72,12 @@ export class User {
111
72
  @Prop({ default: 'color_schema__default' })
112
73
  colorSchema: string;
113
74
 
75
+ @Prop({ default: 0 })
76
+ experience: number;
77
+
78
+ @Prop({ default: 1 })
79
+ level: number;
80
+
114
81
  // users
115
82
 
116
83
  @Prop({ type: VKUser })
@@ -131,52 +98,54 @@ export class User {
131
98
  @Prop({ type: TGUser })
132
99
  tgUser?: TGUser;
133
100
 
134
- // other
135
-
136
- @Prop({ default: 0 })
137
- experience: number;
138
-
139
- @Prop({ default: 1 })
140
- level: number;
141
-
142
- // @Prop({ default: 1 })
143
- // everydayEnterCount: number;
144
-
145
- // @Prop({ default: new Date() })
146
- // lastEnter: Date;
147
-
148
- // @Prop({ default: false })
149
- // isBannedInChat: boolean;
150
-
151
- @Prop({ default: new Date() })
152
- registerDate: Date;
153
-
154
- // objects
155
-
156
- // @Prop({ default: {} })
157
- // lastLogin: ILastLogin;
158
- //
159
- // @Prop({ default: {} })
160
- // gameStatistics: IGameStatistics;
161
-
162
- // @Prop({ type: Array<Purchase>, default: [] })
163
- // purchases: Array<Purchase>;
164
-
165
- @Prop({ default: [] })
166
- friends: Array<IUserFriend>;
101
+ // virtuals
167
102
 
103
+ @Virtual({
104
+ get: function (this: User) {
105
+ return dayjs().isAfter(this.premiumExpired);
106
+ },
107
+ })
108
+ readonly hasPremiumAccount: string;
168
109
 
169
- @Prop({ default: [] })
170
- achievements: Array<string>;
110
+ @Virtual({
111
+ get: function (this: User) {
112
+ return this.fullNameAlias || this.fullName;
113
+ },
114
+ })
115
+ readonly publicFullName: string;
171
116
 
117
+ @Virtual({
118
+ get: function (this: User) {
119
+ return this.avatarAliasUrl || this.avatarUrl;
120
+ },
121
+ })
122
+ readonly publicAvatarUrl: string;
172
123
 
173
- hasAchievement(achievementCode: string): boolean {
174
- return this.achievements.some((item) => item === achievementCode);
175
- }
124
+ @Virtual({
125
+ get: function (this: User) {
126
+ if (this.yaUser) {
127
+ return AccountTypeEnum.YA;
128
+ } else if (this.vkUser) {
129
+ return AccountTypeEnum.VK;
130
+ } else if (this.okUser) {
131
+ return AccountTypeEnum.OK;
132
+ } else if (this.fbUser) {
133
+ return AccountTypeEnum.FB;
134
+ } else if (this.googleUser) {
135
+ return AccountTypeEnum.GOOGLE;
136
+ }
137
+
138
+ return AccountTypeEnum.GUEST;
139
+ },
140
+ })
141
+ readonly accountType: string;
176
142
 
177
- hasNoAchievement(achievementCode: string): boolean {
178
- return !this.hasAchievement(achievementCode);
179
- }
143
+ @Virtual({
144
+ get: function (this: User) {
145
+ return this.accountType === AccountTypeEnum.GUEST || !!this.yaUser?.isGuest;
146
+ },
147
+ })
148
+ readonly isGuest: string;
180
149
  }
181
150
 
182
151
  export const UserSchema = SchemaFactory.createForClass(User);
@@ -0,0 +1,40 @@
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type UsersAchievementDocument = HydratedDocument<UsersAchievement>;
5
+
6
+ @Schema({ collection: 'users_achievements' })
7
+ export class UsersAchievement {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly usersAchievementId: string;
14
+
15
+ @Prop({ default: new Date() })
16
+ date: Date;
17
+
18
+ @Prop()
19
+ userId: string;
20
+
21
+ @Prop()
22
+ userName: string;
23
+
24
+ @Prop()
25
+ achievementId: string;
26
+
27
+ @Prop()
28
+ achievementTitle: string;
29
+
30
+ @Prop()
31
+ achievementCode: string;
32
+
33
+ @Prop()
34
+ achievementPrize: number;
35
+
36
+ @Prop()
37
+ game: string;
38
+ }
39
+
40
+ export const UsersAchievementSchema = SchemaFactory.createForClass(UsersAchievement);