@lenne.tech/nest-server 8.0.0 → 8.1.0
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/pagination.args.js +1 -1
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/helpers/config.helper.d.ts +2 -1
- package/dist/core/common/helpers/config.helper.js +11 -7
- package/dist/core/common/helpers/config.helper.js.map +1 -1
- package/dist/core/common/helpers/context.helper.d.ts +7 -1
- package/dist/core/common/helpers/context.helper.js +33 -29
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/db.helper.d.ts +35 -0
- package/dist/core/common/helpers/db.helper.js +345 -0
- package/dist/core/common/helpers/db.helper.js.map +1 -0
- package/dist/core/common/helpers/file.helper.d.ts +8 -1
- package/dist/core/common/helpers/file.helper.js +43 -31
- package/dist/core/common/helpers/file.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +3 -0
- package/dist/core/common/helpers/filter.helper.js +93 -81
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.d.ts +24 -1
- package/dist/core/common/helpers/graphql.helper.js +144 -96
- package/dist/core/common/helpers/graphql.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.d.ts +29 -3
- package/dist/core/common/helpers/input.helper.js +222 -105
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.d.ts +11 -0
- package/dist/core/common/helpers/model.helper.js +41 -29
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +21 -1
- package/dist/core/common/helpers/service.helper.js +80 -72
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.js +1 -1
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.js +1 -1
- package/dist/core/common/inputs/core-input.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/resolve-selector.interface.d.ts +5 -0
- package/dist/core/common/interfaces/resolve-selector.interface.js +3 -0
- package/dist/core/common/interfaces/resolve-selector.interface.js.map +1 -0
- package/dist/core/common/interfaces/service-options.interface.d.ts +30 -0
- package/dist/core/common/interfaces/service-options.interface.js +3 -0
- package/dist/core/common/interfaces/service-options.interface.js.map +1 -0
- package/dist/core/common/models/core-model.model.d.ts +4 -0
- package/dist/core/common/models/core-model.model.js +1 -1
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.js +2 -2
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/core/common/plugins/mongoose-id.plugin.js +1 -1
- package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
- package/dist/core/common/services/crud.service.d.ts +13 -0
- package/dist/core/common/services/crud.service.js +59 -0
- package/dist/core/common/services/crud.service.js.map +1 -0
- package/dist/core/common/services/email.service.js +8 -8
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/module.service.d.ts +27 -0
- package/dist/core/common/services/module.service.js +41 -0
- package/dist/core/common/services/module.service.js.map +1 -0
- package/dist/core/common/types/core-model-constructor.type.d.ts +21 -0
- package/dist/core/common/types/core-model-constructor.type.js +3 -0
- package/dist/core/common/types/core-model-constructor.type.js.map +1 -0
- package/dist/core/common/types/field-selection.type.d.ts +4 -0
- package/dist/core/common/types/field-selection.type.js +3 -0
- package/dist/core/common/types/field-selection.type.js.map +1 -0
- package/dist/core/common/types/string-or-object-id.type.d.ts +2 -0
- package/dist/core/common/types/string-or-object-id.type.js +3 -0
- package/dist/core/common/types/string-or-object-id.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.resolver.d.ts +2 -1
- package/dist/core/modules/auth/core-auth.resolver.js +4 -3
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -1
- package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth.service.d.ts +2 -1
- package/dist/core/modules/auth/services/core-auth.service.js +6 -4
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/user/core-user.model.js +1 -1
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +16 -25
- package/dist/core/modules/user/core-user.service.js +79 -98
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +22 -19
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/server/modules/auth/auth.resolver.d.ts +2 -1
- package/dist/server/modules/auth/auth.resolver.js +4 -3
- package/dist/server/modules/auth/auth.resolver.js.map +1 -1
- package/dist/server/modules/file/file.controller.js +1 -1
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/user/avatar.controller.js +1 -1
- package/dist/server/modules/user/avatar.controller.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +3 -1
- package/dist/server/modules/user/user.module.js +7 -3
- package/dist/server/modules/user/user.module.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +8 -7
- package/dist/server/modules/user/user.resolver.js +65 -45
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +9 -18
- package/dist/server/modules/user/user.service.js +19 -30
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/test/test.helper.d.ts +1 -2
- package/dist/test/test.helper.js +1 -16
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +45 -47
- package/src/core/common/args/pagination.args.ts +2 -2
- package/src/core/common/helpers/config.helper.ts +26 -6
- package/src/core/common/helpers/context.helper.ts +42 -33
- package/src/core/common/helpers/db.helper.ts +580 -0
- package/src/core/common/helpers/file.helper.ts +76 -49
- package/src/core/common/helpers/filter.helper.ts +119 -96
- package/src/core/common/helpers/graphql.helper.ts +219 -117
- package/src/core/common/helpers/input.helper.ts +296 -106
- package/src/core/common/helpers/model.helper.ts +102 -57
- package/src/core/common/helpers/service.helper.ts +149 -117
- package/src/core/common/inputs/combined-filter.input.ts +2 -2
- package/src/core/common/inputs/core-input.input.ts +2 -2
- package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
- package/src/core/common/interfaces/resolve-selector.interface.ts +9 -0
- package/src/core/common/interfaces/service-options.interface.ts +53 -0
- package/src/core/common/models/core-model.model.ts +6 -2
- package/src/core/common/pipes/check-input.pipe.ts +4 -4
- package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
- package/src/core/common/plugins/mongoose-id.plugin.js +1 -1
- package/src/core/common/services/crud.service.ts +105 -0
- package/src/core/common/services/email.service.ts +9 -9
- package/src/core/common/services/module.service.ts +114 -0
- package/src/core/common/types/core-model-constructor.type.ts +30 -0
- package/src/core/common/types/field-selection.type.ts +8 -0
- package/src/core/common/types/string-or-object-id.type.ts +3 -0
- package/src/core/modules/auth/core-auth.module.ts +1 -1
- package/src/core/modules/auth/core-auth.resolver.ts +8 -3
- package/src/core/modules/auth/services/core-auth-user.service.ts +7 -1
- package/src/core/modules/auth/services/core-auth.service.ts +14 -4
- package/src/core/modules/user/core-user.model.ts +2 -1
- package/src/core/modules/user/core-user.service.ts +131 -194
- package/src/core.module.ts +28 -24
- package/src/index.ts +8 -1
- package/src/main.ts +1 -1
- package/src/server/modules/auth/auth.resolver.ts +8 -3
- package/src/server/modules/file/file.controller.ts +2 -2
- package/src/server/modules/user/avatar.controller.ts +2 -2
- package/src/server/modules/user/user.module.ts +7 -3
- package/src/server/modules/user/user.resolver.ts +62 -37
- package/src/server/modules/user/user.service.ts +23 -53
- package/src/test/test.helper.ts +31 -30
- package/dist/core/modules/user/core-basic-user.service.d.ts +0 -17
- package/dist/core/modules/user/core-basic-user.service.js +0 -73
- package/dist/core/modules/user/core-basic-user.service.js.map +0 -1
- package/src/core/modules/user/core-basic-user.service.ts +0 -138
package/dist/index.js
CHANGED
|
@@ -27,6 +27,7 @@ __exportStar(require("./core/common/enums/role.enum"), exports);
|
|
|
27
27
|
__exportStar(require("./core/common/enums/sort-order.emum"), exports);
|
|
28
28
|
__exportStar(require("./core/common/helpers/config.helper"), exports);
|
|
29
29
|
__exportStar(require("./core/common/helpers/context.helper"), exports);
|
|
30
|
+
__exportStar(require("./core/common/helpers/db.helper"), exports);
|
|
30
31
|
__exportStar(require("./core/common/helpers/file.helper"), exports);
|
|
31
32
|
__exportStar(require("./core/common/helpers/filter.helper"), exports);
|
|
32
33
|
__exportStar(require("./core/common/helpers/graphql.helper"), exports);
|
|
@@ -41,7 +42,9 @@ __exportStar(require("./core/common/inputs/sort.input"), exports);
|
|
|
41
42
|
__exportStar(require("./core/common/interceptors/check-response.interceptor"), exports);
|
|
42
43
|
__exportStar(require("./core/common/interfaces/core-persistence-model.interface"), exports);
|
|
43
44
|
__exportStar(require("./core/common/interfaces/mailjet-options.interface"), exports);
|
|
45
|
+
__exportStar(require("./core/common/interfaces/resolve-selector.interface"), exports);
|
|
44
46
|
__exportStar(require("./core/common/interfaces/server-options.interface"), exports);
|
|
47
|
+
__exportStar(require("./core/common/interfaces/service-options.interface"), exports);
|
|
45
48
|
__exportStar(require("./core/common/models/core-model.model"), exports);
|
|
46
49
|
__exportStar(require("./core/common/models/core-persistence.model"), exports);
|
|
47
50
|
__exportStar(require("./core/common/pipes/check-input.pipe"), exports);
|
|
@@ -50,10 +53,15 @@ __exportStar(require("./core/common/scalars/any.scalar"), exports);
|
|
|
50
53
|
__exportStar(require("./core/common/scalars/date.scalar"), exports);
|
|
51
54
|
__exportStar(require("./core/common/scalars/json.scalar"), exports);
|
|
52
55
|
__exportStar(require("./core/common/services/config.service"), exports);
|
|
56
|
+
__exportStar(require("./core/common/services/crud.service"), exports);
|
|
53
57
|
__exportStar(require("./core/common/services/email.service"), exports);
|
|
54
58
|
__exportStar(require("./core/common/services/mailjet.service"), exports);
|
|
59
|
+
__exportStar(require("./core/common/services/module.service"), exports);
|
|
55
60
|
__exportStar(require("./core/common/services/template.service"), exports);
|
|
61
|
+
__exportStar(require("./core/common/types/core-model-constructor.type"), exports);
|
|
62
|
+
__exportStar(require("./core/common/types/field-selection.type"), exports);
|
|
56
63
|
__exportStar(require("./core/common/types/plain-input.type"), exports);
|
|
64
|
+
__exportStar(require("./core/common/types/string-or-object-id.type"), exports);
|
|
57
65
|
__exportStar(require("./core/modules/auth/guards/auth.guard"), exports);
|
|
58
66
|
__exportStar(require("./core/modules/auth/guards/roles.guard"), exports);
|
|
59
67
|
__exportStar(require("./core/modules/auth/interfaces/core-auth-user.interface"), exports);
|
|
@@ -66,7 +74,6 @@ __exportStar(require("./core/modules/auth/core-auth.resolver"), exports);
|
|
|
66
74
|
__exportStar(require("./core/modules/auth/jwt.strategy"), exports);
|
|
67
75
|
__exportStar(require("./core/modules/user/inputs/core-user.input"), exports);
|
|
68
76
|
__exportStar(require("./core/modules/user/inputs/core-user-create.input"), exports);
|
|
69
|
-
__exportStar(require("./core/modules/user/core-basic-user.service"), exports);
|
|
70
77
|
__exportStar(require("./core/modules/user/core-user.model"), exports);
|
|
71
78
|
__exportStar(require("./core/modules/user/core-user.service"), exports);
|
|
72
79
|
__exportStar(require("./test/test.helper"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,gEAA8C;AAC9C,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,oFAAkE;AAClE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,uEAAqD;AACrD,yEAAuD;AACvD,0EAAwD;AACxD,uEAAqD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,+EAA6D;AAC7D,4EAA0D;AAC1D,gEAA8C;AAC9C,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD;AACnD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,4FAA0E;AAC1E,qFAAmE;AACnE,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,uEAAqD;AACrD,4EAA0D;AAC1D,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,wEAAsD;AACtD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,wEAAsD;AACtD,0EAAwD;AACxD,kFAAgE;AAChE,2EAAyD;AACzD,uEAAqD;AACrD,+EAA6D;AAM7D,wEAAsD;AACtD,yEAAuD;AACvD,0FAAwE;AACxE,uFAAqE;AACrE,iFAA+D;AAC/D,sFAAoE;AACpE,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AAMjD,6EAA2D;AAC3D,oFAAkE;AAClE,sEAAoD;AACpD,wEAAsD;AAMtD,qDAAmC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
1
2
|
import { CoreAuthResolver } from '../../../core/modules/auth/core-auth.resolver';
|
|
2
3
|
import { Auth } from './auth.model';
|
|
3
4
|
export declare class AuthResolver extends CoreAuthResolver {
|
|
4
|
-
signIn(email: string, password: string): Promise<Auth>;
|
|
5
|
+
signIn(email: string, password: string, info: GraphQLResolveInfo): Promise<Auth>;
|
|
5
6
|
}
|
|
@@ -17,16 +17,17 @@ const graphql_1 = require("@nestjs/graphql");
|
|
|
17
17
|
const core_auth_resolver_1 = require("../../../core/modules/auth/core-auth.resolver");
|
|
18
18
|
const auth_model_1 = require("./auth.model");
|
|
19
19
|
let AuthResolver = class AuthResolver extends core_auth_resolver_1.CoreAuthResolver {
|
|
20
|
-
async signIn(email, password) {
|
|
21
|
-
return (await this.authService.signIn(email, password));
|
|
20
|
+
async signIn(email, password, info) {
|
|
21
|
+
return (await this.authService.signIn(email, password, { fieldSelection: { info, select: 'signIn' } }));
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
__decorate([
|
|
25
25
|
(0, graphql_1.Query)((returns) => auth_model_1.Auth, { description: 'Get JWT token' }),
|
|
26
26
|
__param(0, (0, graphql_1.Args)('email')),
|
|
27
27
|
__param(1, (0, graphql_1.Args)('password')),
|
|
28
|
+
__param(2, (0, graphql_1.Info)()),
|
|
28
29
|
__metadata("design:type", Function),
|
|
29
|
-
__metadata("design:paramtypes", [String, String]),
|
|
30
|
+
__metadata("design:paramtypes", [String, String, Object]),
|
|
30
31
|
__metadata("design:returntype", Promise)
|
|
31
32
|
], AuthResolver.prototype, "signIn", null);
|
|
32
33
|
AuthResolver = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA8D;AAE9D,sFAAiF;AACjF,6CAAoC;AAMpC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,qCAAgB;IAKhD,KAAK,CAAC,MAAM,CACK,KAAa,EACV,QAAgB,EAC1B,IAAwB;QAEhC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAS,CAAC;IAClH,CAAC;CACF,CAAA;AAPC;IADC,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAExD,WAAA,IAAA,cAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,cAAI,EAAC,UAAU,CAAC,CAAA;IAChB,WAAA,IAAA,cAAI,GAAE,CAAA;;;;0CAGR;AAXU,YAAY;IADxB,IAAA,kBAAQ,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAI,CAAC;GACV,YAAY,CAYxB;AAZY,oCAAY"}
|
|
@@ -31,7 +31,7 @@ __decorate([
|
|
|
31
31
|
(0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)('files', null, {
|
|
32
32
|
storage: (0, multer_1.diskStorage)({
|
|
33
33
|
destination: config_env_1.default.staticAssets.path,
|
|
34
|
-
filename: file_helper_1.
|
|
34
|
+
filename: (0, file_helper_1.multerRandomFileName)(),
|
|
35
35
|
}),
|
|
36
36
|
})),
|
|
37
37
|
__param(0, (0, common_1.UploadedFiles)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/file/file.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,+DAA4D;AAC5D,mCAAqC;AACrC,oDAA4C;AAC5C,qFAAwE;AACxE,oEAAgE;AAChE,0EAAgF;AAMhF,IAAa,cAAc,GAA3B,MAAa,cAAc;IAqBzB,UAAU,CAAkB,KAAK,EAAU,MAAW;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAHC;IAjBC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE;QAG9B,OAAO,EAAE,IAAA,oBAAW,EAAC;YAInB,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI;YAGxC,QAAQ,EAAE,IAAA,kCAAoB,GAAE;SACjC,CAAC;KACH,CAAC,CACH;IACW,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAS,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAEzC;AAvBU,cAAc;IAD1B,IAAA,mBAAU,EAAC,OAAO,CAAC;GACP,cAAc,CAwB1B;AAxBY,wCAAc"}
|
|
@@ -34,7 +34,7 @@ let AvatarController = class AvatarController {
|
|
|
34
34
|
__decorate([
|
|
35
35
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.USER),
|
|
36
36
|
(0, common_1.Post)('upload'),
|
|
37
|
-
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file', file_helper_1.
|
|
37
|
+
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file', (0, file_helper_1.multerOptionsForImageUpload)({
|
|
38
38
|
destination: config_env_1.default.staticAssets.path + '/avatars',
|
|
39
39
|
}))),
|
|
40
40
|
__param(0, (0, common_1.UploadedFile)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,6FAA+E;AAC/E,qFAAwE;AACxE,oEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"avatar.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/avatar.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,8FAAiF;AACjF,+DAA2D;AAC3D,oDAA4C;AAC5C,6FAA+E;AAC/E,qFAAwE;AACxE,oEAAgE;AAChE,0EAAuF;AACvF,6CAAoC;AACpC,iDAA6C;AAM7C,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAI3B,YAA+B,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAe5D,UAAU,CAAiB,IAAyB,EAAc,IAAU;QAC1E,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAHC;IAVC,IAAA,uBAAK,EAAC,oBAAQ,CAAC,IAAI,CAAC;IACpB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EACd,IAAA,kCAAe,EACb,MAAM,EACN,IAAA,yCAA2B,EAAC;QAC1B,WAAW,EAAE,oBAAS,CAAC,YAAY,CAAC,IAAI,GAAG,UAAU;KACtD,CAAC,CACH,CACF;IACW,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,8BAAQ,GAAE,CAAA;;6CAAO,iBAAI;;kDAE3E;AArBU,gBAAgB;IAD5B,IAAA,iCAAU,EAAC,QAAQ,CAAC;qCAK0B,0BAAW;GAJ7C,gBAAgB,CAsB5B;AAtBY,4CAAgB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/pipelinestage" />
|
|
2
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/connection" />
|
|
3
4
|
/// <reference types="mongoose/types/cursor" />
|
|
4
5
|
/// <reference types="mongoose/types/document" />
|
|
5
6
|
/// <reference types="mongoose/types/error" />
|
|
7
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
6
8
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
7
9
|
import { CoreUserModel } from '../../../core/modules/user/core-user.model';
|
|
8
10
|
import { PersistenceModel } from '../../common/models/persistence.model';
|
|
@@ -14,4 +16,4 @@ export declare class User extends CoreUserModel implements PersistenceModel {
|
|
|
14
16
|
updatedBy: User;
|
|
15
17
|
init(): this;
|
|
16
18
|
}
|
|
17
|
-
export declare const UserSchema: Schema<Document<User, any, any>, import("mongoose").Model<Document<User, any, any>, any, any, any>,
|
|
19
|
+
export declare const UserSchema: Schema<Document<User, any, any>, import("mongoose").Model<Document<User, any, any>, any, any, any>, {}, {}>;
|
|
@@ -8,13 +8,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.UserModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
12
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
11
13
|
const json_scalar_1 = require("../../../core/common/scalars/json.scalar");
|
|
12
14
|
const avatar_controller_1 = require("./avatar.controller");
|
|
13
15
|
const user_model_1 = require("./user.model");
|
|
14
16
|
const user_resolver_1 = require("./user.resolver");
|
|
15
17
|
const user_service_1 = require("./user.service");
|
|
16
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
17
|
-
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
18
18
|
let UserModule = class UserModule {
|
|
19
19
|
};
|
|
20
20
|
UserModule = __decorate([
|
|
@@ -25,12 +25,16 @@ UserModule = __decorate([
|
|
|
25
25
|
json_scalar_1.JSON,
|
|
26
26
|
user_resolver_1.UserResolver,
|
|
27
27
|
user_service_1.UserService,
|
|
28
|
+
{
|
|
29
|
+
provide: 'USER_CLASS',
|
|
30
|
+
useValue: user_model_1.User,
|
|
31
|
+
},
|
|
28
32
|
{
|
|
29
33
|
provide: 'PUB_SUB',
|
|
30
34
|
useValue: new graphql_subscriptions_1.PubSub(),
|
|
31
35
|
},
|
|
32
36
|
],
|
|
33
|
-
exports: [mongoose_1.MongooseModule, user_resolver_1.UserResolver, user_service_1.UserService],
|
|
37
|
+
exports: [mongoose_1.MongooseModule, user_resolver_1.UserResolver, user_service_1.UserService, 'USER_CLASS'],
|
|
34
38
|
})
|
|
35
39
|
], UserModule);
|
|
36
40
|
exports.UserModule = UserModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0EAAgE;AAChE,2DAAuD;AACvD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;
|
|
1
|
+
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,iEAA+C;AAC/C,0EAAgE;AAChE,2DAAuD;AACvD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;AAuB7C,IAAa,UAAU,GAAvB,MAAa,UAAU;CAAG,CAAA;AAAb,UAAU;IAlBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAU,EAAE,CAAC,CAAC,CAAC;QAC/E,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE;YACT,kBAAI;YACJ,4BAAY;YACZ,0BAAW;YACX;gBACE,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,iBAAI;aACf;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;SACF;QACD,OAAO,EAAE,CAAC,yBAAc,EAAE,4BAAY,EAAE,0BAAW,EAAE,YAAY,CAAC;KACnE,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU"}
|
|
@@ -6,16 +6,17 @@ import { UserInput } from './inputs/user.input';
|
|
|
6
6
|
import { User } from './user.model';
|
|
7
7
|
import { UserService } from './user.service';
|
|
8
8
|
export declare class UserResolver {
|
|
9
|
-
protected readonly
|
|
9
|
+
protected readonly userService: UserService;
|
|
10
10
|
protected readonly pubSub: PubSub;
|
|
11
|
-
constructor(
|
|
12
|
-
getUser(id: string, info: GraphQLResolveInfo): Promise<User>;
|
|
11
|
+
constructor(userService: UserService, pubSub: PubSub);
|
|
13
12
|
findUsers(info: GraphQLResolveInfo, args?: FilterArgs): Promise<User[]>;
|
|
13
|
+
getUser(id: string, info: GraphQLResolveInfo): Promise<User>;
|
|
14
|
+
getVerifiedState(token: string): Promise<boolean>;
|
|
14
15
|
requestPasswordResetMail(email: string): Promise<boolean>;
|
|
15
|
-
|
|
16
|
-
resetPassword(token: string, password: string): Promise<boolean>;
|
|
17
|
-
createUser(input: UserCreateInput, user: User): Promise<User>;
|
|
18
|
-
updateUser(input: UserInput, id: string, user: User): Promise<User>;
|
|
16
|
+
createUser(input: UserCreateInput, user: User, info: GraphQLResolveInfo): Promise<User>;
|
|
19
17
|
deleteUser(id: string, info: GraphQLResolveInfo): Promise<User>;
|
|
18
|
+
resetPassword(token: string, password: string): Promise<boolean>;
|
|
19
|
+
updateUser(input: UserInput, id: string, user: User, info: GraphQLResolveInfo): Promise<User>;
|
|
20
|
+
verifyUser(token: string): Promise<boolean>;
|
|
20
21
|
userCreated(): Promise<AsyncIterator<unknown, any, undefined>>;
|
|
21
22
|
}
|
|
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.UserResolver = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
16
17
|
const graphql_1 = require("@nestjs/graphql");
|
|
17
18
|
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
18
19
|
const filter_args_1 = require("../../../core/common/args/filter.args");
|
|
@@ -24,43 +25,58 @@ const user_create_input_1 = require("./inputs/user-create.input");
|
|
|
24
25
|
const user_input_1 = require("./inputs/user.input");
|
|
25
26
|
const user_model_1 = require("./user.model");
|
|
26
27
|
const user_service_1 = require("./user.service");
|
|
27
|
-
const common_1 = require("@nestjs/common");
|
|
28
28
|
let UserResolver = class UserResolver {
|
|
29
|
-
constructor(
|
|
30
|
-
this.
|
|
29
|
+
constructor(userService, pubSub) {
|
|
30
|
+
this.userService = userService;
|
|
31
31
|
this.pubSub = pubSub;
|
|
32
32
|
}
|
|
33
|
+
async findUsers(info, args) {
|
|
34
|
+
return await this.userService.find(args, { fieldSelection: { info, select: 'findUsers' } });
|
|
35
|
+
}
|
|
33
36
|
async getUser(id, info) {
|
|
34
|
-
return await this.
|
|
37
|
+
return await this.userService.get(id, { fieldSelection: { info, select: 'getUser' } });
|
|
35
38
|
}
|
|
36
|
-
async
|
|
37
|
-
return await this.
|
|
39
|
+
async getVerifiedState(token) {
|
|
40
|
+
return await this.userService.getVerifiedState(token);
|
|
38
41
|
}
|
|
39
42
|
async requestPasswordResetMail(email) {
|
|
40
|
-
return !!(await this.
|
|
43
|
+
return !!(await this.userService.sendPasswordResetMail(email));
|
|
41
44
|
}
|
|
42
|
-
async
|
|
43
|
-
|
|
45
|
+
async createUser(input, user, info) {
|
|
46
|
+
input = await (0, input_helper_1.check)(input, user, user_create_input_1.UserCreateInput);
|
|
47
|
+
return await this.userService.create(input, { currentUser: user, fieldSelection: { info, select: 'createUser' } });
|
|
44
48
|
}
|
|
45
|
-
async
|
|
46
|
-
return
|
|
49
|
+
async deleteUser(id, info) {
|
|
50
|
+
return await this.userService.delete(id, { fieldSelection: { info, select: 'deleteUser' } });
|
|
47
51
|
}
|
|
48
|
-
async
|
|
49
|
-
|
|
50
|
-
return await this.usersService.create(input, user);
|
|
52
|
+
async resetPassword(token, password) {
|
|
53
|
+
return !!(await this.userService.resetPassword(token, password));
|
|
51
54
|
}
|
|
52
|
-
async updateUser(input, id, user) {
|
|
53
|
-
input = await input_helper_1.
|
|
54
|
-
return await this.
|
|
55
|
+
async updateUser(input, id, user, info) {
|
|
56
|
+
input = await (0, input_helper_1.check)(input, user, user_input_1.UserInput);
|
|
57
|
+
return await this.userService.update(id, input, {
|
|
58
|
+
currentUser: user,
|
|
59
|
+
fieldSelection: { info, select: 'updateUser' },
|
|
60
|
+
});
|
|
55
61
|
}
|
|
56
|
-
async
|
|
57
|
-
return await this.
|
|
62
|
+
async verifyUser(token) {
|
|
63
|
+
return !!(await this.userService.verify(token));
|
|
58
64
|
}
|
|
59
65
|
async userCreated() {
|
|
60
66
|
return this.pubSub.asyncIterator('userCreated');
|
|
61
67
|
}
|
|
62
68
|
};
|
|
63
69
|
__decorate([
|
|
70
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
71
|
+
(0, graphql_1.Query)((returns) => [user_model_1.User], { description: 'Find users (via filter)' }),
|
|
72
|
+
__param(0, (0, graphql_1.Info)()),
|
|
73
|
+
__param(1, (0, graphql_1.Args)()),
|
|
74
|
+
__metadata("design:type", Function),
|
|
75
|
+
__metadata("design:paramtypes", [Object, filter_args_1.FilterArgs]),
|
|
76
|
+
__metadata("design:returntype", Promise)
|
|
77
|
+
], UserResolver.prototype, "findUsers", null);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.OWNER, role_enum_1.RoleEnum.ADMIN),
|
|
64
80
|
(0, graphql_1.Query)((returns) => user_model_1.User, { description: 'Get user with specified ID' }),
|
|
65
81
|
__param(0, (0, graphql_1.Args)('id')),
|
|
66
82
|
__param(1, (0, graphql_1.Info)()),
|
|
@@ -69,14 +85,12 @@ __decorate([
|
|
|
69
85
|
__metadata("design:returntype", Promise)
|
|
70
86
|
], UserResolver.prototype, "getUser", null);
|
|
71
87
|
__decorate([
|
|
72
|
-
(0,
|
|
73
|
-
(0, graphql_1.
|
|
74
|
-
__param(0, (0, graphql_1.Info)()),
|
|
75
|
-
__param(1, (0, graphql_1.Args)()),
|
|
88
|
+
(0, graphql_1.Query)((returns) => Boolean, { description: 'Get verified state of user with token' }),
|
|
89
|
+
__param(0, (0, graphql_1.Args)('token')),
|
|
76
90
|
__metadata("design:type", Function),
|
|
77
|
-
__metadata("design:paramtypes", [
|
|
91
|
+
__metadata("design:paramtypes", [String]),
|
|
78
92
|
__metadata("design:returntype", Promise)
|
|
79
|
-
], UserResolver.prototype, "
|
|
93
|
+
], UserResolver.prototype, "getVerifiedState", null);
|
|
80
94
|
__decorate([
|
|
81
95
|
(0, graphql_1.Query)((returns) => Boolean, { description: 'Request new password for user with email' }),
|
|
82
96
|
__param(0, (0, graphql_1.Args)('email')),
|
|
@@ -85,12 +99,24 @@ __decorate([
|
|
|
85
99
|
__metadata("design:returntype", Promise)
|
|
86
100
|
], UserResolver.prototype, "requestPasswordResetMail", null);
|
|
87
101
|
__decorate([
|
|
88
|
-
(0, graphql_1.Mutation)((returns) =>
|
|
89
|
-
__param(0, (0, graphql_1.Args)('
|
|
102
|
+
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Create a new user' }),
|
|
103
|
+
__param(0, (0, graphql_1.Args)('input')),
|
|
104
|
+
__param(1, (0, graphql_user_decorator_1.GraphQLUser)()),
|
|
105
|
+
__param(2, (0, graphql_1.Info)()),
|
|
90
106
|
__metadata("design:type", Function),
|
|
91
|
-
__metadata("design:paramtypes", [
|
|
107
|
+
__metadata("design:paramtypes", [user_create_input_1.UserCreateInput,
|
|
108
|
+
user_model_1.User, Object]),
|
|
92
109
|
__metadata("design:returntype", Promise)
|
|
93
|
-
], UserResolver.prototype, "
|
|
110
|
+
], UserResolver.prototype, "createUser", null);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
|
|
113
|
+
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Delete existing user' }),
|
|
114
|
+
__param(0, (0, graphql_1.Args)('id')),
|
|
115
|
+
__param(1, (0, graphql_1.Info)()),
|
|
116
|
+
__metadata("design:type", Function),
|
|
117
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
118
|
+
__metadata("design:returntype", Promise)
|
|
119
|
+
], UserResolver.prototype, "deleteUser", null);
|
|
94
120
|
__decorate([
|
|
95
121
|
(0, graphql_1.Mutation)((returns) => Boolean, { description: 'Set new password for user with token' }),
|
|
96
122
|
__param(0, (0, graphql_1.Args)('token')),
|
|
@@ -99,36 +125,30 @@ __decorate([
|
|
|
99
125
|
__metadata("design:paramtypes", [String, String]),
|
|
100
126
|
__metadata("design:returntype", Promise)
|
|
101
127
|
], UserResolver.prototype, "resetPassword", null);
|
|
102
|
-
__decorate([
|
|
103
|
-
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Create a new user' }),
|
|
104
|
-
__param(0, (0, graphql_1.Args)('input')),
|
|
105
|
-
__param(1, (0, graphql_user_decorator_1.GraphQLUser)()),
|
|
106
|
-
__metadata("design:type", Function),
|
|
107
|
-
__metadata("design:paramtypes", [user_create_input_1.UserCreateInput, user_model_1.User]),
|
|
108
|
-
__metadata("design:returntype", Promise)
|
|
109
|
-
], UserResolver.prototype, "createUser", null);
|
|
110
128
|
__decorate([
|
|
111
129
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.OWNER),
|
|
112
130
|
(0, graphql_1.Mutation)((returns) => user_model_1.User, { description: 'Update existing user' }),
|
|
113
131
|
__param(0, (0, graphql_1.Args)('input')),
|
|
114
132
|
__param(1, (0, graphql_1.Args)('id')),
|
|
115
133
|
__param(2, (0, graphql_user_decorator_1.GraphQLUser)()),
|
|
134
|
+
__param(3, (0, graphql_1.Info)()),
|
|
116
135
|
__metadata("design:type", Function),
|
|
117
|
-
__metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User]),
|
|
136
|
+
__metadata("design:paramtypes", [user_input_1.UserInput, String, user_model_1.User, Object]),
|
|
118
137
|
__metadata("design:returntype", Promise)
|
|
119
138
|
], UserResolver.prototype, "updateUser", null);
|
|
120
139
|
__decorate([
|
|
121
|
-
(0,
|
|
122
|
-
(0, graphql_1.
|
|
123
|
-
__param(0, (0, graphql_1.Args)('id')),
|
|
124
|
-
__param(1, (0, graphql_1.Info)()),
|
|
140
|
+
(0, graphql_1.Mutation)((returns) => Boolean, { description: 'Verify user with email' }),
|
|
141
|
+
__param(0, (0, graphql_1.Args)('token')),
|
|
125
142
|
__metadata("design:type", Function),
|
|
126
|
-
__metadata("design:paramtypes", [String
|
|
143
|
+
__metadata("design:paramtypes", [String]),
|
|
127
144
|
__metadata("design:returntype", Promise)
|
|
128
|
-
], UserResolver.prototype, "
|
|
145
|
+
], UserResolver.prototype, "verifyUser", null);
|
|
129
146
|
__decorate([
|
|
130
147
|
(0, graphql_1.Subscription)((returns) => user_model_1.User, {
|
|
131
|
-
|
|
148
|
+
filter(payload, variables, context) {
|
|
149
|
+
return context.user.roles.include(role_enum_1.RoleEnum.ADMIN);
|
|
150
|
+
},
|
|
151
|
+
resolve: (user) => user,
|
|
132
152
|
}),
|
|
133
153
|
__metadata("design:type", Function),
|
|
134
154
|
__metadata("design:paramtypes", []),
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"user.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
1
|
/// <reference types="multer" />
|
|
2
|
-
import {
|
|
2
|
+
import { PubSub } from 'graphql-subscriptions';
|
|
3
|
+
import { Model } from 'mongoose';
|
|
4
|
+
import { ServiceOptions } from '../../../core/common/interfaces/service-options.interface';
|
|
3
5
|
import { ConfigService } from '../../../core/common/services/config.service';
|
|
4
6
|
import { EmailService } from '../../../core/common/services/email.service';
|
|
7
|
+
import { CoreModelConstructor } from '../../../core/common/types/core-model-constructor.type';
|
|
5
8
|
import { CoreUserService } from '../../../core/modules/user/core-user.service';
|
|
6
9
|
import { UserCreateInput } from './inputs/user-create.input';
|
|
7
10
|
import { UserInput } from './inputs/user.input';
|
|
8
11
|
import { User, UserDocument } from './user.model';
|
|
9
|
-
import { Model } from 'mongoose';
|
|
10
|
-
import { ICorePersistenceModel } from '../../../core/common/interfaces/core-persistence-model.interface';
|
|
11
|
-
import { PubSub } from 'graphql-subscriptions';
|
|
12
12
|
export declare class UserService extends CoreUserService<User, UserInput, UserCreateInput> {
|
|
13
13
|
protected readonly configService: ConfigService;
|
|
14
14
|
protected readonly emailService: EmailService;
|
|
15
|
-
protected readonly
|
|
15
|
+
protected readonly mainModelConstructor: CoreModelConstructor<User>;
|
|
16
|
+
protected readonly mainDbModel: Model<UserDocument>;
|
|
16
17
|
protected readonly pubSub: PubSub;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
find(filterArgs?: FilterArgs, ...args: any[]): Promise<User[]>;
|
|
21
|
-
sendPasswordResetMail(email: string): Promise<User>;
|
|
18
|
+
constructor(configService: ConfigService, emailService: EmailService, mainModelConstructor: CoreModelConstructor<User>, mainDbModel: Model<UserDocument>, pubSub: PubSub);
|
|
19
|
+
create(input: UserCreateInput, serviceOptions?: ServiceOptions): Promise<User>;
|
|
20
|
+
sendPasswordResetMail(email: string, serviceOptions?: ServiceOptions): Promise<User>;
|
|
22
21
|
setAvatar(file: Express.Multer.File, user: User): Promise<string>;
|
|
23
|
-
protected prepareInput(input: {
|
|
24
|
-
[key: string]: any;
|
|
25
|
-
}, currentUser: User, options?: {
|
|
26
|
-
create?: boolean;
|
|
27
|
-
}): Promise<{
|
|
28
|
-
[key: string]: any;
|
|
29
|
-
}>;
|
|
30
|
-
protected prepareOutput(user: User): Promise<User>;
|
|
31
22
|
}
|
|
@@ -14,42 +14,37 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.UserService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
17
18
|
const fs = require("fs");
|
|
19
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
20
|
+
const mongoose_2 = require("mongoose");
|
|
18
21
|
const config_env_1 = require("../../../config.env");
|
|
19
|
-
const filter_helper_1 = require("../../../core/common/helpers/filter.helper");
|
|
20
|
-
const service_helper_1 = require("../../../core/common/helpers/service.helper");
|
|
21
22
|
const config_service_1 = require("../../../core/common/services/config.service");
|
|
22
23
|
const email_service_1 = require("../../../core/common/services/email.service");
|
|
23
24
|
const core_user_service_1 = require("../../../core/modules/user/core-user.service");
|
|
24
25
|
const user_model_1 = require("./user.model");
|
|
25
|
-
const mongoose_1 = require("@nestjs/mongoose");
|
|
26
|
-
const mongoose_2 = require("mongoose");
|
|
27
|
-
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
28
26
|
let UserService = class UserService extends core_user_service_1.CoreUserService {
|
|
29
|
-
constructor(configService, emailService,
|
|
30
|
-
super(
|
|
27
|
+
constructor(configService, emailService, mainModelConstructor, mainDbModel, pubSub) {
|
|
28
|
+
super(emailService, mainDbModel, mainModelConstructor);
|
|
31
29
|
this.configService = configService;
|
|
32
30
|
this.emailService = emailService;
|
|
33
|
-
this.
|
|
31
|
+
this.mainModelConstructor = mainModelConstructor;
|
|
32
|
+
this.mainDbModel = mainDbModel;
|
|
34
33
|
this.pubSub = pubSub;
|
|
35
|
-
this.model = user_model_1.User;
|
|
36
34
|
}
|
|
37
|
-
async create(input,
|
|
38
|
-
const user = await super.create(input,
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
async create(input, serviceOptions) {
|
|
36
|
+
const user = await super.create(input, serviceOptions);
|
|
37
|
+
if ((serviceOptions === null || serviceOptions === void 0 ? void 0 : serviceOptions.pubSub) === undefined || serviceOptions.pubSub) {
|
|
38
|
+
await this.pubSub.publish('userCreated', user_model_1.User.map(user));
|
|
39
|
+
}
|
|
41
40
|
await this.emailService.sendMail(user.email, 'Welcome', {
|
|
42
41
|
htmlTemplate: 'welcome',
|
|
43
42
|
templateData: { name: user.username, link: config_env_1.default.email.verificationLink + '/' + user.verificationToken },
|
|
44
43
|
});
|
|
45
44
|
return user;
|
|
46
45
|
}
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
return this.userModel.find(filterQuery[0], null, filterQuery[1]).exec();
|
|
50
|
-
}
|
|
51
|
-
async sendPasswordResetMail(email) {
|
|
52
|
-
const user = await super.setPasswordResetTokenForEmail(email);
|
|
46
|
+
async sendPasswordResetMail(email, serviceOptions) {
|
|
47
|
+
const user = await super.setPasswordResetTokenForEmail(email, serviceOptions);
|
|
53
48
|
await this.emailService.sendMail(user.email, 'Password reset', {
|
|
54
49
|
htmlTemplate: 'password-reset',
|
|
55
50
|
templateData: { name: user.username, link: config_env_1.default.email.passwordResetLink + '/' + user.passwordResetToken },
|
|
@@ -57,7 +52,7 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
|
|
|
57
52
|
return user;
|
|
58
53
|
}
|
|
59
54
|
async setAvatar(file, user) {
|
|
60
|
-
const dbUser = await this.
|
|
55
|
+
const dbUser = await this.mainDbModel.findOne({ id: user.id }).exec();
|
|
61
56
|
if (!dbUser) {
|
|
62
57
|
throw new common_1.UnauthorizedException();
|
|
63
58
|
}
|
|
@@ -75,20 +70,14 @@ let UserService = class UserService extends core_user_service_1.CoreUserService
|
|
|
75
70
|
await dbUser.save();
|
|
76
71
|
return file.filename;
|
|
77
72
|
}
|
|
78
|
-
async prepareInput(input, currentUser, options = {}) {
|
|
79
|
-
return service_helper_1.ServiceHelper.prepareInput(input, currentUser, options);
|
|
80
|
-
}
|
|
81
|
-
async prepareOutput(user) {
|
|
82
|
-
return service_helper_1.ServiceHelper.prepareOutput(user);
|
|
83
|
-
}
|
|
84
73
|
};
|
|
85
74
|
UserService = __decorate([
|
|
86
75
|
(0, common_1.Injectable)(),
|
|
87
|
-
__param(2, (0,
|
|
88
|
-
__param(3, (0,
|
|
76
|
+
__param(2, (0, common_1.Inject)('USER_CLASS')),
|
|
77
|
+
__param(3, (0, mongoose_1.InjectModel)('User')),
|
|
78
|
+
__param(4, (0, common_1.Inject)('PUB_SUB')),
|
|
89
79
|
__metadata("design:paramtypes", [config_service_1.ConfigService,
|
|
90
|
-
email_service_1.EmailService,
|
|
91
|
-
mongoose_2.Model,
|
|
80
|
+
email_service_1.EmailService, Object, mongoose_2.Model,
|
|
92
81
|
graphql_subscriptions_1.PubSub])
|
|
93
82
|
], UserService);
|
|
94
83
|
exports.UserService = UserService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyG;AACzG,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { INestApplication } from '@nestjs/common';
|
|
2
|
-
import { FastifyInstance } from 'fastify';
|
|
3
2
|
import * as LightMyRequest from 'light-my-request';
|
|
4
3
|
export declare enum TestGraphQLType {
|
|
5
4
|
QUERY = "query",
|
|
@@ -34,7 +33,7 @@ export interface TestRestOptions {
|
|
|
34
33
|
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
35
34
|
}
|
|
36
35
|
export declare class TestHelper {
|
|
37
|
-
app:
|
|
36
|
+
app: INestApplication;
|
|
38
37
|
constructor(app: any);
|
|
39
38
|
graphQl(graphql: string | TestGraphQLConfig, options?: TestGraphQLOptions): Promise<any>;
|
|
40
39
|
rest(url: string, options?: TestRestOptions): Promise<any>;
|