jp.db.schemas 2.1.4 → 2.1.6

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.
@@ -1,5 +1,9 @@
1
1
  export declare enum ActivityLogEnum {
2
2
  USER_LOGIN = "USER_LOGIN",
3
- USER_GOT_BONUS = "USER_GOT_BONUS"
3
+ USER_GOT_BONUS = "USER_GOT_BONUS",
4
+ USER_PLAYED_GAME = "USER_PLAYED_GAME",
5
+ USER_WON_GAME = "USER_WON_GAME",
6
+ USER_WON_PROFI = "USER_WON_PROFI",
7
+ USER_WON_ONE_TABLE_TOURNAMENT = "USER_WON_ONE_TABLE_TOURNAMENT"
4
8
  }
5
9
  //# sourceMappingURL=activity-log.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity-log.enum.d.ts","sourceRoot":"","sources":["../../src/models/activity-log.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,UAAU,eAAe;IACzB,cAAc,mBAAmB;CACpC"}
1
+ {"version":3,"file":"activity-log.enum.d.ts","sourceRoot":"","sources":["../../src/models/activity-log.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACvB,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,6BAA6B,kCAAkC;CAClE"}
@@ -5,5 +5,9 @@ var ActivityLogEnum;
5
5
  (function (ActivityLogEnum) {
6
6
  ActivityLogEnum["USER_LOGIN"] = "USER_LOGIN";
7
7
  ActivityLogEnum["USER_GOT_BONUS"] = "USER_GOT_BONUS";
8
+ ActivityLogEnum["USER_PLAYED_GAME"] = "USER_PLAYED_GAME";
9
+ ActivityLogEnum["USER_WON_GAME"] = "USER_WON_GAME";
10
+ ActivityLogEnum["USER_WON_PROFI"] = "USER_WON_PROFI";
11
+ ActivityLogEnum["USER_WON_ONE_TABLE_TOURNAMENT"] = "USER_WON_ONE_TABLE_TOURNAMENT";
8
12
  })(ActivityLogEnum || (exports.ActivityLogEnum = ActivityLogEnum = {}));
9
13
  //# sourceMappingURL=activity-log.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity-log.enum.js","sourceRoot":"","sources":["../../src/models/activity-log.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,4CAAyB,CAAA;IACzB,oDAAiC,CAAA;AACrC,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
1
+ {"version":3,"file":"activity-log.enum.js","sourceRoot":"","sources":["../../src/models/activity-log.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,4CAAyB,CAAA;IACzB,oDAAiC,CAAA;IACjC,wDAAqC,CAAA;IACrC,kDAA+B,CAAA;IAC/B,oDAAiC,CAAA;IACjC,kFAA+D,CAAA;AACnE,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B"}
@@ -5,9 +5,17 @@ export declare class ActivityLogRepository {
5
5
  private activityLogModel;
6
6
  constructor(activityLogModel: Model<ActivityLogDocument>);
7
7
  findLast7DaysLogins(game: string, userId: string): Promise<Array<IActivityLogUserLogin>>;
8
- findTop10Logins(userId: string): Promise<Array<ActivityLog>>;
8
+ userIsNewbie(userId: string): Promise<boolean>;
9
+ getUserPlayedGamesCount(userId: string): Promise<number>;
10
+ getUserWonGamesCount(userId: string): Promise<number>;
11
+ getUserWonProfiCount(userId: string): Promise<number>;
12
+ getUserWonOneTableTournamentCount(userId: string): Promise<number>;
9
13
  addUserLoginEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog>;
10
14
  addUserGotBonuseEvent(userId: string, userName: string, game: string, channel: string, amount: number): Promise<ActivityLog>;
15
+ addUserPlayedGameEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog>;
16
+ addUserWonGameEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog>;
17
+ addUserWonProfieEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog>;
18
+ addUserWonOneTableTournamentEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog>;
11
19
  addActivityLog(activityLog: Partial<ActivityLog>): Promise<ActivityLog>;
12
20
  }
13
21
  //# sourceMappingURL=activity-log.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity-log.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/activity-log.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,qBACa,qBAAqB;IAEK,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAIjF,mBAAmB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IA0ClC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAI5D,iBAAiB,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC;IAWjB,qBAAqB,CACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IAYjB,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAGhF"}
1
+ {"version":3,"file":"activity-log.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/activity-log.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,qBACa,qBAAqB;IAEK,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,CAAC;IAIjF,mBAAmB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IA0ClC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9C,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5H,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7G,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI1G,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5G,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxH,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAGhF"}
@@ -66,29 +66,38 @@ let ActivityLogRepository = class ActivityLogRepository {
66
66
  }
67
67
  ]);
