jp.db.schemas 1.0.36 → 1.0.37

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,12 @@
1
1
  import { Model } from 'mongoose';
2
+ import { BulkWriteResult } from 'mongodb';
2
3
  import { User, UserDocument } from '../';
4
+ export type UserGameResultType = {
5
+ userId: string;
6
+ balanceAdding: number;
7
+ experienceAdding: number;
8
+ levelAdding: number;
9
+ };
3
10
  export declare class UsersRepository {
4
11
  private userModel;
5
12
  constructor(userModel: Model<UserDocument>);
@@ -16,5 +23,6 @@ export declare class UsersRepository {
16
23
  }>;
17
24
  createUser(user: Partial<User>): Promise<User>;
18
25
  updateUser(userId: string, user: Partial<User>, balanceAdding?: number): Promise<UserDocument | null>;
26
+ saveGameResult(usersBalances: Array<UserGameResultType>): Promise<BulkWriteResult>;
19
27
  }
20
28
  //# 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;AAEjC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAWzC,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;CAc/G"}
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"}
@@ -85,6 +85,20 @@ let UsersRepository = class UsersRepository {
85
85
  $inc: { balance: balanceAdding !== null && balanceAdding !== void 0 ? balanceAdding : 0 }
86
86
  }, { new: true }).exec();
87
87
  }
88
+ async saveGameResult(usersBalances) {
89
+ return this.userModel.bulkWrite(usersBalances.map((item) => ({
90
+ updateOne: {
91
+ filter: { _id: item.userId },
92
+ update: {
93
+ $inc: {
94
+ balance: item.balanceAdding,
95
+ experience: item.experienceAdding,
96
+ level: item.levelAdding,
97
+ }
98
+ },
99
+ },
100
+ })));
101
+ }
88
102
  };
89
103
  exports.UsersRepository = UsersRepository;
90
104
  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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jp.db.schemas",
3
- "version": "1.0.36",
3
+ "version": "1.0.37",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@nestjs/common';
2
2
  import { InjectModel } from '@nestjs/mongoose';
3
3
  import { Model } from 'mongoose';
4
+ import { BulkWriteResult } from 'mongodb';
4
5
 
5
6
  import { User, UserDocument } from '../';
6
7
 
@@ -13,6 +14,13 @@ function getFullNameFilter (userName: string) {
13
14
  return userName ? { $or: [{ fullName: regexpName }, { fullNameAlias: regexpName }] } : {};
14
15
  }
15
16
 
17
+ export type UserGameResultType = {
18
+ userId: string;
19
+ balanceAdding: number;
20
+ experienceAdding: number;
21
+ levelAdding: number;
22
+ }
23
+
16
24
  @Injectable()
17
25
  export class UsersRepository {
18
26
  constructor (@InjectModel(User.name) private userModel: Model<UserDocument>) {
@@ -96,4 +104,21 @@ export class UsersRepository {
96
104
  { new: true },
97
105
  ).exec();
98
106
  }
107
+
108
+ async saveGameResult (usersBalances: Array<UserGameResultType>): Promise<BulkWriteResult> {
109
+ return this.userModel.bulkWrite(
110
+ usersBalances.map((item) => ({
111
+ updateOne: {
112
+ filter: { _id: item.userId },
113
+ update: {
114
+ $inc: {
115
+ balance: item.balanceAdding,
116
+ experience: item.experienceAdding,
117
+ level: item.levelAdding,
118
+ }
119
+ },
120
+ },
121
+ })),
122
+ );
123
+ }
99
124
  }