@lenne.tech/nest-server 10.2.14 → 10.2.15
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 +24 -3
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +1 -0
- package/dist/core/common/decorators/restricted.decorator.js +5 -2
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.d.ts +11 -0
- package/dist/core/common/interceptors/check-response.interceptor.js +22 -2
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +8 -1
- package/dist/core/common/models/core-persistence.model.js +12 -0
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config.env.ts +24 -3
- package/src/core/common/decorators/restricted.decorator.ts +8 -2
- package/src/core/common/interceptors/check-response.interceptor.ts +18 -1
- package/src/core/common/interfaces/server-options.interface.ts +40 -2
- package/src/core/common/models/core-persistence.model.ts +8 -0
package/dist/config.env.js
CHANGED
|
@@ -74,7 +74,14 @@ const config = {
|
|
|
74
74
|
},
|
|
75
75
|
port: 3000,
|
|
76
76
|
security: {
|
|
77
|
-
checkResponseInterceptor:
|
|
77
|
+
checkResponseInterceptor: {
|
|
78
|
+
checkObjectItself: false,
|
|
79
|
+
debug: false,
|
|
80
|
+
ignoreUndefined: true,
|
|
81
|
+
mergeRoles: true,
|
|
82
|
+
removeUndefinedFromResultArray: true,
|
|
83
|
+
throwError: false,
|
|
84
|
+
},
|
|
78
85
|
checkSecurityInterceptor: true,
|
|
79
86
|
mapAndValidatePipe: true,
|
|
80
87
|
},
|
|
@@ -169,7 +176,14 @@ const config = {
|
|
|
169
176
|
},
|
|
170
177
|
port: 3000,
|
|
171
178
|
security: {
|
|
172
|
-
checkResponseInterceptor:
|
|
179
|
+
checkResponseInterceptor: {
|
|
180
|
+
checkObjectItself: false,
|
|
181
|
+
debug: false,
|
|
182
|
+
ignoreUndefined: true,
|
|
183
|
+
mergeRoles: true,
|
|
184
|
+
removeUndefinedFromResultArray: true,
|
|
185
|
+
throwError: false,
|
|
186
|
+
},
|
|
173
187
|
checkSecurityInterceptor: true,
|
|
174
188
|
mapAndValidatePipe: true,
|
|
175
189
|
},
|
|
@@ -253,7 +267,14 @@ const config = {
|
|
|
253
267
|
},
|
|
254
268
|
port: 3000,
|
|
255
269
|
security: {
|
|
256
|
-
checkResponseInterceptor:
|
|
270
|
+
checkResponseInterceptor: {
|
|
271
|
+
checkObjectItself: false,
|
|
272
|
+
debug: false,
|
|
273
|
+
ignoreUndefined: true,
|
|
274
|
+
mergeRoles: true,
|
|
275
|
+
removeUndefinedFromResultArray: true,
|
|
276
|
+
throwError: false,
|
|
277
|
+
},
|
|
257
278
|
checkSecurityInterceptor: true,
|
|
258
279
|
mapAndValidatePipe: true,
|
|
259
280
|
},
|
package/dist/config.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":";;AAAA,+CAAkD;AAClD,+BAA4B;AAE5B,uEAA4D;AAM5D,MAAM,MAAM,GAAsC;IAIhD,WAAW,EAAE;QACX,0BAA0B,EAAE,IAAI;QAChC,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,aAAa,EAAE;gBACb,KAAK,EAAE,iCAAiC;gBACxC,IAAI,EAAE,yBAAyB;aAChC;YACD,OAAO,EAAE;gBACP,eAAe,EAAE,yBAAyB;gBAC1C,cAAc,EAAE,wBAAwB;aACzC;YACD,iBAAiB,EAAE,2CAA2C;YAC9D,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,iCAAiC;iBACxC;gBACD,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,KAAK;aACd;YACD,gBAAgB,EAAE,yCAAyC;SAC5D;QACD,GAAG,EAAE,aAAa;QAClB,aAAa,EAAE,wBAAwB;QACvC,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI;SACf;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI;aACpB;YACD,aAAa,EAAE,EAAE;SAClB;QACD,WAAW,EAAE;YACX,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI;iBACd;aACF;YACD,OAAO,EAAE,IAAI;SACd;QACD,2BAA2B,EAAE,IAAI;QACjC,GAAG,EAAE;YAIH,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;gBAKb,MAAM,EAAE,mCAAmC;gBAC3C,aAAa,EAAE;oBACb,SAAS,EAAE,IAAI;iBAChB;aACF;YACD,iBAAiB,EAAE,IAAI;YAEvB,MAAM,EAAE,2BAA2B;YACnC,aAAa,EAAE;gBACb,SAAS,EAAE,KAAK;aACjB;SACF;QACD,eAAe,EAAE,KAAK;QACtB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI;aACb;YACD,kBAAkB,EAAE,KAAK;YACzB,GAAG,EAAE,qCAAqC;SAC3C;QACD,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE;YACR,wBAAwB,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const common_1 = require("@nestjs/common");
|
|
|
5
5
|
require("reflect-metadata");
|
|
6
6
|
const role_enum_1 = require("../enums/role.enum");
|
|
7
7
|
const db_helper_1 = require("../helpers/db.helper");
|
|
8
|
+
const _ = require("lodash");
|
|
8
9
|
const restrictedMetaKey = Symbol('restricted');
|
|
9
10
|
const Restricted = (...rolesOrMember) => {
|
|
10
11
|
return Reflect.metadata(restrictedMetaKey, rolesOrMember);
|
|
@@ -22,8 +23,9 @@ const getRestricted = (object, propertyKey) => {
|
|
|
22
23
|
exports.getRestricted = getRestricted;
|
|
23
24
|
const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
24
25
|
const config = {
|
|
25
|
-
checkObjectItself:
|
|
26
|
+
checkObjectItself: false,
|
|
26
27
|
ignoreUndefined: true,
|
|
28
|
+
mergeRoles: true,
|
|
27
29
|
removeUndefinedFromResultArray: true,
|
|
28
30
|
throwError: true,
|
|
29
31
|
...options,
|
|
@@ -127,7 +129,8 @@ const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
|
127
129
|
continue;
|
|
128
130
|
}
|
|
129
131
|
const restricted = (0, exports.getRestricted)(data, propertyKey) || [];
|
|
130
|
-
const
|
|
132
|
+
const concatenatedRestrictions = config.mergeRoles ? _.uniq(objectRestrictions.concat(restricted)) : restricted;
|
|
133
|
+
const valid = validateRestricted(concatenatedRestrictions);
|
|
131
134
|
if (valid) {
|
|
132
135
|
data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, config, processedObjects);
|
|
133
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,4BAA0B;AAG1B,kDAA8C;AAC9C,oDAAsD;
|
|
1
|
+
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '../services/config.service';
|
|
3
4
|
export declare class CheckResponseInterceptor implements NestInterceptor {
|
|
5
|
+
private readonly configService;
|
|
6
|
+
config: {
|
|
7
|
+
checkObjectItself: boolean;
|
|
8
|
+
debug: boolean;
|
|
9
|
+
ignoreUndefined: boolean;
|
|
10
|
+
mergeRoles: boolean;
|
|
11
|
+
removeUndefinedFromResultArray: boolean;
|
|
12
|
+
throwError: boolean;
|
|
13
|
+
};
|
|
14
|
+
constructor(configService: ConfigService);
|
|
4
15
|
intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
|
|
5
16
|
}
|
|
@@ -5,22 +5,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
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
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.CheckResponseInterceptor = void 0;
|
|
10
13
|
const common_1 = require("@nestjs/common");
|
|
11
14
|
const operators_1 = require("rxjs/operators");
|
|
12
15
|
const restricted_decorator_1 = require("../decorators/restricted.decorator");
|
|
13
16
|
const context_helper_1 = require("../helpers/context.helper");
|
|
17
|
+
const config_service_1 = require("../services/config.service");
|
|
14
18
|
let CheckResponseInterceptor = class CheckResponseInterceptor {
|
|
19
|
+
constructor(configService) {
|
|
20
|
+
this.configService = configService;
|
|
21
|
+
this.config = {
|
|
22
|
+
checkObjectItself: false,
|
|
23
|
+
debug: false,
|
|
24
|
+
ignoreUndefined: true,
|
|
25
|
+
mergeRoles: true,
|
|
26
|
+
removeUndefinedFromResultArray: true,
|
|
27
|
+
throwError: false,
|
|
28
|
+
};
|
|
29
|
+
const configuration = this.configService.getFastButReadOnly('security.checkResponseInterceptor');
|
|
30
|
+
if (typeof configuration === 'object') {
|
|
31
|
+
this.config = { ...this.config, ...configuration };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
15
34
|
intercept(context, next) {
|
|
16
35
|
const { currentUser } = (0, context_helper_1.getContextData)(context);
|
|
17
36
|
return next.handle().pipe((0, operators_1.map)((data) => {
|
|
18
|
-
return (0, restricted_decorator_1.checkRestricted)(data, currentUser,
|
|
37
|
+
return (0, restricted_decorator_1.checkRestricted)(data, currentUser, this.config);
|
|
19
38
|
}));
|
|
20
39
|
}
|
|
21
40
|
};
|
|
22
41
|
exports.CheckResponseInterceptor = CheckResponseInterceptor;
|
|
23
42
|
exports.CheckResponseInterceptor = CheckResponseInterceptor = __decorate([
|
|
24
|
-
(0, common_1.Injectable)()
|
|
43
|
+
(0, common_1.Injectable)(),
|
|
44
|
+
__metadata("design:paramtypes", [config_service_1.ConfigService])
|
|
25
45
|
], CheckResponseInterceptor);
|
|
26
46
|
//# sourceMappingURL=check-response.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-response.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-response.interceptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-response.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/check-response.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4F;AAE5F,8CAAqC;AAErC,6EAAqE;AACrE,8DAA2D;AAC3D,+DAA2D;AAMpD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAUnC,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QATzD,WAAM,GAAG;YACP,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;YAChB,8BAA8B,EAAE,IAAI;YACpC,UAAU,EAAE,KAAK;SAClB,CAAC;QAGA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;QACjG,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAKD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAEpD,MAAM,EAAE,WAAW,EAAE,GAAQ,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC;QAGrD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,IAAI,EAAE,EAAE;YAEX,OAAO,IAAA,sCAAe,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAWiC,8BAAa;GAV9C,wBAAwB,CAgCpC"}
|
|
@@ -100,7 +100,14 @@ export interface IServerOptions {
|
|
|
100
100
|
};
|
|
101
101
|
port?: number;
|
|
102
102
|
security?: {
|
|
103
|
-
checkResponseInterceptor?:
|
|
103
|
+
checkResponseInterceptor?: {
|
|
104
|
+
checkObjectItself?: boolean;
|
|
105
|
+
debug?: boolean;
|
|
106
|
+
ignoreUndefined?: boolean;
|
|
107
|
+
mergeRoles?: boolean;
|
|
108
|
+
removeUndefinedFromResultArray?: boolean;
|
|
109
|
+
throwError?: boolean;
|
|
110
|
+
} | boolean;
|
|
104
111
|
checkSecurityInterceptor?: boolean;
|
|
105
112
|
mapAndValidatePipe?: boolean;
|
|
106
113
|
};
|
|
@@ -13,6 +13,8 @@ exports.CorePersistenceModel = void 0;
|
|
|
13
13
|
const graphql_1 = require("@nestjs/graphql");
|
|
14
14
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
15
15
|
const mongoose_2 = require("mongoose");
|
|
16
|
+
const restricted_decorator_1 = require("../decorators/restricted.decorator");
|
|
17
|
+
const role_enum_1 = require("../enums/role.enum");
|
|
16
18
|
const core_model_model_1 = require("./core-model.model");
|
|
17
19
|
let CorePersistenceModel = class CorePersistenceModel extends core_model_model_1.CoreModel {
|
|
18
20
|
constructor() {
|
|
@@ -37,6 +39,12 @@ let CorePersistenceModel = class CorePersistenceModel extends core_model_model_1
|
|
|
37
39
|
};
|
|
38
40
|
exports.CorePersistenceModel = CorePersistenceModel;
|
|
39
41
|
__decorate([
|
|
42
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
43
|
+
__metadata("design:type", Object),
|
|
44
|
+
__metadata("design:paramtypes", [])
|
|
45
|
+
], CorePersistenceModel.prototype, "_id", null);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
40
48
|
(0, graphql_1.Field)(type => graphql_1.ID, {
|
|
41
49
|
description: 'ID of the persistence object',
|
|
42
50
|
nullable: true,
|
|
@@ -44,11 +52,13 @@ __decorate([
|
|
|
44
52
|
__metadata("design:type", String)
|
|
45
53
|
], CorePersistenceModel.prototype, "id", void 0);
|
|
46
54
|
__decorate([
|
|
55
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
47
56
|
(0, graphql_1.Field)({ description: 'Created date', nullable: true }),
|
|
48
57
|
(0, mongoose_1.Prop)({ onCreate: () => new Date() }),
|
|
49
58
|
__metadata("design:type", Date)
|
|
50
59
|
], CorePersistenceModel.prototype, "createdAt", void 0);
|
|
51
60
|
__decorate([
|
|
61
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
52
62
|
(0, graphql_1.Field)(type => [String], {
|
|
53
63
|
description: 'Labels of the object',
|
|
54
64
|
nullable: true,
|
|
@@ -57,6 +67,7 @@ __decorate([
|
|
|
57
67
|
__metadata("design:type", Array)
|
|
58
68
|
], CorePersistenceModel.prototype, "labels", void 0);
|
|
59
69
|
__decorate([
|
|
70
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
60
71
|
(0, graphql_1.Field)(type => [String], {
|
|
61
72
|
description: 'Tags for the object',
|
|
62
73
|
nullable: true,
|
|
@@ -65,6 +76,7 @@ __decorate([
|
|
|
65
76
|
__metadata("design:type", Array)
|
|
66
77
|
], CorePersistenceModel.prototype, "tags", void 0);
|
|
67
78
|
__decorate([
|
|
79
|
+
(0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
|
|
68
80
|
(0, graphql_1.Field)({ description: 'Updated date', nullable: true }),
|
|
69
81
|
(0, mongoose_1.Prop)({ onUpdate: () => new Date() }),
|
|
70
82
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAwD;AACxD,+CAAgD;AAChD,uCAAiC;AAEjC,yDAA+C;AAmBxC,IAAe,oBAAoB,GAAnC,MAAe,oBAAqB,SAAQ,4BAAS;IAArD;;
|
|
1
|
+
{"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":"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"}
|