68
68
  }
69
- async findTop10Logins(userId) {
70
- return this.activityLogModel.find({ userId }).sort({ date: -1 }).limit(10);
69
+ async userIsNewbie(userId) {
70
+ return await this.activityLogModel.countDocuments({ userId, event: activity_log_enum_1.ActivityLogEnum.USER_LOGIN }).exec() === 1;
71
+ }
72
+ async getUserPlayedGamesCount(userId) {
73
+ return await this.activityLogModel.countDocuments({ userId, event: activity_log_enum_1.ActivityLogEnum.USER_PLAYED_GAME }).exec();
74
+ }
75
+ async getUserWonGamesCount(userId) {
76
+ return await this.activityLogModel.countDocuments({ userId, event: activity_log_enum_1.ActivityLogEnum.USER_WON_GAME }).exec();
77
+ }
78
+ async getUserWonProfiCount(userId) {
79
+ return await this.activityLogModel.countDocuments({ userId, event: activity_log_enum_1.ActivityLogEnum.USER_WON_PROFI }).exec();
80
+ }
81
+ async getUserWonOneTableTournamentCount(userId) {
82
+ return await this.activityLogModel.countDocuments({ userId, event: activity_log_enum_1.ActivityLogEnum.USER_WON_ONE_TABLE_TOURNAMENT }).exec();
71
83
  }
72
84
  async addUserLoginEvent(userId, userName, game, channel) {
73
- return this.addActivityLog({
74
- date: new Date(),
75
- event: activity_log_enum_1.ActivityLogEnum.USER_LOGIN,
76
- userId,
77
- userName,
78
- game,
79
- channel,
80
- });
85
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_LOGIN, userId, userName, game, channel });
81
86
  }
82
87
  async addUserGotBonuseEvent(userId, userName, game, channel, amount) {
83
- return this.addActivityLog({
84
- date: new Date(),
85
- event: activity_log_enum_1.ActivityLogEnum.USER_GOT_BONUS,
86
- userId,
87
- userName,
88
- game,
89
- channel,
90
- amount,
91
- });
88
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_GOT_BONUS, userId, userName, game, channel, amount, });
89
+ }
90
+ async addUserPlayedGameEvent(userId, userName, game, channel) {
91
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_PLAYED_GAME, userId, userName, game, channel, });
92
+ }
93
+ async addUserWonGameEvent(userId, userName, game, channel) {
94
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_WON_GAME, userId, userName, game, channel });
95
+ }
96
+ async addUserWonProfieEvent(userId, userName, game, channel) {
97
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_WON_PROFI, userId, userName, game, channel });
98
+ }
99
+ async addUserWonOneTableTournamentEvent(userId, userName, game, channel) {
100
+ return this.addActivityLog({ date: new Date(), event: activity_log_enum_1.ActivityLogEnum.USER_WON_ONE_TABLE_TOURNAMENT, userId, userName, game, channel });
92
101
  }
93
102
  async addActivityLog(activityLog) {
94
103
  return this.activityLogModel.create(activityLog);
@@ -1 +1 @@
1
- {"version":3,"file":"activity-log.repository.js","sourceRoot":"","sources":["../../src/repositories/activity-log.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity-log.repository.js","sourceRoot":"","sources":["../../src/repositories/activity-log.repository.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,6 @@ export declare class UsersRepository {
24
24
  createUser(user: Partial<User>): Promise<User>;
25
25
  updateUser(userId: string, user: Partial<User>, balanceAdding?: number): Promise<UserDocument | null>;
26
26
  saveGameResult(usersBalances: Array<UserGameResultType>): Promise<BulkWriteResult>;
27
+ addAchievement(userId: string, achievementCode: string): Promise<void>;
27
28
  }
28
29
  //# sourceMappingURL=users.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/users.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAWzC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,qBACa,eAAe;IACa,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAGrE,QAAQ,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM3C,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM/C,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM/C,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM/C,cAAc,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAMvD,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM/C,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM/C,YAAY,CAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACxE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAA;KAChB,CAAC;IAeI,UAAU,CAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,UAAU,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAetG,cAAc,CAAE,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;CAgB5F"}
1
+ {"version":3,"file":"users.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/users.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAWzC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,qBACa,eAAe;IACY,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;IAGpE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM1C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM9C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM9C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM9C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAMtD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM9C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAM9C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,EAAE,MAAM,CAAA;KAChB,CAAC;IAeI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAerG,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBlF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM/E"}
@@ -99,6 +99,10 @@ let UsersRepository = class UsersRepository {
99
99
  },
100
100
  })));
