jp.db.schemas 1.0.35 → 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.
- package/dist/repositories/users.repository.d.ts +8 -0
- package/dist/repositories/users.repository.d.ts.map +1 -1
- package/dist/repositories/users.repository.js +14 -0
- package/dist/repositories/users.repository.js.map +1 -1
- package/dist/schemas/rooms.schema.d.ts +2 -2
- package/dist/schemas/rooms.schema.d.ts.map +1 -1
- package/dist/schemas/rooms.schema.js.map +1 -1
- package/package.json +1 -1
- package/src/repositories/users.repository.ts +25 -0
- package/src/schemas/rooms.schema.ts +2 -2
|
@@ -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;
|
|
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":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA+C;AAC/C,uCAAiC;
|
|
1
|
+
{"version":3,"file":"users.repository.js","sourceRoot":"","sources":["../../src/repositories/users.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/rooms.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAElD,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,qBACa,IAAI;IAMb,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rooms.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/rooms.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAElD,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,qBACa,IAAI;IAMb,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;IAGf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGjC,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IAGnB,GAAG,EAAE,MAAM,CAAC;IAGZ,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,CAAC;IAGd,gBAAgB,EAAE,MAAM,CAAC;IAGzB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,UAAU;;;;;;;;EAAqC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.schema.js","sourceRoot":"","sources":["../../src/schemas/rooms.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwE;AAWjE,IAAM,IAAI,GAAV,MAAM,IAAI;CA8ChB,CAAA;AA9CY,oBAAI;AAMJ;IALR,IAAA,kBAAO,EAAC;QACL,GAAG,EAAE;YACD,OAAO,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC;KACJ,CAAC;;oCACsB;AAGxB;IADC,IAAA,eAAI,GAAE;;kCACM;AAGb;IADC,IAAA,eAAI,GAAE;;kCACM;AAGb;IADC,IAAA,eAAI,GAAE;;oCACQ;AAGf;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;
|
|
1
|
+
{"version":3,"file":"rooms.schema.js","sourceRoot":"","sources":["../../src/schemas/rooms.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwE;AAWjE,IAAM,IAAI,GAAV,MAAM,IAAI;CA8ChB,CAAA;AA9CY,oBAAI;AAMJ;IALR,IAAA,kBAAO,EAAC;QACL,GAAG,EAAE;YACD,OAAO,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC;KACJ,CAAC;;oCACsB;AAGxB;IADC,IAAA,eAAI,GAAE;;kCACM;AAGb;IADC,IAAA,eAAI,GAAE;;kCACM;AAGb;IADC,IAAA,eAAI,GAAE;;oCACQ;AAGf;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCACO;AAG9B;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sCACU;AAGjC;IADC,IAAA,eAAI,GAAE;;sCACU;AAGjB;IADC,IAAA,eAAI,GAAE;;wCACY;AAGnB;IADC,IAAA,eAAI,GAAE;;iCACK;AAGZ;IADC,IAAA,eAAI,GAAE;;qCACS;AAGhB;IADC,IAAA,eAAI,GAAE;;mCACO;AAGd;IADC,IAAA,eAAI,GAAE;;8CACkB;AAGzB;IADC,IAAA,eAAI,GAAE;;kCACM;AAGb;IADC,IAAA,eAAI,GAAE;;uCACW;eA7CT,IAAI;IADhB,IAAA,iBAAM,GAAE;GACI,IAAI,CA8ChB;AAEY,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -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
|
}
|