@lenne.tech/nest-server 10.1.0 → 10.1.1
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/config.env.js +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.js +19 -2
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
- package/dist/core/common/services/module.service.js +9 -1
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/config.env.ts +1 -1
- package/src/core/common/interceptors/check-security.interceptor.ts +19 -2
- package/src/core/common/services/module.service.ts +9 -1
package/dist/config.env.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.CheckSecurityInterceptor = void 0;
|
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const operators_1 = require("rxjs/operators");
|
|
12
12
|
const context_helper_1 = require("../helpers/context.helper");
|
|
13
|
+
const db_helper_1 = require("../helpers/db.helper");
|
|
13
14
|
const input_helper_1 = require("../helpers/input.helper");
|
|
14
15
|
let CheckSecurityInterceptor = class CheckSecurityInterceptor {
|
|
15
16
|
intercept(context, next) {
|
|
@@ -22,7 +23,15 @@ let CheckSecurityInterceptor = class CheckSecurityInterceptor {
|
|
|
22
23
|
}
|
|
23
24
|
return next.handle().pipe((0, operators_1.map)((data) => {
|
|
24
25
|
if (data && typeof data === 'object' && typeof data.securityCheck === 'function') {
|
|
25
|
-
|
|
26
|
+
const dataJson = JSON.stringify(data);
|
|
27
|
+
const response = data.securityCheck(user, force);
|
|
28
|
+
new Promise(() => {
|
|
29
|
+
if (dataJson !== JSON.stringify(response)) {
|
|
30
|
+
const id = (0, db_helper_1.getStringIds)(data);
|
|
31
|
+
console.debug('CheckSecurityInterceptor: securityCheck changed data of type', data.constructor.name, id && !Array.isArray(id) ? `with ID: ${id}` : '');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return response;
|
|
26
35
|
}
|
|
27
36
|
if (data && typeof data === 'object') {
|
|
28
37
|
const writeable = !Object.keys(data).find(key => !Object.getOwnPropertyDescriptor(data, key).writable);
|
|
@@ -37,7 +46,15 @@ let CheckSecurityInterceptor = class CheckSecurityInterceptor {
|
|
|
37
46
|
}
|
|
38
47
|
return item;
|
|
39
48
|
}
|
|
40
|
-
|
|
49
|
+
const itemJson = JSON.stringify(item);
|
|
50
|
+
const response = item.securityCheck(user, force);
|
|
51
|
+
new Promise(() => {
|
|
52
|
+
if (itemJson !== JSON.stringify(response)) {
|
|
53
|
+
const id = (0, db_helper_1.getStringIds)(item);
|
|
54
|
+
console.debug('CheckSecurityInterceptor: securityCheck changed item of type', item.constructor.name, id && !Array.isArray(id) ? `with ID: ${id}` : '');
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return response;
|
|
41
58
|
}, { specialFunctions: ['securityCheck'] });
|
|
42
59
|
}));
|
|
43
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-security.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-security.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAE5F,8CAAqC;AACrC,8DAA2D;AAC3D,0DAAsD;AAM/C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,OAAO,CAAC,EAAE,WAAW,CAAC;QAGlD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE;YAGT,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,KAAK,cAAc,EAAE;gBAC/C,KAAK,GAAG,IAAI,CAAC;aACd;SACF;QAGD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE;gBAChF,
|
|
1
|
+
{"version":3,"file":"check-security.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-security.interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,15 @@ class ModuleService {
|
|
|
59
59
|
if (!opts.targetModel && config.inputType) {
|
|
60
60
|
opts.targetModel = config.inputType;
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
const originalInput = config.input;
|
|
63
|
+
const inputJSON = JSON.stringify(originalInput);
|
|
64
|
+
const preparedInput = await this.prepareInput(config.input, config);
|
|
65
|
+
new Promise(() => {
|
|
66
|
+
if (inputJSON?.replace(/"password":\s*"[^"]*"/, '') !== JSON.stringify(preparedInput)?.replace(/"password":\s*"[^"]*"/, '')) {
|
|
67
|
+
console.debug('CheckSecurityInterceptor: securityCheck changed input of type', originalInput.constructor.name, 'to type', preparedInput.constructor.name);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
config.input = preparedInput;
|
|
63
71
|
}
|
|
64
72
|
if (config.dbObject && config.checkRights && this.checkRights) {
|
|
65
73
|
if (typeof config.dbObject === 'string' || config.dbObject instanceof mongoose_1.Types.ObjectId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":";;;AAAA,4BAA6B;AAC7B,uCAAkD;AAClD,kEAAyD;AACzD,oDAA+D;AAC/D,0DAAgD;AAChD,8DAAwE;AASxE,MAAsB,aAAa;IAmBjC,YAAsB,OAIrB;QACC,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,CAAC;IAC5D,CAAC;IAKD,WAAW,CACT,KAAU,EACV,WAA+D,EAC/D,OAMC;QAED,MAAM,MAAM,GAAG;YACb,GAAG,OAAO;SACX,CAAC;QACF,OAAO,IAAA,oBAAK,EAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAUD,KAAK,CAAC,OAAO,CACX,WAAoG,EACpG,OAMC;QAGD,MAAM,MAAM,GAIS;YACnB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,qBAAqB,EAAE,EAAE;YACzB,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,MAAM,EAAE,IAAI;YACZ,uBAAuB,EAAE,IAAI;YAC7B,GAAG,OAAO,EAAE,cAAc;SAC3B,CAAC;QAGF,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACrG,IAAI,gBAAgB,EAAE;YACpB,IAAI,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBAC/D,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;aAClE;SACF;QAGD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE;gBAClE,MAAM,CAAC,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;aACxC;YACD,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE;gBACpE,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5C;SACF;QAGD,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACxC,IAAI,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,EAAE;gBAClD,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,GAAG,KAAK,CAAC;aACvD;SACF;QAGD,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE;gBACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC;aACrC;YACD,MAAM,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"module.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/module.service.ts"],"names":[],"mappings":"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"}
|