101
101
  }
102
+ async addAchievement(userId, achievementCode) {
103
+ await this.userModel.findByIdAndUpdate(userId, { $push: { achievements: achievementCode } })
104
+ .exec();
105
+ }
102
106
  };
103
107
  exports.UsersRepository = UsersRepository;
104
108
  exports.UsersRepository = UsersRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"users.repository.js","sourceRoot":"","sources":["../../src/repositories/users.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.repository.js","sourceRoot":"","sources":["../../src/repositories/users.repository.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,8 @@ export declare class User {
85
85
  winnerRatings: Array<IUserWinnerRating>;
86
86
  achievements: Array<string>;
87
87
  bannedUsers: Array<string>;
88
+ hasAchievement(achievementCode: string): boolean;
89
+ hasNoAchievement(achievementCode: string): boolean;
88
90
  }
89
91
  export declare const UserSchema: import("mongoose").Schema<User, import("mongoose").Model<User, any, any, any, (Document<unknown, any, User, any, import("mongoose").DefaultSchemaOptions> & User & {
90
92
  _id: import("mongoose").Types.ObjectId;
@@ -411,5 +413,23 @@ export declare const UserSchema: import("mongoose").Schema<User, import("mongoos
411
413
  }, "id"> & {
412
414
  id: string;
413
415
  }>;
416
+ hasAchievement?: import("mongoose").SchemaDefinitionProperty<(achievementCode: string) => boolean, User, Document<unknown, {}, User, {
417
+ id: string;
418
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<User & {
419
+ _id: import("mongoose").Types.ObjectId;
420
+ } & {
421
+ __v: number;
422
+ }, "id"> & {
423
+ id: string;
424
+ }>;
425
+ hasNoAchievement?: import("mongoose").SchemaDefinitionProperty<(achievementCode: string) => boolean, User, Document<unknown, {}, User, {
426
+ id: string;
427
+ }, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & Omit<User & {
428
+ _id: import("mongoose").Types.ObjectId;
429
+ } & {
430
+ __v: number;
431
+ }, "id"> & {
432
+ id: string;
433
+ }>;
414
434
  }, User>;
415
435
  //# sourceMappingURL=user.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/user.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/user.schema.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ const user_tg_schema_1 = require("./user.tg.schema");
18
18
  const user_google_schema_1 = require("./user.google.schema");
19
19
  const user_fb_schema_1 = require("./user.fb.schema");
20
20
  let User = class User {
21
+ hasAchievement(achievementCode) {
22
+ return this.achievements.some((item) => item === achievementCode);
23
+ }
24
+ hasNoAchievement(achievementCode) {
25
+ return !this.hasAchievement(achievementCode);
26
+ }
21
27
  };
22
28
  exports.User = User;
23
29
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../src/schemas/user.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../src/schemas/user.schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jp.db.schemas",
3
- "version": "2.1.4",
3
+ "version": "2.1.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,8 @@
1
1
  export enum ActivityLogEnum {
2
2
  USER_LOGIN = 'USER_LOGIN',
3
3
  USER_GOT_BONUS = 'USER_GOT_BONUS',
4
+ USER_PLAYED_GAME = 'USER_PLAYED_GAME',
5
+ USER_WON_GAME = 'USER_WON_GAME',
6
+ USER_WON_PROFI = 'USER_WON_PROFI',
7
+ USER_WON_ONE_TABLE_TOURNAMENT = 'USER_WON_ONE_TABLE_TOURNAMENT',
4
8
  }
@@ -59,42 +59,48 @@ export class ActivityLogRepository {
59
59
  ])
60
60
  }
61
61
 
62
- async findTop10Logins(userId: string): Promise<Array<ActivityLog>> {
63
- return this.activityLogModel.find({ userId }).sort({ date: -1 }).limit(10);
62
+ async userIsNewbie(userId: string): Promise<boolean> {
63
+ return await this.activityLogModel.countDocuments({ userId, event: ActivityLogEnum.USER_LOGIN }).exec() === 1;
64
64
  }
65
65
 
66
- async addUserLoginEvent(
67
- userId: string,
68
- userName: string,
69
- game: string,
70
- channel: string,
71
- ): Promise<ActivityLog> {
72
- return this.addActivityLog({
73
- date: new Date(),
74
- event: ActivityLogEnum.USER_LOGIN,
75
- userId,
76
- userName,
77
- game,
78
- channel,
79
- });
66
+ async getUserPlayedGamesCount(userId: string): Promise<number> {
67
+ return await this.activityLogModel.countDocuments({ userId, event: ActivityLogEnum.USER_PLAYED_GAME }).exec()
80
68
  }
81
69
 
82
- async addUserGotBonuseEvent(
83
- userId: string,
84
- userName: string,
85
- game: string,
86
- channel: string,
87
- amount: number,
88
- ): Promise<ActivityLog> {
89
- return this.addActivityLog({
90
- date: new Date(),
91
- event: ActivityLogEnum.USER_GOT_BONUS,
92
- userId,
93
- userName,
94
- game,
95
- channel,
96
- amount,
97
- });
70
+ async getUserWonGamesCount(userId: string): Promise<number> {
71
+ return await this.activityLogModel.countDocuments({ userId, event: ActivityLogEnum.USER_WON_GAME }).exec()
72
+ }
73
+
74
+ async getUserWonProfiCount(userId: string): Promise<number> {
75
+ return await this.activityLogModel.countDocuments({ userId, event: ActivityLogEnum.USER_WON_PROFI }).exec()
76
+ }
77
+
78
+ async getUserWonOneTableTournamentCount(userId: string): Promise<number> {
79
+ return await this.activityLogModel.countDocuments({ userId, event: ActivityLogEnum.USER_WON_ONE_TABLE_TOURNAMENT }).exec()
80
+ }
81
+
82
+ async addUserLoginEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog> {
83
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_LOGIN, userId, userName, game, channel });
84
+ }
85
+
86
+ async addUserGotBonuseEvent(userId: string, userName: string, game: string, channel: string, amount: number): Promise<ActivityLog> {
87
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_GOT_BONUS, userId, userName, game, channel, amount, });
88
+ }
89
+
90
+ async addUserPlayedGameEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog> {
91
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_PLAYED_GAME, userId, userName, game, channel, });
92
+ }
93
+
94
+ async addUserWonGameEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog> {
95
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_WON_GAME, userId, userName, game, channel });
96
+ }
97
+
98
+ async addUserWonProfieEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog> {
99
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_WON_PROFI, userId, userName, game, channel });
100
+ }
101
+
102
+ async addUserWonOneTableTournamentEvent(userId: string, userName: string, game: string, channel: string): Promise<ActivityLog> {
103
+ return this.addActivityLog({ date: new Date(), event: ActivityLogEnum.USER_WON_ONE_TABLE_TOURNAMENT, userId, userName, game, channel });
98
104
  }
