@lenne.tech/nest-server 8.6.8 → 8.6.11
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/decorators/graphql-user.decorator.js +2 -3
- package/dist/core/common/decorators/graphql-user.decorator.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.js +14 -13
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/helpers/context.helper.js +4 -5
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/db.helper.js +32 -21
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/file.helper.js +5 -1
- package/dist/core/common/helpers/file.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.js +16 -9
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.js +11 -8
- package/dist/core/common/helpers/graphql.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.js +17 -11
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.d.ts +2 -0
- package/dist/core/common/helpers/model.helper.js +125 -3
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.js +27 -13
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.js +6 -1
- package/dist/core/common/inputs/core-input.input.js.map +1 -1
- package/dist/core/common/inputs/single-filter.input.d.ts +1 -0
- package/dist/core/common/inputs/single-filter.input.js +8 -0
- package/dist/core/common/inputs/single-filter.input.js.map +1 -1
- package/dist/core/common/models/core-model.model.js +14 -2
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.js +1 -1
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js +2 -2
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/core/common/services/crud.service.js +3 -5
- package/dist/core/common/services/crud.service.js.map +1 -1
- package/dist/core/common/services/email.service.js +5 -1
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/mailjet.service.js +8 -1
- package/dist/core/common/services/mailjet.service.js.map +1 -1
- package/dist/core/common/services/module.service.js +29 -7
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/modules/auth/core-auth.model.d.ts +1 -0
- package/dist/core/modules/auth/core-auth.model.js +4 -0
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.js +2 -2
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/guards/auth.guard.js +4 -5
- package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/roles.guard.js +1 -2
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/file/core-file.service.d.ts +26 -0
- package/dist/core/modules/file/core-file.service.js +116 -0
- package/dist/core/modules/file/core-file.service.js.map +1 -0
- package/dist/core/modules/file/file-info.output.d.ts +10 -0
- package/dist/core/modules/file/file-info.output.js +49 -0
- package/dist/core/modules/file/file-info.output.js.map +1 -0
- package/dist/core/modules/file/interfaces/file-service-options.interface.d.ts +7 -0
- package/dist/core/modules/file/interfaces/file-service-options.interface.js +3 -0
- package/dist/core/modules/file/interfaces/file-service-options.interface.js.map +1 -0
- package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +13 -0
- package/dist/core/modules/file/interfaces/file-upload.interface.js +3 -0
- package/dist/core/modules/file/interfaces/file-upload.interface.js.map +1 -0
- package/dist/core/modules/user/core-user.model.d.ts +1 -0
- package/dist/core/modules/user/core-user.model.js +4 -0
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.js +7 -3
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +32 -37
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +3 -3
- package/dist/server/common/models/persistence.model.js +8 -4
- 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/auth/auth.module.js +4 -1
- package/dist/server/modules/auth/auth.module.js.map +1 -1
- package/dist/server/modules/file/file.controller.d.ts +6 -1
- package/dist/server/modules/file/file.controller.js +34 -4
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/file/file.resolver.d.ts +8 -2
- package/dist/server/modules/file/file.resolver.js +43 -6
- package/dist/server/modules/file/file.resolver.js.map +1 -1
- package/dist/server/modules/file/file.service.d.ts +6 -0
- package/dist/server/modules/file/file.service.js +32 -0
- package/dist/server/modules/file/file.service.js.map +1 -0
- 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 +4 -3
- package/dist/server/modules/user/user.model.js +9 -4
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.resolver.js +1 -2
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.js +2 -2
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/server/server.module.js +2 -1
- package/dist/server/server.module.js.map +1 -1
- package/dist/test/test.helper.d.ts +24 -1
- package/dist/test/test.helper.js +100 -13
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/src/core/common/helpers/db.helper.ts +2 -0
- package/src/core/common/helpers/filter.helper.ts +7 -1
- package/src/core/common/helpers/model.helper.ts +152 -0
- package/src/core/common/inputs/single-filter.input.ts +10 -1
- package/src/core/common/services/module.service.ts +1 -1
- package/src/core/modules/auth/core-auth.model.ts +10 -1
- package/src/core/modules/file/core-file.service.ts +179 -0
- package/src/core/modules/file/file-info.output.ts +26 -0
- package/src/core/modules/file/interfaces/file-service-options.interface.ts +7 -0
- package/src/core/modules/file/interfaces/file-upload.interface.ts +38 -0
- package/src/core/modules/user/core-user.model.ts +9 -0
- package/src/core.module.ts +1 -2
- package/src/index.ts +9 -0
- package/src/server/common/models/persistence.model.ts +24 -11
- package/src/server/modules/auth/auth.model.ts +9 -0
- package/src/server/modules/file/file.controller.ts +44 -5
- package/src/server/modules/file/file.resolver.ts +57 -33
- package/src/server/modules/file/file.service.ts +11 -0
- package/src/server/modules/user/inputs/user-create.input.ts +0 -4
- package/src/server/modules/user/inputs/user.input.ts +0 -4
- package/src/server/modules/user/user.model.ts +17 -8
- package/src/server/server.module.ts +2 -1
- package/src/test/test.helper.ts +125 -7
|
@@ -18,7 +18,14 @@ let MailjetService = class MailjetService {
|
|
|
18
18
|
this.configService = configService;
|
|
19
19
|
}
|
|
20
20
|
async sendMail(recipients, subject, templateId, config) {
|
|
21
|
-
const { senderName, senderEmail, templateData, attachments, sandbox } =
|
|
21
|
+
const { senderName, senderEmail, templateData, attachments, sandbox } = {
|
|
22
|
+
senderEmail: this.configService.get('email.defaultSender.email'),
|
|
23
|
+
senderName: this.configService.get('email.defaultSender.name'),
|
|
24
|
+
sandbox: false,
|
|
25
|
+
attachments: null,
|
|
26
|
+
templateData: null,
|
|
27
|
+
...config,
|
|
28
|
+
};
|
|
22
29
|
let to;
|
|
23
30
|
if (Array.isArray(recipients)) {
|
|
24
31
|
to = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailjet.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/mailjet.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qDAAiD;AACjD,+CAAmC;AAMnC,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,YAAsB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAK/C,KAAK,CAAC,QAAQ,CACnB,UAA6B,EAC7B,OAAe,EACf,UAAkB,EAClB,MAMC;QAGD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mailjet.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/mailjet.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qDAAiD;AACjD,+CAAmC;AAMnC,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,YAAsB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAK/C,KAAK,CAAC,QAAQ,CACnB,UAA6B,EAC7B,OAAe,EACf,UAAkB,EAClB,MAMC;QAGD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG;YACtE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC;YAChE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAC9D,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,GAAG,MAAM;SACV,CAAC;QAGF,IAAI,EAAE,CAAC;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,EAAE,GAAG,EAAE,CAAC;YACR,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aAC/B;SACF;aAAM;YACL,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;SAC9B;QAGD,MAAM,IAAI,GAA6B;YACrC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE;wBACJ,KAAK,EAAE,WAAW;wBAClB,IAAI,EAAE,UAAU;qBACjB;oBACD,EAAE,EAAE,EAAE;oBACN,UAAU,EAAE,UAAU;oBACtB,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,YAAY;oBACvB,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,WAAW;iBACzB;aACF;YACD,WAAW,EAAE,OAAO;SACrB,CAAC;QAEF,IAAI,UAAgC,CAAC;QACrC,IAAI;YAEF,UAAU,GAAG,MAAM,sBAAO,CAAC,OAAO,CAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,8BAA8B,CAAC,EACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACxD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QAGD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA3EY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAK0B,8BAAa;GAJvC,cAAc,CA2E1B;AA3EY,wCAAc"}
|
|
@@ -8,15 +8,28 @@ const input_helper_1 = require("../helpers/input.helper");
|
|
|
8
8
|
const service_helper_1 = require("../helpers/service.helper");
|
|
9
9
|
class ModuleService {
|
|
10
10
|
constructor(options) {
|
|
11
|
-
this.mainDbModel = options
|
|
12
|
-
this.mainModelConstructor = options
|
|
11
|
+
this.mainDbModel = options?.mainDbModel;
|
|
12
|
+
this.mainModelConstructor = options?.mainModelConstructor;
|
|
13
13
|
}
|
|
14
14
|
checkRights(input, currentUser, options) {
|
|
15
|
-
const config =
|
|
15
|
+
const config = {
|
|
16
|
+
metatype: this.mainModelConstructor,
|
|
17
|
+
...options,
|
|
18
|
+
};
|
|
16
19
|
return (0, input_helper_1.check)(input, currentUser, config);
|
|
17
20
|
}
|
|
18
21
|
async process(serviceFunc, options) {
|
|
19
|
-
const config =
|
|
22
|
+
const config = {
|
|
23
|
+
checkRights: true,
|
|
24
|
+
dbObject: options?.dbObject,
|
|
25
|
+
force: false,
|
|
26
|
+
input: options?.input,
|
|
27
|
+
processFieldSelection: {},
|
|
28
|
+
prepareInput: {},
|
|
29
|
+
prepareOutput: {},
|
|
30
|
+
pubSub: true,
|
|
31
|
+
...options?.serviceOptions,
|
|
32
|
+
};
|
|
20
33
|
if (config.force) {
|
|
21
34
|
config.checkRights = false;
|
|
22
35
|
if (typeof config.prepareInput === 'object') {
|
|
@@ -77,15 +90,24 @@ class ModuleService {
|
|
|
77
90
|
return result;
|
|
78
91
|
}
|
|
79
92
|
async prepareInput(input, options = {}) {
|
|
80
|
-
const config =
|
|
93
|
+
const config = {
|
|
94
|
+
...options?.prepareInput,
|
|
95
|
+
};
|
|
81
96
|
return (0, service_helper_1.prepareInput)(input, options.currentUser, config);
|
|
82
97
|
}
|
|
83
98
|
async prepareOutput(output, options = {}) {
|
|
84
|
-
const config =
|
|
99
|
+
const config = {
|
|
100
|
+
targetModel: this.mainModelConstructor,
|
|
101
|
+
...options?.prepareOutput,
|
|
102
|
+
};
|
|
85
103
|
return (0, service_helper_1.prepareOutput)(output, config);
|
|
86
104
|
}
|
|
87
105
|
async processFieldSelection(data, fieldsSelection, options = {}) {
|
|
88
|
-
const config =
|
|
106
|
+
const config = {
|
|
107
|
+
model: this.mainModelConstructor,
|
|
108
|
+
dbModel: this.mainDbModel,
|
|
109
|
+
...options,
|
|
110
|
+
};
|
|
89
111
|
return (0, db_helper_1.popAndMap)(data, fieldsSelection, config.model, config.dbModel);
|
|
90
112
|
}
|
|
91
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":";;;AAAA,uCAAkD;AAClD,kEAAyD;AACzD,oDAA+D;AAC/D,0DAAgD;AAChD,8DAAwE;AAQxE,MAAsB,aAAa;IAcjC,YAAsB,OAGrB;QACC,IAAI,CAAC,WAAW,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@ let CoreAuthModel = class CoreAuthModel extends core_model_model_1.CoreModel {
|
|
|
21
21
|
super.init();
|
|
22
22
|
return this;
|
|
23
23
|
}
|
|
24
|
+
map(input) {
|
|
25
|
+
super.map(input);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
24
28
|
};
|
|
25
29
|
__decorate([
|
|
26
30
|
(0, graphql_1.Field)({ description: 'JavaScript Web Token (JWT)' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.model.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,2EAAiE;AAMjE,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,4BAAS;IAA5C;;QASE,UAAK,GAAW,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core-auth.model.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,2EAAiE;AAMjE,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,4BAAS;IAA5C;;QASE,UAAK,GAAW,SAAS,CAAC;IAuB5B,CAAC;IAdC,IAAI;QACF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,GAAG,CAAC,KAAK;QACP,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvBC;IADC,IAAA,eAAK,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;;4CAC3B;AATf,aAAa;IADzB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;GAC7C,aAAa,CAgCzB;AAhCY,sCAAa"}
|
|
@@ -20,7 +20,7 @@ const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
|
20
20
|
let CoreAuthModule = CoreAuthModule_1 = class CoreAuthModule {
|
|
21
21
|
static forRoot(UserModule, UserService, options) {
|
|
22
22
|
let imports = [UserModule, passport_1.PassportModule.register({ defaultStrategy: 'jwt' }), jwt_1.JwtModule.register(options)];
|
|
23
|
-
if (Array.isArray(options
|
|
23
|
+
if (Array.isArray(options?.imports)) {
|
|
24
24
|
imports = imports.concat(options.imports);
|
|
25
25
|
}
|
|
26
26
|
let providers = [
|
|
@@ -39,7 +39,7 @@ let CoreAuthModule = CoreAuthModule_1 = class CoreAuthModule {
|
|
|
39
39
|
core_auth_service_1.CoreAuthService,
|
|
40
40
|
jwt_strategy_1.JwtStrategy,
|
|
41
41
|
];
|
|
42
|
-
if (Array.isArray(options
|
|
42
|
+
if (Array.isArray(options?.providers)) {
|
|
43
43
|
providers = imports.concat(options.providers);
|
|
44
44
|
}
|
|
45
45
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyF;AACzF,uCAAyC;AACzC,qCAA0D;AAC1D,+CAAkD;AAClD,sDAAkD;AAClD,iDAA6C;AAC7C,8EAAwE;AACxE,oEAA+D;AAC/D,iEAA+C;AAM/C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAKzB,MAAM,CAAC,OAAO,CACZ,UAAqB,EACrB,WAAsC,EACtC,OAGC;QAGD,IAAI,OAAO,GAAU,CAAC,UAAU,EAAE,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,eAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"core-auth.module.js","sourceRoot":"","sources":["../../../../src/core/modules/auth/core-auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyF;AACzF,uCAAyC;AACzC,qCAA0D;AAC1D,+CAAkD;AAClD,sDAAkD;AAClD,iDAA6C;AAC7C,8EAAwE;AACxE,oEAA+D;AAC/D,iEAA+C;AAM/C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAKzB,MAAM,CAAC,OAAO,CACZ,UAAqB,EACrB,WAAsC,EACtC,OAGC;QAGD,IAAI,OAAO,GAAU,CAAC,UAAU,EAAE,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,eAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACpH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YACnC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3C;QAGD,IAAI,SAAS,GAAG;YAEd;gBACE,OAAO,EAAE,gBAAS;gBAClB,QAAQ,EAAE,wBAAU;aACrB;YACD;gBACE,OAAO,EAAE,4CAAmB;gBAC5B,QAAQ,EAAE,WAAW;aACtB;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;YAGD,mCAAe;YACf,0BAAW;SACZ,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;YACrC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC/C;QAGD,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,CAAC,mCAAe,EAAE,eAAS,EAAE,0BAAW,EAAE,yBAAc,EAAE,UAAU,CAAC;SAC/E,CAAC;IACJ,CAAC;CACF,CAAA;AAnDY,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAmD1B;AAnDY,wCAAc"}
|
|
@@ -39,16 +39,15 @@ function createAuthGuard(type) {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
async canActivate(context) {
|
|
42
|
-
var _a, _b, _c, _d;
|
|
43
42
|
const args = context.getArgs();
|
|
44
|
-
if (args.length > 0 &&
|
|
43
|
+
if (args.length > 0 && args[args.length - 1]?.operation?.operation === 'subscription') {
|
|
45
44
|
return true;
|
|
46
45
|
}
|
|
47
|
-
const options =
|
|
48
|
-
const response =
|
|
46
|
+
const options = { ...options_1.defaultOptions, ...this.options };
|
|
47
|
+
const response = context?.switchToHttp()?.getResponse();
|
|
49
48
|
let request = this.getRequest(context);
|
|
50
49
|
if (!request) {
|
|
51
|
-
request =
|
|
50
|
+
request = context?.switchToHttp()?.getRequest();
|
|
52
51
|
}
|
|
53
52
|
const passportFn = createPassportContext(request, response);
|
|
54
53
|
const user = await passportFn(type || this.options.defaultStrategy, options, (err, currentUser, info) => this.handleRequest(err, currentUser, info, context));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+G;AAC/G,+CAA2D;AAC3D,2DAA+D;AAC/D,2EAAmE;AACnE,qCAAqC;AAKrC,MAAM,iBAAiB,GACrB,qFAAqF;IACrF,kFAAkF,CAAC;AAcrF,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAA4B,EAAE,EAAE,CACnG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC9B,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IACvD,IAAI;QACF,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC;KACb;AACH,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;AASJ,SAAS,eAAe,CAAC,IAAa;IACpC,IAAM,cAAc,GAApB,MAAM,cAAc;QAIlB,YAA2C,OAA2B;YAA3B,YAAO,GAAP,OAAO,CAAoB;YACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC1C,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;aAClD;QACH,CAAC;QAKD,KAAK,CAAC,WAAW,CAAC,OAAyB
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/auth.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ let RolesGuard = class RolesGuard extends (0, auth_guard_1.AuthGuard)('jwt') {
|
|
|
21
21
|
this.reflector = reflector;
|
|
22
22
|
}
|
|
23
23
|
handleRequest(err, user, info, context) {
|
|
24
|
-
var _a;
|
|
25
24
|
const reflectorRoles = this.reflector.getAll('roles', [context.getHandler(), context.getClass()]);
|
|
26
25
|
const roles = reflectorRoles[0]
|
|
27
26
|
? reflectorRoles[1]
|
|
@@ -31,7 +30,7 @@ let RolesGuard = class RolesGuard extends (0, auth_guard_1.AuthGuard)('jwt') {
|
|
|
31
30
|
if (!roles || !roles.some((value) => !!value)) {
|
|
32
31
|
return user;
|
|
33
32
|
}
|
|
34
|
-
if (!
|
|
33
|
+
if (!user?.hasRole?.(roles)) {
|
|
35
34
|
const args = graphql_1.GqlExecutionContext.create(context).getArgs();
|
|
36
35
|
if (user && roles.includes(role_enum_1.RoleEnum.S_USER)) {
|
|
37
36
|
return user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/roles.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6F;AAC7F,uCAAyC;AACzC,6CAAsD;AACtD,+DAA2D;AAC3D,6CAAyC;AAUzC,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,IAAA,sBAAS,EAAC,KAAK,CAAC;IAI9C,YAA+B,SAAoB;QACjD,KAAK,EAAE,CAAC;QADqB,cAAS,GAAT,SAAS,CAAW;IAEnD,CAAC;IAKD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO
|
|
1
|
+
{"version":3,"file":"roles.guard.js","sourceRoot":"","sources":["../../../../../src/core/modules/auth/guards/roles.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6F;AAC7F,uCAAyC;AACzC,6CAAsD;AACtD,+DAA2D;AAC3D,6CAAyC;AAUzC,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,IAAA,sBAAS,EAAC,KAAK,CAAC;IAI9C,YAA+B,SAAoB;QACjD,KAAK,EAAE,CAAC;QADqB,cAAS,GAAT,SAAS,CAAW;IAEnD,CAAC;IAKD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;QAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAa,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,KAAK,GAAa,cAAc,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAGtB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAGD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;YAE3B,MAAM,IAAI,GAAQ,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YAGhE,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAQ,CAAC,MAAM,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC;aACb;YAGD,MAAM,IAAI,8BAAqB,EAAE,CAAC;SACnC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,UAAU,CAAC,OAAyB;QAClC,MAAM,GAAG,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IACvF,CAAC;CACF,CAAA;AAlDY,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAK+B,gBAAS;GAJxC,UAAU,CAkDtB;AAlDY,gCAAU"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { GridFSBucket, GridFSBucketReadStreamOptions } from 'mongodb';
|
|
3
|
+
import { Connection, Types } from 'mongoose';
|
|
4
|
+
import { MongooseGridFS } from 'mongoose-gridfs';
|
|
5
|
+
import { FilterArgs } from '../../common/args/filter.args';
|
|
6
|
+
import { FileInfo } from './file-info.output';
|
|
7
|
+
import { FileServiceOptions } from './interfaces/file-service-options.interface';
|
|
8
|
+
import { FileUpload } from './interfaces/file-upload.interface';
|
|
9
|
+
export declare abstract class CoreFileService {
|
|
10
|
+
protected readonly connection: Connection;
|
|
11
|
+
files: GridFSBucket & MongooseGridFS;
|
|
12
|
+
protected constructor(connection: Connection, modelName?: string);
|
|
13
|
+
createFile(file: FileUpload, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
|
|
14
|
+
createFiles(files: FileUpload[], serviceOptions?: FileServiceOptions): Promise<FileInfo[]>;
|
|
15
|
+
findFileInfo(filterArgs?: FilterArgs, serviceOptions?: FileServiceOptions): Promise<FileInfo[]>;
|
|
16
|
+
getFileInfo(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
|
|
17
|
+
getFileInfoByName(filename: string, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
|
|
18
|
+
getFileStream(id: string | Types.ObjectId, options?: GridFSBucketReadStreamOptions): any;
|
|
19
|
+
getFileStreamByName(filename: string): GridFSBucketReadStreamOptions;
|
|
20
|
+
getBuffer(id: string | Types.ObjectId): Promise<Buffer>;
|
|
21
|
+
getBufferByName(filename: string): Promise<Buffer>;
|
|
22
|
+
deleteFile(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
|
|
23
|
+
deleteFileByName(filename: string, serviceOptions?: FileServiceOptions): Promise<FileInfo>;
|
|
24
|
+
protected prepareOutput(fileInfo: FileInfo | FileInfo[], options?: FileServiceOptions): Promise<any>;
|
|
25
|
+
protected setId(fileInfo: FileInfo | FileInfo[]): FileInfo | FileInfo[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreFileService = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const mongoose_gridfs_1 = require("mongoose-gridfs");
|
|
6
|
+
const db_helper_1 = require("../../common/helpers/db.helper");
|
|
7
|
+
const filter_helper_1 = require("../../common/helpers/filter.helper");
|
|
8
|
+
const input_helper_1 = require("../../common/helpers/input.helper");
|
|
9
|
+
const service_helper_1 = require("../../common/helpers/service.helper");
|
|
10
|
+
const file_info_output_1 = require("./file-info.output");
|
|
11
|
+
class CoreFileService {
|
|
12
|
+
constructor(connection, modelName = 'File') {
|
|
13
|
+
this.connection = connection;
|
|
14
|
+
this.files = (0, mongoose_gridfs_1.createBucket)({ modelName, connection });
|
|
15
|
+
}
|
|
16
|
+
createFile(file, serviceOptions) {
|
|
17
|
+
return new Promise(async (resolve, reject) => {
|
|
18
|
+
const { filename, mimetype, encoding, createReadStream } = file;
|
|
19
|
+
const readStream = createReadStream();
|
|
20
|
+
const options = { filename, contentType: mimetype };
|
|
21
|
+
this.files.writeFile(options, readStream, (error, fileInfo) => {
|
|
22
|
+
error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async createFiles(files, serviceOptions) {
|
|
27
|
+
const promises = [];
|
|
28
|
+
for (const file of files) {
|
|
29
|
+
promises.push(this.createFile(file, serviceOptions));
|
|
30
|
+
}
|
|
31
|
+
return await Promise.all(promises);
|
|
32
|
+
}
|
|
33
|
+
findFileInfo(filterArgs, serviceOptions) {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
const filterQuery = (0, filter_helper_1.convertFilterArgsToQuery)(filterArgs);
|
|
36
|
+
const cursor = this.files.find(filterQuery[0], filterQuery[1]);
|
|
37
|
+
if (!cursor) {
|
|
38
|
+
throw new Error('File collection not found');
|
|
39
|
+
}
|
|
40
|
+
cursor.toArray((error, docs) => {
|
|
41
|
+
error ? reject(error) : resolve(this.prepareOutput(docs, serviceOptions));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
getFileInfo(id, serviceOptions) {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
this.files.findById((0, db_helper_1.getObjectIds)(id), (error, fileInfo) => {
|
|
48
|
+
error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getFileInfoByName(filename, serviceOptions) {
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
this.files.findOne({ filename }, (error, fileInfo) => {
|
|
55
|
+
error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getFileStream(id, options) {
|
|
60
|
+
return this.files.openDownloadStream((0, db_helper_1.getObjectIds)(id), options);
|
|
61
|
+
}
|
|
62
|
+
getFileStreamByName(filename) {
|
|
63
|
+
return this.files.readFile({ filename });
|
|
64
|
+
}
|
|
65
|
+
getBuffer(id) {
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
this.files.readFile({ _id: (0, db_helper_1.getObjectIds)(id) }, (error, buffer) => {
|
|
68
|
+
error ? reject(error) : resolve(buffer);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
getBufferByName(filename) {
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
this.files.readFile({ filename }, (error, buffer) => {
|
|
75
|
+
error ? reject(error) : resolve(buffer);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
deleteFile(id, serviceOptions) {
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
return this.files.unlink((0, db_helper_1.getObjectIds)(id), (error, fileInfo) => {
|
|
82
|
+
error ? reject(error) : resolve(this.prepareOutput(fileInfo, serviceOptions));
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async deleteFileByName(filename, serviceOptions) {
|
|
87
|
+
const fileInfo = await this.getFileInfoByName(filename);
|
|
88
|
+
if (!fileInfo) {
|
|
89
|
+
throw new common_1.NotFoundException('File not found with filename ' + filename);
|
|
90
|
+
}
|
|
91
|
+
return await this.deleteFile(fileInfo.id, serviceOptions);
|
|
92
|
+
}
|
|
93
|
+
async prepareOutput(fileInfo, options) {
|
|
94
|
+
if (!fileInfo) {
|
|
95
|
+
return fileInfo;
|
|
96
|
+
}
|
|
97
|
+
this.setId(fileInfo);
|
|
98
|
+
fileInfo = await (0, service_helper_1.prepareOutput)(fileInfo, { targetModel: file_info_output_1.FileInfo });
|
|
99
|
+
return (0, input_helper_1.check)(fileInfo, options?.currentUser, { roles: options?.roles });
|
|
100
|
+
}
|
|
101
|
+
setId(fileInfo) {
|
|
102
|
+
if (Array.isArray(fileInfo)) {
|
|
103
|
+
fileInfo.forEach((item) => {
|
|
104
|
+
if (typeof item === 'object') {
|
|
105
|
+
item.id = (0, db_helper_1.getStringIds)(item._id);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else if (typeof fileInfo === 'object') {
|
|
110
|
+
fileInfo.id = (0, db_helper_1.getStringIds)(fileInfo._id);
|
|
111
|
+
}
|
|
112
|
+
return fileInfo;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.CoreFileService = CoreFileService;
|
|
116
|
+
//# sourceMappingURL=core-file.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-file.service.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Types } from 'mongoose';
|
|
2
|
+
import { CoreModel } from '../../common/models/core-model.model';
|
|
3
|
+
export declare class FileInfo extends CoreModel {
|
|
4
|
+
_id: Types.ObjectId;
|
|
5
|
+
id: string;
|
|
6
|
+
length: number;
|
|
7
|
+
chunkSize: number;
|
|
8
|
+
filename?: string;
|
|
9
|
+
contentType?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FileInfo = void 0;
|
|
13
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
14
|
+
const core_model_model_1 = require("../../common/models/core-model.model");
|
|
15
|
+
let FileInfo = class FileInfo extends core_model_model_1.CoreModel {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.id = undefined;
|
|
19
|
+
this.length = undefined;
|
|
20
|
+
this.chunkSize = undefined;
|
|
21
|
+
this.filename = undefined;
|
|
22
|
+
this.contentType = undefined;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, graphql_1.Field)(() => String, { description: 'ID of the file in bytes' }),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], FileInfo.prototype, "id", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, graphql_1.Field)(() => Number, { description: 'Length of the file in bytes', nullable: true }),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], FileInfo.prototype, "length", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, graphql_1.Field)(() => Number, { description: 'Size of the chunk', nullable: true }),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], FileInfo.prototype, "chunkSize", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, graphql_1.Field)(() => String, { description: 'Name of the file', nullable: true }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], FileInfo.prototype, "filename", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, graphql_1.Field)(() => String, { description: 'Content type', nullable: true }),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], FileInfo.prototype, "contentType", void 0);
|
|
45
|
+
FileInfo = __decorate([
|
|
46
|
+
(0, graphql_1.ObjectType)({ description: 'Information about attachment file' })
|
|
47
|
+
], FileInfo);
|
|
48
|
+
exports.FileInfo = FileInfo;
|
|
49
|
+
//# sourceMappingURL=file-info.output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-info.output.js","sourceRoot":"","sources":["../../../../src/core/modules/file/file-info.output.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAEpD,2EAAiE;AAMjE,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,4BAAS;IAAvC;;QAIE,OAAE,GAAW,SAAS,CAAC;QAGvB,WAAM,GAAW,SAAS,CAAC;QAG3B,cAAS,GAAW,SAAS,CAAC;QAG9B,aAAQ,GAAY,SAAS,CAAC;QAG9B,gBAAW,GAAY,SAAS,CAAC;IACnC,CAAC;CAAA,CAAA;AAbC;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;;oCACzC;AAGvB;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACzD;AAG3B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC5C;AAG9B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CAC3C;AAG9B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACpC;AAhBtB,QAAQ;IADpB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;GACpD,QAAQ,CAiBpB;AAjBY,4BAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-service-options.interface.js","sourceRoot":"","sources":["../../../../../src/core/modules/file/interfaces/file-service-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { WriteStream } from 'fs-capacitor';
|
|
3
|
+
import { Readable } from 'stream';
|
|
4
|
+
export interface FileUpload {
|
|
5
|
+
capacitor: WriteStream;
|
|
6
|
+
createReadStream: (options?: {
|
|
7
|
+
encoding?: 'utf8' | 'utf8' | 'ucs2' | 'utf16le' | 'latin1' | 'ascii' | 'base64' | 'base64url' | 'hex';
|
|
8
|
+
highWaterMark?: number;
|
|
9
|
+
}) => Readable;
|
|
10
|
+
encoding: string;
|
|
11
|
+
filename: string;
|
|
12
|
+
mimetype: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.interface.js","sourceRoot":"","sources":["../../../../../src/core/modules/file/interfaces/file-upload.interface.ts"],"names":[],"mappings":""}
|
|
@@ -50,6 +50,10 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
50
50
|
this.roles = this.roles === undefined ? [] : this.roles;
|
|
51
51
|
return this;
|
|
52
52
|
}
|
|
53
|
+
map(input) {
|
|
54
|
+
super.map(input);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
53
57
|
};
|
|
54
58
|
__decorate([
|
|
55
59
|
(0, graphql_1.Field)({ description: 'Email of the user', nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAkE;AAClE,qDAAsD;AAGtD,uFAAkF;AASlF,IAAsB,aAAa,GAAnC,MAAsB,aAAc,SAAQ,6CAAoB;IAAhE;;QAWE,UAAK,GAAW,SAAS,CAAC;QAQ1B,cAAS,GAAW,SAAS,CAAC;QAQ9B,aAAQ,GAAW,SAAS,CAAC;QAM7B,aAAQ,GAAW,SAAS,CAAC;QAQ7B,UAAK,GAAa,SAAS,CAAC;QAQ5B,aAAQ,GAAW,SAAS,CAAC;QAO7B,uBAAkB,GAAW,SAAS,CAAC;QAOvC,sBAAiB,GAAW,SAAS,CAAC;QAOtC,aAAQ,GAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,13 @@ class CoreUserService extends crud_service_1.CrudService {
|
|
|
17
17
|
async create(input, serviceOptions) {
|
|
18
18
|
serviceOptions = (0, config_helper_1.merge)({ prepareInput: { create: true } }, serviceOptions);
|
|
19
19
|
return this.process(async (data) => {
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
20
|
+
const currentUserId = serviceOptions?.currentUser?._id;
|
|
21
|
+
const createdUser = new this.mainDbModel({
|
|
22
|
+
...data.input,
|
|
23
|
+
verificationToken: crypto.randomBytes(32).toString('hex'),
|
|
24
|
+
createdBy: currentUserId,
|
|
25
|
+
updatedBy: currentUserId,
|
|
26
|
+
});
|
|
23
27
|
try {
|
|
24
28
|
await createdUser.save();
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":";;;AAAA,2CAAsG;AACtG,iCAAiC;AACjC,iCAAiC;AAEjC,sEAA2D;AAC3D,oEAAgE;AAEhE,qEAAiE;AAUjE,MAAsB,eAIpB,SAAQ,0BAAkB;IAC1B,YACY,YAA0B,EACjB,WAAoC,EAC7C,oBAAiD;QAE3D,KAAK,EAAE,CAAC;QAJE,iBAAY,GAAZ,YAAY,CAAc;QACjB,gBAAW,GAAX,WAAW,CAAyB;QAC7C,yBAAoB,GAApB,oBAAoB,CAA6B;IAG7D,CAAC;IASD,KAAK,CAAC,MAAM,CAAC,KAAU,EAAE,cAA+B;QACtD,cAAc,GAAG,IAAA,qBAAK,EAAC,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EAAE,IAAI,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"core-user.service.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.service.ts"],"names":[],"mappings":"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"}
|