@lenne.tech/nest-server 11.16.1 → 11.18.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/config.env.js +8 -2
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/decorators/response-model.decorator.d.ts +3 -0
- package/dist/core/common/decorators/response-model.decorator.js +8 -0
- package/dist/core/common/decorators/response-model.decorator.js.map +1 -0
- package/dist/core/common/helpers/db.helper.js +2 -2
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.js +3 -3
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.js +2 -2
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/interceptor.helper.d.ts +3 -0
- package/dist/core/common/helpers/interceptor.helper.js +84 -0
- package/dist/core/common/helpers/interceptor.helper.js.map +1 -0
- package/dist/core/common/helpers/service.helper.d.ts +1 -0
- package/dist/core/common/helpers/service.helper.js +1 -0
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.d.ts +2 -0
- package/dist/core/common/interceptors/check-security.interceptor.js +43 -1
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
- package/dist/core/common/interceptors/response-model.interceptor.d.ts +13 -0
- package/dist/core/common/interceptors/response-model.interceptor.js +107 -0
- package/dist/core/common/interceptors/response-model.interceptor.js.map +1 -0
- package/dist/core/common/interceptors/translate-response.interceptor.d.ts +8 -0
- package/dist/core/common/interceptors/translate-response.interceptor.js +85 -0
- package/dist/core/common/interceptors/translate-response.interceptor.js.map +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +16 -0
- package/dist/core/common/middleware/request-context.middleware.d.ts +5 -0
- package/dist/core/common/middleware/request-context.middleware.js +29 -0
- package/dist/core/common/middleware/request-context.middleware.js.map +1 -0
- 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/plugins/complexity.plugin.d.ts +2 -2
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.d.ts +1 -0
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +51 -0
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -0
- package/dist/core/common/plugins/mongoose-password.plugin.d.ts +4 -0
- package/dist/core/common/plugins/mongoose-password.plugin.js +69 -0
- package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -0
- package/dist/core/common/plugins/mongoose-role-guard.plugin.d.ts +1 -0
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js +80 -0
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -0
- package/dist/core/common/services/config.service.js +2 -2
- package/dist/core/common/services/config.service.js.map +1 -1
- package/dist/core/common/services/model-registry.service.d.ts +8 -0
- package/dist/core/common/services/model-registry.service.js +20 -0
- package/dist/core/common/services/model-registry.service.js.map +1 -0
- package/dist/core/common/services/module.service.d.ts +2 -0
- package/dist/core/common/services/module.service.js +36 -1
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/common/services/request-context.service.d.ts +18 -0
- package/dist/core/common/services/request-context.service.js +32 -0
- package/dist/core/common/services/request-context.service.js.map +1 -0
- package/dist/core/modules/auth/guards/auth.guard.js +2 -2
- package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.resolver.js +2 -2
- package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
- package/dist/core/modules/permissions/core-permissions.controller.d.ts +13 -0
- package/dist/core/modules/permissions/core-permissions.controller.js +71 -0
- package/dist/core/modules/permissions/core-permissions.controller.js.map +1 -0
- package/dist/core/modules/permissions/core-permissions.module.d.ts +5 -0
- package/dist/core/modules/permissions/core-permissions.module.js +36 -0
- package/dist/core/modules/permissions/core-permissions.module.js.map +1 -0
- package/dist/core/modules/permissions/core-permissions.service.d.ts +34 -0
- package/dist/core/modules/permissions/core-permissions.service.js +610 -0
- package/dist/core/modules/permissions/core-permissions.service.js.map +1 -0
- package/dist/core/modules/permissions/interfaces/permissions.interface.d.ts +93 -0
- package/dist/core/modules/permissions/interfaces/permissions.interface.js +3 -0
- package/dist/core/modules/permissions/interfaces/permissions.interface.js.map +1 -0
- package/dist/core/modules/permissions/permissions-scanner.d.ts +25 -0
- package/dist/core/modules/permissions/permissions-scanner.js +817 -0
- package/dist/core/modules/permissions/permissions-scanner.js.map +1 -0
- package/dist/core.module.js +41 -0
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/server/modules/file/file-info.model.d.ts +12 -12
- package/dist/server/modules/user/user.model.d.ts +33 -33
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +35 -30
- package/src/config.env.ts +8 -2
- package/src/core/common/decorators/response-model.decorator.ts +31 -0
- package/src/core/common/helpers/db.helper.ts +2 -2
- package/src/core/common/helpers/filter.helper.ts +3 -3
- package/src/core/common/helpers/input.helper.ts +2 -2
- package/src/core/common/helpers/interceptor.helper.ts +132 -0
- package/src/core/common/helpers/service.helper.ts +1 -1
- package/src/core/common/interceptors/check-security.interceptor.ts +44 -1
- package/src/core/common/interceptors/response-model.interceptor.ts +135 -0
- package/src/core/common/interceptors/translate-response.interceptor.ts +104 -0
- package/src/core/common/interfaces/server-options.interface.ts +186 -0
- package/src/core/common/middleware/request-context.middleware.ts +25 -0
- package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
- package/src/core/common/plugins/complexity.plugin.ts +2 -2
- package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +74 -0
- package/src/core/common/plugins/mongoose-password.plugin.ts +100 -0
- package/src/core/common/plugins/mongoose-role-guard.plugin.ts +150 -0
- package/src/core/common/services/config.service.ts +2 -2
- package/src/core/common/services/model-registry.service.ts +25 -0
- package/src/core/common/services/module.service.ts +91 -1
- package/src/core/common/services/request-context.service.ts +69 -0
- package/src/core/modules/auth/guards/auth.guard.ts +2 -2
- package/src/core/modules/better-auth/core-better-auth.resolver.ts +2 -2
- package/src/core/modules/permissions/INTEGRATION-CHECKLIST.md +56 -0
- package/src/core/modules/permissions/README.md +102 -0
- package/src/core/modules/permissions/core-permissions.controller.ts +34 -0
- package/src/core/modules/permissions/core-permissions.module.ts +36 -0
- package/src/core/modules/permissions/core-permissions.service.ts +627 -0
- package/src/core/modules/permissions/interfaces/permissions.interface.ts +125 -0
- package/src/core/modules/permissions/permissions-scanner.ts +1011 -0
- package/src/core.module.ts +62 -4
- package/src/index.ts +20 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '../services/config.service';
|
|
4
|
+
export declare class ResponseModelInterceptor implements NestInterceptor {
|
|
5
|
+
private readonly configService;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
private config;
|
|
8
|
+
constructor(configService: ConfigService);
|
|
9
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
|
|
10
|
+
private convertToModel;
|
|
11
|
+
private convertSingleItem;
|
|
12
|
+
private tryRegistryFallback;
|
|
13
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
var ResponseModelInterceptor_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.ResponseModelInterceptor = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const operators_1 = require("rxjs/operators");
|
|
16
|
+
const interceptor_helper_1 = require("../helpers/interceptor.helper");
|
|
17
|
+
const config_service_1 = require("../services/config.service");
|
|
18
|
+
const model_registry_service_1 = require("../services/model-registry.service");
|
|
19
|
+
let ResponseModelInterceptor = ResponseModelInterceptor_1 = class ResponseModelInterceptor {
|
|
20
|
+
configService;
|
|
21
|
+
logger = new common_1.Logger(ResponseModelInterceptor_1.name);
|
|
22
|
+
config = {
|
|
23
|
+
debug: false,
|
|
24
|
+
};
|
|
25
|
+
constructor(configService) {
|
|
26
|
+
this.configService = configService;
|
|
27
|
+
const configuration = this.configService.getFastButReadOnly('security.responseModelInterceptor');
|
|
28
|
+
if (typeof configuration === 'object') {
|
|
29
|
+
this.config = { ...this.config, ...configuration };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
intercept(context, next) {
|
|
33
|
+
const modelClass = (0, interceptor_helper_1.resolveResponseModelClass)(context);
|
|
34
|
+
return next.handle().pipe((0, operators_1.map)((data) => {
|
|
35
|
+
if (!modelClass || data === null || data === undefined || typeof data !== 'object') {
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
if (data instanceof modelClass) {
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
if (data._objectAlreadyCheckedForRestrictions) {
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
return this.convertToModel(data, modelClass, context);
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
convertToModel(data, modelClass, context) {
|
|
48
|
+
if (typeof data !== 'object' || data === null) {
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(data)) {
|
|
52
|
+
return data.map((item) => this.convertSingleItem(item, modelClass, context));
|
|
53
|
+
}
|
|
54
|
+
if (Array.isArray(data.items) && ('totalCount' in data || 'pagination' in data)) {
|
|
55
|
+
data.items = data.items.map((item) => this.convertSingleItem(item, modelClass, context));
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
return this.convertSingleItem(data, modelClass, context);
|
|
59
|
+
}
|
|
60
|
+
convertSingleItem(item, modelClass, context) {
|
|
61
|
+
if (item === null || item === undefined || typeof item !== 'object') {
|
|
62
|
+
return item;
|
|
63
|
+
}
|
|
64
|
+
if (item instanceof modelClass) {
|
|
65
|
+
return item;
|
|
66
|
+
}
|
|
67
|
+
if (item._objectAlreadyCheckedForRestrictions) {
|
|
68
|
+
return item;
|
|
69
|
+
}
|
|
70
|
+
const plain = typeof item.toObject === 'function' ? item.toObject() : item;
|
|
71
|
+
try {
|
|
72
|
+
const mapped = modelClass.map(plain);
|
|
73
|
+
if (this.config.debug) {
|
|
74
|
+
const className = context.getClass()?.name;
|
|
75
|
+
const methodName = context.getHandler()?.name;
|
|
76
|
+
this.logger.warn(`Auto-converted plain object to ${modelClass.name} in ${className}.${methodName}. Consider using CrudService methods.`);
|
|
77
|
+
}
|
|
78
|
+
return mapped;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return this.tryRegistryFallback(plain) || item;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
tryRegistryFallback(item) {
|
|
85
|
+
const modelName = item?.constructor?.modelName || item?.collection?.modelName;
|
|
86
|
+
if (!modelName) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
const registeredClass = model_registry_service_1.ModelRegistry.getModelClass(modelName);
|
|
90
|
+
if (!registeredClass) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const plain = typeof item.toObject === 'function' ? item.toObject() : item;
|
|
95
|
+
return registeredClass.map(plain);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
exports.ResponseModelInterceptor = ResponseModelInterceptor;
|
|
103
|
+
exports.ResponseModelInterceptor = ResponseModelInterceptor = ResponseModelInterceptor_1 = __decorate([
|
|
104
|
+
(0, common_1.Injectable)(),
|
|
105
|
+
__metadata("design:paramtypes", [config_service_1.ConfigService])
|
|
106
|
+
], ResponseModelInterceptor);
|
|
107
|
+
//# sourceMappingURL=response-model.interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-model.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/response-model.interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export declare class TranslateResponseInterceptor implements NestInterceptor {
|
|
4
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
|
|
5
|
+
private applyTranslations;
|
|
6
|
+
private hasTranslations;
|
|
7
|
+
private getLanguage;
|
|
8
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TranslateResponseInterceptor = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
12
|
+
const operators_1 = require("rxjs/operators");
|
|
13
|
+
const service_helper_1 = require("../helpers/service.helper");
|
|
14
|
+
let TranslateResponseInterceptor = class TranslateResponseInterceptor {
|
|
15
|
+
intercept(context, next) {
|
|
16
|
+
const language = this.getLanguage(context);
|
|
17
|
+
if (!language) {
|
|
18
|
+
return next.handle();
|
|
19
|
+
}
|
|
20
|
+
return next.handle().pipe((0, operators_1.map)((data) => {
|
|
21
|
+
if (!data || typeof data !== 'object') {
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
this.applyTranslations(data, language);
|
|
25
|
+
return data;
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
applyTranslations(data, language) {
|
|
29
|
+
if (!this.hasTranslations(data)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(data)) {
|
|
33
|
+
for (const item of data) {
|
|
34
|
+
if (item && typeof item === 'object') {
|
|
35
|
+
(0, service_helper_1.applyTranslationsRecursively)(item, language);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (data.items && Array.isArray(data.items)) {
|
|
40
|
+
for (const item of data.items) {
|
|
41
|
+
if (item && typeof item === 'object') {
|
|
42
|
+
(0, service_helper_1.applyTranslationsRecursively)(item, language);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
(0, service_helper_1.applyTranslationsRecursively)(data, language);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
hasTranslations(data) {
|
|
51
|
+
if (!data || typeof data !== 'object') {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
if (Array.isArray(data)) {
|
|
55
|
+
return data.length > 0 && data[0] && typeof data[0] === 'object' && '_translations' in data[0];
|
|
56
|
+
}
|
|
57
|
+
if (data.items && Array.isArray(data.items)) {
|
|
58
|
+
return (data.items.length > 0 && data.items[0] && typeof data.items[0] === 'object' && '_translations' in data.items[0]);
|
|
59
|
+
}
|
|
60
|
+
return '_translations' in data;
|
|
61
|
+
}
|
|
62
|
+
getLanguage(context) {
|
|
63
|
+
try {
|
|
64
|
+
if (context.getType() === 'graphql') {
|
|
65
|
+
const gqlContext = graphql_1.GqlExecutionContext.create(context);
|
|
66
|
+
const req = gqlContext.getContext()?.req;
|
|
67
|
+
return req?.headers?.['accept-language'] || null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const req = context.switchToHttp()?.getRequest();
|
|
74
|
+
return req?.headers?.['accept-language'] || null;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
exports.TranslateResponseInterceptor = TranslateResponseInterceptor;
|
|
82
|
+
exports.TranslateResponseInterceptor = TranslateResponseInterceptor = __decorate([
|
|
83
|
+
(0, common_1.Injectable)()
|
|
84
|
+
], TranslateResponseInterceptor);
|
|
85
|
+
//# sourceMappingURL=translate-response.interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate-response.interceptor.js","sourceRoot":"","sources":["../../../../src/core/common/interceptors/translate-response.interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import compression from 'compression';
|
|
|
12
12
|
import { CollationOptions } from 'mongodb';
|
|
13
13
|
import * as SMTPTransport from 'nodemailer/lib/smtp-transport';
|
|
14
14
|
import { Falsy } from '../types/falsy.type';
|
|
15
|
+
import { IPermissions } from '../../modules/permissions/interfaces/permissions.interface';
|
|
15
16
|
import { CronJobConfigWithTimeZone } from './cron-job-config-with-time-zone.interface';
|
|
16
17
|
import { CronJobConfigWithUtcOffset } from './cron-job-config-with-utc-offset.interface';
|
|
17
18
|
import { MailjetOptions } from './mailjet-options.interface';
|
|
@@ -188,6 +189,7 @@ export interface IServerOptions {
|
|
|
188
189
|
strictQuery?: boolean;
|
|
189
190
|
uri: string;
|
|
190
191
|
};
|
|
192
|
+
permissions?: boolean | IPermissions;
|
|
191
193
|
port?: number;
|
|
192
194
|
security?: {
|
|
193
195
|
checkResponseInterceptor?: boolean | {
|
|
@@ -202,10 +204,24 @@ export interface IServerOptions {
|
|
|
202
204
|
checkSecurityInterceptor?: boolean | {
|
|
203
205
|
debug?: boolean | number;
|
|
204
206
|
noteCheckedObjects?: boolean;
|
|
207
|
+
removeSecretFields?: boolean;
|
|
208
|
+
secretFields?: string[];
|
|
205
209
|
};
|
|
206
210
|
mapAndValidatePipe?: boolean | {
|
|
207
211
|
nonWhitelistedFields?: 'strip' | 'error' | false;
|
|
208
212
|
};
|
|
213
|
+
mongoosePasswordPlugin?: boolean | {
|
|
214
|
+
skipPatterns?: (string | RegExp)[];
|
|
215
|
+
};
|
|
216
|
+
mongooseAuditFieldsPlugin?: boolean;
|
|
217
|
+
mongooseRoleGuardPlugin?: boolean | {
|
|
218
|
+
allowedRoles?: string[];
|
|
219
|
+
};
|
|
220
|
+
responseModelInterceptor?: boolean | {
|
|
221
|
+
debug?: boolean;
|
|
222
|
+
};
|
|
223
|
+
translateResponseInterceptor?: boolean;
|
|
224
|
+
secretFields?: string[];
|
|
209
225
|
};
|
|
210
226
|
sha256?: boolean;
|
|
211
227
|
staticAssets?: {
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RequestContextMiddleware = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const request_context_service_1 = require("../services/request-context.service");
|
|
12
|
+
let RequestContextMiddleware = class RequestContextMiddleware {
|
|
13
|
+
use(req, _res, next) {
|
|
14
|
+
const context = {
|
|
15
|
+
get currentUser() {
|
|
16
|
+
return req.user || undefined;
|
|
17
|
+
},
|
|
18
|
+
get language() {
|
|
19
|
+
return req.headers?.['accept-language'] || undefined;
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
request_context_service_1.RequestContext.run(context, () => next());
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.RequestContextMiddleware = RequestContextMiddleware;
|
|
26
|
+
exports.RequestContextMiddleware = RequestContextMiddleware = __decorate([
|
|
27
|
+
(0, common_1.Injectable)()
|
|
28
|
+
], RequestContextMiddleware);
|
|
29
|
+
//# sourceMappingURL=request-context.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../../../../src/core/common/middleware/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4D;AAG5D,iFAAsF;AAS/E,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAClD,MAAM,OAAO,GAAoB;YAC/B,IAAI,WAAW;gBACb,OAAQ,GAAW,CAAC,IAAI,IAAI,SAAS,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ;gBACV,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;YACvD,CAAC;SACF,CAAC;QACF,wCAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AAZY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAYpC"}
|
|
@@ -148,8 +148,8 @@ async function validateWithInheritance(object, originalPlainValue) {
|
|
|
148
148
|
value: propertyValue,
|
|
149
149
|
};
|
|
150
150
|
const isArrayValue = Array.isArray(propertyValue);
|
|
151
|
-
const
|
|
152
|
-
if (isArrayValue &&
|
|
151
|
+
const shouldValidateEachItem = metadata.each === true || metadata.validationOptions?.each === true;
|
|
152
|
+
if (isArrayValue && shouldValidateEachItem) {
|
|
153
153
|
const results = [];
|
|
154
154
|
for (const item of propertyValue) {
|
|
155
155
|
const itemArgs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { GraphQLSchemaHost } from '@nestjs/graphql';
|
|
2
|
-
import { ApolloServerPlugin, GraphQLRequestListener } from 'apollo
|
|
2
|
+
import type { ApolloServerPlugin, BaseContext, GraphQLRequestListener } from '@apollo/server';
|
|
3
3
|
import { ConfigService } from '../services/config.service';
|
|
4
4
|
export declare class ComplexityPlugin implements ApolloServerPlugin {
|
|
5
5
|
private gqlSchemaHost;
|
|
6
6
|
private configService;
|
|
7
7
|
constructor(gqlSchemaHost: GraphQLSchemaHost, configService: ConfigService);
|
|
8
|
-
requestDidStart(): Promise<GraphQLRequestListener
|
|
8
|
+
requestDidStart(): Promise<GraphQLRequestListener<BaseContext>>;
|
|
9
9
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mongooseAuditFieldsPlugin(schema: any): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mongooseAuditFieldsPlugin = mongooseAuditFieldsPlugin;
|
|
4
|
+
const request_context_service_1 = require("../services/request-context.service");
|
|
5
|
+
function mongooseAuditFieldsPlugin(schema) {
|
|
6
|
+
const hasCreatedBy = !!schema.path('createdBy');
|
|
7
|
+
const hasUpdatedBy = !!schema.path('updatedBy');
|
|
8
|
+
if (!hasCreatedBy && !hasUpdatedBy) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
schema.pre('save', function () {
|
|
12
|
+
const currentUser = request_context_service_1.RequestContext.getCurrentUser();
|
|
13
|
+
if (!currentUser?.id) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (hasCreatedBy && this.isNew && !this['createdBy']) {
|
|
17
|
+
this['createdBy'] = currentUser.id;
|
|
18
|
+
}
|
|
19
|
+
if (hasUpdatedBy) {
|
|
20
|
+
this['updatedBy'] = currentUser.id;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
if (hasUpdatedBy) {
|
|
24
|
+
const updateHook = function () {
|
|
25
|
+
const currentUser = request_context_service_1.RequestContext.getCurrentUser();
|
|
26
|
+
if (!currentUser?.id) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const update = this.getUpdate();
|
|
30
|
+
if (!update) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
update['updatedBy'] = currentUser.id;
|
|
34
|
+
if (update.$set) {
|
|
35
|
+
update.$set['updatedBy'] = currentUser.id;
|
|
36
|
+
}
|
|
37
|
+
if (hasCreatedBy && !update['createdBy'] && !update.$set?.['createdBy']) {
|
|
38
|
+
if (!update.$setOnInsert) {
|
|
39
|
+
update.$setOnInsert = {};
|
|
40
|
+
}
|
|
41
|
+
if (!update.$setOnInsert['createdBy']) {
|
|
42
|
+
update.$setOnInsert['createdBy'] = currentUser.id;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
schema.pre('findOneAndUpdate', updateHook);
|
|
47
|
+
schema.pre('updateOne', updateHook);
|
|
48
|
+
schema.pre('updateMany', updateHook);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=mongoose-audit-fields.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoose-audit-fields.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-audit-fields.plugin.ts"],"names":[],"mappings":";;AAcA,8DA2DC;AAzED,iFAAqE;AAcrE,SAAgB,yBAAyB,CAAC,MAAM;IAC9C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAGhD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;QACjB,MAAM,WAAW,GAAG,wCAAc,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG;YACjB,MAAM,WAAW,GAAG,wCAAc,CAAC,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAGD,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;YAC5C,CAAC;YAID,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mongoosePasswordPlugin = mongoosePasswordPlugin;
|
|
4
|
+
exports.hashUpdatePassword = hashUpdatePassword;
|
|
5
|
+
exports.resetSkipPatternsCache = resetSkipPatternsCache;
|
|
6
|
+
exports.hashPassword = hashPassword;
|
|
7
|
+
const bcrypt = require("bcrypt");
|
|
8
|
+
const js_sha256_1 = require("js-sha256");
|
|
9
|
+
const config_service_1 = require("../services/config.service");
|
|
10
|
+
function mongoosePasswordPlugin(schema) {
|
|
11
|
+
schema.pre('save', async function () {
|
|
12
|
+
if (!this.isModified('password') || !this['password']) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this['password'] = await hashPassword(this['password']);
|
|
16
|
+
});
|
|
17
|
+
schema.pre('findOneAndUpdate', async function () {
|
|
18
|
+
await hashUpdatePassword(this.getUpdate());
|
|
19
|
+
});
|
|
20
|
+
schema.pre('updateOne', async function () {
|
|
21
|
+
await hashUpdatePassword(this.getUpdate());
|
|
22
|
+
});
|
|
23
|
+
schema.pre('updateMany', async function () {
|
|
24
|
+
await hashUpdatePassword(this.getUpdate());
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function hashUpdatePassword(update) {
|
|
28
|
+
if (!update) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (update.password) {
|
|
32
|
+
update.password = await hashPassword(update.password);
|
|
33
|
+
}
|
|
34
|
+
if (update.$set?.password) {
|
|
35
|
+
update.$set.password = await hashPassword(update.$set.password);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
let compiledSkipPatterns = null;
|
|
39
|
+
function resetSkipPatternsCache() {
|
|
40
|
+
compiledSkipPatterns = null;
|
|
41
|
+
}
|
|
42
|
+
function getSkipPatterns() {
|
|
43
|
+
if (compiledSkipPatterns !== null) {
|
|
44
|
+
return compiledSkipPatterns;
|
|
45
|
+
}
|
|
46
|
+
const pluginConfig = config_service_1.ConfigService.configFastButReadOnly?.security?.mongoosePasswordPlugin;
|
|
47
|
+
if (pluginConfig && typeof pluginConfig === 'object' && 'skipPatterns' in pluginConfig && pluginConfig.skipPatterns) {
|
|
48
|
+
compiledSkipPatterns = pluginConfig.skipPatterns.map((p) => p instanceof RegExp ? p : new RegExp(p));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
compiledSkipPatterns = [];
|
|
52
|
+
}
|
|
53
|
+
return compiledSkipPatterns;
|
|
54
|
+
}
|
|
55
|
+
async function hashPassword(password) {
|
|
56
|
+
if (/^\$2[aby]\$\d+\$/.test(password)) {
|
|
57
|
+
return password;
|
|
58
|
+
}
|
|
59
|
+
const skipPatterns = getSkipPatterns();
|
|
60
|
+
if (skipPatterns.some((pattern) => pattern.test(password))) {
|
|
61
|
+
return password;
|
|
62
|
+
}
|
|
63
|
+
const sha256Enabled = config_service_1.ConfigService.configFastButReadOnly?.sha256;
|
|
64
|
+
if (sha256Enabled && !/^[a-f0-9]{64}$/i.test(password)) {
|
|
65
|
+
password = (0, js_sha256_1.sha256)(password);
|
|
66
|
+
}
|
|
67
|
+
return bcrypt.hash(password, 10);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=mongoose-password.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoose-password.plugin.js","sourceRoot":"","sources":["../../../../src/core/common/plugins/mongoose-password.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mongooseRoleGuardPlugin(schema: any): void;
|