99
105
 
100
106
  async addActivityLog(activityLog: Partial<ActivityLog>): Promise<ActivityLog> {
@@ -5,7 +5,7 @@ import { BulkWriteResult } from 'mongodb';
5
5
 
6
6
  import { User, UserDocument } from '../';
7
7
 
8
- function getFullNameFilter (userName: string) {
8
+ function getFullNameFilter(userName: string) {
9
9
  const regexpName = {
10
10
  '$regex': userName,
11
11
  '$options': 'i',
@@ -23,52 +23,52 @@ export type UserGameResultType = {
23
23
 
24
24
  @Injectable()
25
25
  export class UsersRepository {
26
- constructor (@InjectModel(User.name) private userModel: Model<UserDocument>) {
26
+ constructor(@InjectModel(User.name) private userModel: Model<UserDocument>) {
27
27
  }
28
28
 
29
- async findById (id: string): Promise<User | null> {
29
+ async findById(id: string): Promise<User | null> {
30
30
  return this.userModel
31
31
  .findById(id)
32
32
  .exec();
33
33
  }
34
34
 
35
- async findByVKId (vkId: number): Promise<User | null> {
35
+ async findByVKId(vkId: number): Promise<User | null> {
36
36
  return this.userModel
37
37
  .findOne({ 'vkUser.id': vkId })
38
38
  .exec();
39
39
  }
40
40
 
41
- async findByOkId (okId: string): Promise<User | null> {
41
+ async findByOkId(okId: string): Promise<User | null> {
42
42
  return this.userModel
43
43
  .findOne({ 'okUser.uid': okId })
44
44
  .exec();
45
45
  }
46
46
 
47
- async findByYAId (yaId: string): Promise<User | null> {
47
+ async findByYAId(yaId: string): Promise<User | null> {
48
48
  return this.userModel
49
49
  .findOne({ 'yaUser.userId': yaId })
50
50
  .exec();
51
51
  }
52
52
 
53
- async findByGoogleId (googleId: string): Promise<User | null> {
53
+ async findByGoogleId(googleId: string): Promise<User | null> {
54
54
  return this.userModel
55
55
  .findOne({ 'googleUser.userId': googleId })
56
56
  .exec();
57
57
  }
58
58
 
59
- async findByFBId (fbId: string): Promise<User | null> {
59
+ async findByFBId(fbId: string): Promise<User | null> {
60
60
  return this.userModel
61
61
  .findOne({ 'fbUser.playerId': fbId })
62
62
  .exec();
63
63
  }
64
64
 
65
- async findByTGId (tgId: number): Promise<User | null> {
65
+ async findByTGId(tgId: number): Promise<User | null> {
66
66
  return this.userModel
67
67
  .findOne({ 'tgUser.id': tgId })
68
68
  .exec();
69
69
  }
70
70
 
71
- async findAndCount (userName: string, limit: number, skip: number): Promise<{
71
+ async findAndCount(userName: string, limit: number, skip: number): Promise<{
72
72
  items: Array<User>,
73
73
  total: number
74
74
  }> {
@@ -86,11 +86,11 @@ export class UsersRepository {
86
86
  return { items, total };
87
87
  }
88
88
 
89
- async createUser (user: Partial<User>): Promise<User> {
89
+ async createUser(user: Partial<User>): Promise<User> {
90
90
  return this.userModel.create(user);
91
91
  }
92
92
 
93
- async updateUser (userId: string, user: Partial<User>, balanceAdding?: number): Promise<UserDocument | null> {
93
+ async updateUser(userId: string, user: Partial<User>, balanceAdding?: number): Promise<UserDocument | null> {
94
94
  delete user.balance;
95
95
 
96
96
  return this.userModel.findByIdAndUpdate(
@@ -105,7 +105,7 @@ export class UsersRepository {
105
105
  ).exec();
106
106
  }
107
107
 
108
- async saveGameResult (usersBalances: Array<UserGameResultType>): Promise<BulkWriteResult> {
108
+ async saveGameResult(usersBalances: Array<UserGameResultType>): Promise<BulkWriteResult> {
109
109
  return this.userModel.bulkWrite(
110
110
  usersBalances.map((item) => ({
111
111
  updateOne: {
@@ -121,4 +121,11 @@ export class UsersRepository {
121
121
  })),
122
122
  );
123
123
  }
124
+
125
+ async addAchievement(userId: string, achievementCode: string): Promise<void> {
126
+ await this.userModel.findByIdAndUpdate(
127
+ userId,
128
+ { $push: { achievements: achievementCode } })
129
+ .exec();
130
+ }
124
131
  }
@@ -179,6 +179,14 @@ export class User {
179
179
 
180
180
  @Prop({ default: [] })
181
181
  bannedUsers: Array<string>;
182
+
183
+ hasAchievement(achievementCode: string): boolean {
184
+ return this.achievements.some((item) => item === achievementCode);
185
+ }
186
+
187
+ hasNoAchievement(achievementCode: string): boolean {
188
+ return !this.hasAchievement(achievementCode);
189
+ }
182
190
  }
183
191
 
184
192
  export const UserSchema = SchemaFactory.createForClass(User);