@lenne.tech/nest-server 3.2.0 → 3.3.2
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/core/common/args/filter.args.d.ts +5 -0
- package/dist/core/common/args/filter.args.js +10 -0
- package/dist/core/common/args/filter.args.js.map +1 -1
- package/dist/core/common/args/pagination.args.d.ts +8 -1
- package/dist/core/common/args/pagination.args.js +24 -6
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
- package/dist/core/common/decorators/restricted.decorator.js +14 -5
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/helpers/context.helper.js +15 -5
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +3 -3
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.d.ts +4 -4
- package/dist/core/common/helpers/input.helper.js +13 -7
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.js +0 -1
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +11 -8
- package/dist/core/common/helpers/service.helper.js +50 -12
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.d.ts +8 -2
- package/dist/core/common/inputs/combined-filter.input.js +16 -5
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.d.ts +8 -0
- package/dist/core/common/inputs/core-input.input.js +15 -0
- package/dist/core/common/inputs/core-input.input.js.map +1 -0
- package/dist/core/common/inputs/filter.input.d.ts +7 -1
- package/dist/core/common/inputs/filter.input.js +14 -1
- package/dist/core/common/inputs/filter.input.js.map +1 -1
- package/dist/core/common/inputs/single-filter.input.d.ts +2 -1
- package/dist/core/common/inputs/single-filter.input.js +10 -1
- package/dist/core/common/inputs/single-filter.input.js.map +1 -1
- package/dist/core/common/inputs/sort.input.d.ts +2 -1
- package/dist/core/common/inputs/sort.input.js +7 -1
- package/dist/core/common/inputs/sort.input.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/core-persistence-model.interface.d.ts +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +3 -15
- package/dist/core/common/models/core-model.model.d.ts +6 -0
- package/dist/core/common/models/core-model.model.js +14 -5
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/models/core-persistence.model.d.ts +5 -29
- package/dist/core/common/models/core-persistence.model.js +19 -41
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.d.ts +2 -3
- package/dist/core/common/pipes/check-input.pipe.js +5 -20
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.d.ts +4 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js +40 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -0
- package/dist/core/common/types/plain-input.type.d.ts +3 -0
- package/dist/core/common/types/plain-input.type.js +3 -0
- package/dist/core/common/types/plain-input.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.model.d.ts +3 -1
- package/dist/core/modules/auth/core-auth.model.js +7 -1
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.d.ts +5 -2
- package/dist/core/modules/auth/core-auth.module.js +25 -17
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +3 -0
- package/dist/core/modules/user/core-user.model.js +9 -4
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +9 -13
- package/dist/core/modules/user/core-user.service.js +38 -67
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user.input.d.ts +2 -2
- package/dist/core/modules/user/inputs/core-user.input.js +3 -3
- package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
- package/dist/core.module.js +4 -4
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/main.js +0 -2
- package/dist/main.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +4 -2
- package/dist/server/common/models/persistence.model.js +6 -2
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/modules/auth/auth.model.d.ts +1 -0
- package/dist/server/modules/auth/auth.model.js +4 -0
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
- package/dist/server/modules/user/inputs/user.input.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +3 -2
- package/dist/server/modules/user/user.model.js +9 -5
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +2 -2
- package/dist/server/modules/user/user.resolver.js +11 -13
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +6 -6
- package/dist/server/modules/user/user.service.js +12 -4
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/test/test.helper.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +26 -26
- package/src/core/common/args/filter.args.ts +22 -1
- package/src/core/common/args/pagination.args.ts +42 -7
- package/src/core/common/decorators/restricted.decorator.ts +22 -5
- package/src/core/common/helpers/context.helper.ts +14 -3
- package/src/core/common/helpers/filter.helper.ts +3 -3
- package/src/core/common/helpers/input.helper.ts +17 -11
- package/src/core/common/helpers/model.helper.ts +0 -3
- package/src/core/common/helpers/service.helper.ts +95 -30
- package/src/core/common/inputs/combined-filter.input.ts +30 -9
- package/src/core/common/inputs/core-input.input.ts +36 -0
- package/src/core/common/inputs/filter.input.ts +27 -3
- package/src/core/common/inputs/single-filter.input.ts +7 -6
- package/src/core/common/inputs/sort.input.ts +4 -3
- package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
- package/src/core/common/interfaces/core-persistence-model.interface.ts +1 -0
- package/src/core/common/interfaces/server-options.interface.ts +3 -33
- package/src/core/common/models/core-model.model.ts +42 -3
- package/src/core/common/models/core-persistence.model.ts +33 -120
- package/src/core/common/pipes/check-input.pipe.ts +13 -33
- package/src/core/common/pipes/map-and-validate.pipe.ts +32 -0
- package/src/core/common/types/plain-input.type.ts +6 -0
- package/src/core/modules/auth/core-auth.model.ts +15 -1
- package/src/core/modules/auth/core-auth.module.ts +38 -22
- package/src/core/modules/auth/core-auth.resolver.ts +1 -1
- package/src/core/modules/user/core-user.model.ts +16 -4
- package/src/core/modules/user/core-user.service.ts +59 -115
- package/src/core/modules/user/inputs/core-user-create.input.ts +4 -0
- package/src/core/modules/user/inputs/core-user.input.ts +7 -3
- package/src/core.module.ts +13 -6
- package/src/index.ts +6 -2
- package/src/main.ts +0 -4
- package/src/server/common/models/persistence.model.ts +16 -2
- package/src/server/modules/auth/auth.model.ts +13 -0
- package/src/server/modules/user/inputs/user-create.input.ts +4 -0
- package/src/server/modules/user/inputs/user.input.ts +4 -0
- package/src/server/modules/user/user.model.ts +18 -5
- package/src/server/modules/user/user.resolver.ts +15 -19
- package/src/server/modules/user/user.service.ts +22 -7
- package/src/test/test.helper.ts +1 -1
- package/dist/core/common/pipes/map.pipe.d.ts +0 -4
- package/dist/core/common/pipes/map.pipe.js +0 -25
- package/dist/core/common/pipes/map.pipe.js.map +0 -1
- package/src/core/common/pipes/map.pipe.ts +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.input.js","sourceRoot":"","sources":["../../../../../src/server/modules/user/inputs/user.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAA4C;AAC5C,0FAAqF;
|
|
1
|
+
{"version":3,"file":"user.input.js","sourceRoot":"","sources":["../../../../../src/server/modules/user/inputs/user.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAA4C;AAC5C,0FAAqF;AAUrF,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,+BAAa;CAE3C,CAAA;AAFY,SAAS;IADrB,IAAA,mBAAS,EAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;GAC5B,SAAS,CAErB;AAFY,8BAAS"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CoreUserModel } from '../../../core/modules/user/core-user.model';
|
|
2
2
|
import { PersistenceModel } from '../../common/models/persistence.model';
|
|
3
|
-
import
|
|
3
|
+
import { Schema, Document } from 'mongoose';
|
|
4
4
|
export declare type UserDocument = User & Document;
|
|
5
5
|
export declare class User extends CoreUserModel implements PersistenceModel {
|
|
6
6
|
avatar: string;
|
|
7
7
|
createdBy: User;
|
|
8
8
|
updatedBy: User;
|
|
9
|
+
init(): this;
|
|
9
10
|
}
|
|
10
|
-
export declare const UserSchema:
|
|
11
|
+
export declare const UserSchema: Schema<Document<User, any, any>, import("mongoose").Model<Document<User, any, any>, any, any, any>, any, any>;
|
|
@@ -14,7 +14,7 @@ exports.UserSchema = exports.User = void 0;
|
|
|
14
14
|
const graphql_1 = require("@nestjs/graphql");
|
|
15
15
|
const core_user_model_1 = require("../../../core/modules/user/core-user.model");
|
|
16
16
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
17
|
-
const
|
|
17
|
+
const mongoose_2 = require("mongoose");
|
|
18
18
|
let User = User_1 = class User extends core_user_model_1.CoreUserModel {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
@@ -22,6 +22,10 @@ let User = User_1 = class User extends core_user_model_1.CoreUserModel {
|
|
|
22
22
|
this.createdBy = undefined;
|
|
23
23
|
this.updatedBy = undefined;
|
|
24
24
|
}
|
|
25
|
+
init() {
|
|
26
|
+
super.init();
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
25
29
|
};
|
|
26
30
|
__decorate([
|
|
27
31
|
(0, graphql_1.Field)({ description: 'URL to avatar file of the user', nullable: true }),
|
|
@@ -33,7 +37,7 @@ __decorate([
|
|
|
33
37
|
description: 'ID of the user who created the object',
|
|
34
38
|
nullable: true,
|
|
35
39
|
}),
|
|
36
|
-
(0, mongoose_1.Prop)({ type:
|
|
40
|
+
(0, mongoose_1.Prop)({ type: mongoose_2.Schema.Types.ObjectId, ref: 'User' }),
|
|
37
41
|
__metadata("design:type", User)
|
|
38
42
|
], User.prototype, "createdBy", void 0);
|
|
39
43
|
__decorate([
|
|
@@ -41,12 +45,12 @@ __decorate([
|
|
|
41
45
|
description: 'ID of the user who last updated the object',
|
|
42
46
|
nullable: true,
|
|
43
47
|
}),
|
|
44
|
-
(0, mongoose_1.Prop)({ type:
|
|
48
|
+
(0, mongoose_1.Prop)({ type: mongoose_2.Schema.Types.ObjectId, ref: 'User' }),
|
|
45
49
|
__metadata("design:type", User)
|
|
46
50
|
], User.prototype, "updatedBy", void 0);
|
|
47
51
|
User = User_1 = __decorate([
|
|
48
|
-
(0,
|
|
49
|
-
(0,
|
|
52
|
+
(0, graphql_1.ObjectType)({ description: 'User' }),
|
|
53
|
+
(0, mongoose_1.Schema)({ timestamps: true })
|
|
50
54
|
], User);
|
|
51
55
|
exports.User = User;
|
|
52
56
|
exports.UserSchema = mongoose_1.SchemaFactory.createForClass(User);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAAoD;AACpD,gFAA2E;AAE3E,+
|
|
1
|
+
{"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAAoD;AACpD,gFAA2E;AAE3E,+CAAiF;AACjF,uCAA4C;AAS5C,IAAa,IAAI,YAAjB,MAAa,IAAK,SAAQ,+BAAa;IAAvC;;QAUE,WAAM,GAAW,SAAS,CAAC;QAY3B,cAAS,GAAS,SAAS,CAAC;QAY5B,cAAS,GAAS,SAAS,CAAC;IAc9B,CAAC;IALC,IAAI;QACF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAtCC;IAFC,IAAA,eAAK,EAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,eAAI,GAAE;;oCACoB;AAY3B;IALC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAI,EAAE;QACrB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;8BACxC,IAAI;uCAAa;AAY5B;IALC,IAAA,eAAK,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAI,EAAE;QACrB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;8BACxC,IAAI;uCAAa;AAlCjB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACnC,IAAA,iBAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;GACxB,IAAI,CAgDhB;AAhDY,oBAAI;AAkDJ,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -14,8 +14,8 @@ export declare class UserResolver {
|
|
|
14
14
|
requestPasswordResetMail(email: string): Promise<boolean>;
|
|
15
15
|
verifyUser(token: string): Promise<boolean>;
|
|
16
16
|
resetPassword(token: string, password: string): Promise<boolean>;
|
|
17
|
-
createUser(input: UserCreateInput, user: User
|
|
18
|
-
updateUser(input: UserInput, id: string, user: User
|
|
17
|
+
createUser(input: UserCreateInput, user: User): Promise<User>;
|
|
18
|
+
updateUser(input: UserInput, id: string, user: User): Promise<User>;
|
|
19
19
|
deleteUser(id: string, info: GraphQLResolveInfo): Promise<User>;
|
|
20
20
|
userCreated(): Promise<AsyncIterator<unknown, any, undefined>>;
|
|
21
21
|
}
|
|
@@ -37,20 +37,21 @@ let UserResolver = class UserResolver {
|
|
|
37
37
|
return await this.usersService.find(args, info);
|
|
38
38
|
}
|
|
39
39
|
async requestPasswordResetMail(email) {
|
|
40
|
-
return await this.usersService.
|
|
40
|
+
return !!(await this.usersService.sendPasswordResetMail(email));
|
|
41
41
|
}
|
|
42
42
|
async verifyUser(token) {
|
|
43
|
-
return await this.usersService.verify(token);
|
|
43
|
+
return !!(await this.usersService.verify(token));
|
|
44
44
|
}
|
|
45
45
|
async resetPassword(token, password) {
|
|
46
|
-
return await this.usersService.resetPassword(token, password);
|
|
46
|
+
return !!(await this.usersService.resetPassword(token, password));
|
|
47
47
|
}
|
|
48
|
-
async createUser(input, user
|
|
49
|
-
|
|
48
|
+
async createUser(input, user) {
|
|
49
|
+
input = await input_helper_1.InputHelper.check(input, user, user_create_input_1.UserCreateInput);
|
|
50
|
+
return await this.usersService.create(input, user);
|
|
50
51
|
}
|
|
51
|
-
async updateUser(input, id, user
|
|
52
|
+
async updateUser(input, id, user) {
|
|
52
53
|
input = await input_helper_1.InputHelper.check(input, user, user_input_1.UserInput);
|
|
53
|
-
return await this.usersService.update(id, input, user
|
|
54
|
+
return await this.usersService.update(id, input, user);
|
|
54
55
|
}
|
|
55
56
|
async deleteUser(id, info) {
|
|
56
57
|
return await this.usersService.delete(id, info);
|
|
@@ -102,21 +103,18 @@ __decorate([
|
|
|
102
103
|
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Create a new user' }),
|
|
103
104
|
__param(0, (0, graphql_1.Args)('input')),
|
|
104
105
|
__param(1, (0, graphql_user_decorator_1.GraphQLUser)()),
|
|
105
|
-
__param(2, (0, graphql_1.Info)()),
|
|
106
106
|
__metadata("design:type", Function),
|
|
107
|
-
__metadata("design:paramtypes", [user_create_input_1.UserCreateInput,
|
|
108
|
-
user_model_1.User, Object]),
|
|
107
|
+
__metadata("design:paramtypes", [user_create_input_1.UserCreateInput, user_model_1.User]),
|
|
109
108
|
__metadata("design:returntype", Promise)
|
|
110
109
|
], UserResolver.prototype, "createUser", null);
|
|
111
110
|
__decorate([
|
|
112
111
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
|
|
113
112
|
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Update existing user' }),
|
|
114
|
-
__param(0, (0, graphql_1.Args)('input'
|
|
113
|
+
__param(0, (0, graphql_1.Args)('input')),
|
|
115
114
|
__param(1, (0, graphql_1.Args)('id')),
|
|
116
115
|
__param(2, (0, graphql_user_decorator_1.GraphQLUser)()),
|
|
117
|
-
__param(3, (0, graphql_1.Info)()),
|
|
118
116
|
__metadata("design:type", Function),
|
|
119
|
-
__metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User
|
|
117
|
+
__metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User]),
|
|
120
118
|
__metadata("design:returntype", Promise)
|
|
121
119
|
], UserResolver.prototype, "updateUser", null);
|
|
122
120
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAsF;AAEtF,iEAA+C;AAC/C,uEAAmE;AACnE,mGAAqF;AACrF,qFAAwE;AACxE,oEAAgE;AAChE,4EAAwE;AACxE,kEAA6D;AAC7D,oDAAgD;AAChD,6CAAoC;AACpC,iDAA6C;AAC7C,2CAAwC;AAMxC,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YAA+B,YAAyB,EAAwC,MAAc;QAA/E,iBAAY,GAAZ,YAAY,CAAa;QAAwC,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAUlH,KAAK,CAAC,OAAO,CAAa,EAAU,EAAU,IAAwB;QACpE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAOD,KAAK,CAAC,SAAS,CAAS,IAAwB,EAAU,IAAiB;QACzE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAMD,KAAK,CAAC,wBAAwB,CAAgB,KAAa;QACzD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"user.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAsF;AAEtF,iEAA+C;AAC/C,uEAAmE;AACnE,mGAAqF;AACrF,qFAAwE;AACxE,oEAAgE;AAChE,4EAAwE;AACxE,kEAA6D;AAC7D,oDAAgD;AAChD,6CAAoC;AACpC,iDAA6C;AAC7C,2CAAwC;AAMxC,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YAA+B,YAAyB,EAAwC,MAAc;QAA/E,iBAAY,GAAZ,YAAY,CAAa;QAAwC,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAUlH,KAAK,CAAC,OAAO,CAAa,EAAU,EAAU,IAAwB;QACpE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAOD,KAAK,CAAC,SAAS,CAAS,IAAwB,EAAU,IAAiB;QACzE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAMD,KAAK,CAAC,wBAAwB,CAAgB,KAAa;QACzD,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IASD,KAAK,CAAC,UAAU,CAAgB,KAAa;QAC3C,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAMD,KAAK,CAAC,aAAa,CAAgB,KAAa,EAAoB,QAAgB;QAClF,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IAMD,KAAK,CAAC,UAAU,CAAgB,KAAsB,EAAiB,IAAU;QAI/E,KAAK,GAAG,MAAM,0BAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,mCAAe,CAAC,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAOD,KAAK,CAAC,UAAU,CAAgB,KAAgB,EAAc,EAAU,EAAiB,IAAU;QAIjG,KAAK,GAAG,MAAM,0BAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,sBAAS,CAAC,CAAC;QAGxD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAOD,KAAK,CAAC,UAAU,CAAa,EAAU,EAAU,IAAwB;QACvE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAYD,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AA1FC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACzD,WAAA,IAAA,cAAI,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,cAAI,GAAE,CAAA;;;;2CAE5C;AAOD;IAFC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,IAAI,CAAC;IACpB,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAI,CAAC,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACtD,WAAA,IAAA,cAAI,GAAE,CAAA;IAA4B,WAAA,IAAA,cAAI,GAAE,CAAA;;6CAAQ,wBAAU;;6CAE1E;AAMD;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IACzD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;;;4DAE5C;AASD;IADC,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;;;;8CAE9B;AAMD;IADC,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;IACnE,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;;;;iDAElE;AAMD;IADC,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAChD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IAA0B,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCAA/B,mCAAe,EAAuB,iBAAI;;8CAOhF;AAOD;IAFC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,KAAK,CAAC;IACrC,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACnD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IAAoB,WAAA,IAAA,cAAI,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCAAjD,sBAAS,UAA+C,iBAAI;;8CAQlG;AAOD;IAFC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,KAAK,CAAC;IACrC,IAAA,kBAAQ,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACnD,WAAA,IAAA,cAAI,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,cAAI,GAAE,CAAA;;;;8CAE/C;AAYD;IAHC,IAAA,sBAAY,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE;QAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;KAC1B,CAAC;;;;+CAGD;AAvGU,YAAY;IADxB,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAI,CAAC;IAKsC,WAAA,IAAA,eAAM,EAAC,SAAS,CAAC,CAAA;qCAA/B,0BAAW,EAAgD,8BAAM;GAJnG,YAAY,CAwGxB;AAxGY,oCAAY"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/// <reference types="multer" />
|
|
2
|
-
import { GraphQLResolveInfo } from 'graphql';
|
|
3
2
|
import { FilterArgs } from '../../../core/common/args/filter.args';
|
|
4
3
|
import { ConfigService } from '../../../core/common/services/config.service';
|
|
5
4
|
import { EmailService } from '../../../core/common/services/email.service';
|
|
6
5
|
import { CoreUserService } from '../../../core/modules/user/core-user.service';
|
|
7
6
|
import { UserCreateInput } from './inputs/user-create.input';
|
|
8
7
|
import { UserInput } from './inputs/user.input';
|
|
9
|
-
import { User } from './user.model';
|
|
8
|
+
import { User, UserDocument } from './user.model';
|
|
10
9
|
import { Model } from 'mongoose';
|
|
11
10
|
import { ICorePersistenceModel } from '../../../core/common/interfaces/core-persistence-model.interface';
|
|
12
11
|
import { PubSub } from 'graphql-subscriptions';
|
|
13
12
|
export declare class UserService extends CoreUserService<User, UserInput, UserCreateInput> {
|
|
14
13
|
protected readonly configService: ConfigService;
|
|
15
14
|
protected readonly emailService: EmailService;
|
|
16
|
-
protected readonly userModel: Model<
|
|
15
|
+
protected readonly userModel: Model<UserDocument>;
|
|
17
16
|
protected readonly pubSub: PubSub;
|
|
18
17
|
protected readonly model: ICorePersistenceModel;
|
|
19
|
-
constructor(configService: ConfigService, emailService: EmailService, userModel: Model<
|
|
20
|
-
create(input: UserCreateInput, currentUser?: User
|
|
18
|
+
constructor(configService: ConfigService, emailService: EmailService, userModel: Model<UserDocument>, pubSub: PubSub);
|
|
19
|
+
create(input: UserCreateInput, currentUser?: User): Promise<User>;
|
|
21
20
|
find(filterArgs?: FilterArgs, ...args: any[]): Promise<User[]>;
|
|
21
|
+
sendPasswordResetMail(email: string): Promise<User>;
|
|
22
22
|
setAvatar(file: Express.Multer.File, user: User): Promise<string>;
|
|
23
23
|
protected prepareInput(input: {
|
|
24
24
|
[key: string]: any;
|
|
@@ -27,5 +27,5 @@ export declare class UserService extends CoreUserService<User, UserInput, UserCr
|
|
|
27
27
|
}): Promise<{
|
|
28
28
|
[key: string]: any;
|
|
29
29
|
}>;
|
|
30
|
-
protected prepareOutput(user: User
|
|
30
|
+
protected prepareOutput(user: User): Promise<User>;
|
|
31
31
|
}
|
|
@@ -34,9 +34,9 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
|
|
|
34
34
|
this.pubSub = pubSub;
|
|
35
35
|
this.model = user_model_1.User;
|
|
36
36
|
}
|
|
37
|
-
async create(input, currentUser
|
|
37
|
+
async create(input, currentUser) {
|
|
38
38
|
const user = await super.create(input, currentUser);
|
|
39
|
-
await this.prepareOutput(user
|
|
39
|
+
await this.prepareOutput(user);
|
|
40
40
|
await this.pubSub.publish('userCreated', user_model_1.User.map(user));
|
|
41
41
|
await this.emailService.sendMail(user.email, 'Welcome', {
|
|
42
42
|
htmlTemplate: 'welcome',
|
|
@@ -48,6 +48,14 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
|
|
|
48
48
|
const filterQuery = filter_helper_1.Filter.convertFilterArgsToQuery(filterArgs);
|
|
49
49
|
return this.userModel.find(filterQuery[0], null, filterQuery[1]).exec();
|
|
50
50
|
}
|
|
51
|
+
async sendPasswordResetMail(email) {
|
|
52
|
+
const user = await super.setPasswordResetTokenForEmail(email);
|
|
53
|
+
await this.emailService.sendMail(user.email, 'Password reset', {
|
|
54
|
+
htmlTemplate: 'password-reset',
|
|
55
|
+
templateData: { name: user.username, link: config_env_1.default.email.passwordResetLink + '/' + user.passwordResetToken },
|
|
56
|
+
});
|
|
57
|
+
return user;
|
|
58
|
+
}
|
|
51
59
|
async setAvatar(file, user) {
|
|
52
60
|
const dbUser = await this.userModel.findOne({ id: user.id }).exec();
|
|
53
61
|
if (!dbUser) {
|
|
@@ -70,8 +78,8 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
|
|
|
70
78
|
async prepareInput(input, currentUser, options = {}) {
|
|
71
79
|
return service_helper_1.ServiceHelper.prepareInput(input, currentUser, options);
|
|
72
80
|
}
|
|
73
|
-
async prepareOutput(user
|
|
74
|
-
return service_helper_1.ServiceHelper.prepareOutput(user
|
|
81
|
+
async prepareOutput(user) {
|
|
82
|
+
return service_helper_1.ServiceHelper.prepareOutput(user);
|
|
75
83
|
}
|
|
76
84
|
};
|
|
77
85
|
UserService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyG;AACzG,yBAAyB;
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare enum TestGraphQLType {
|
|
|
7
7
|
SUBSCRIPTION = "subscription"
|
|
8
8
|
}
|
|
9
9
|
export interface TestFieldObject {
|
|
10
|
-
[key: string]: boolean | string[] | TestFieldObject;
|
|
10
|
+
[key: string]: boolean | (string | TestFieldObject)[] | TestFieldObject;
|
|
11
11
|
}
|
|
12
12
|
export declare type TestFields = string | string[] | TestFieldObject;
|
|
13
13
|
export interface TestGraphQLConfig {
|