@dismissible/nestjs-api 0.0.2-canary.6b97aa7.0 → 0.0.2-canary.a611bd3.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.
Potentially problematic release.
This version of @dismissible/nestjs-api might be problematic. Click here for more details.
- package/package.json +26 -25
- package/src/app-test.factory.d.ts +9 -0
- package/src/app-test.factory.js +30 -0
- package/src/app-test.factory.js.map +1 -0
- package/src/app.module.d.ts +19 -0
- package/src/app.module.js +54 -0
- package/src/app.module.js.map +1 -0
- package/src/app.setup.d.ts +2 -0
- package/src/app.setup.js +49 -0
- package/src/app.setup.js.map +1 -0
- package/src/bootstrap.d.ts +9 -0
- package/src/bootstrap.js +19 -0
- package/src/bootstrap.js.map +1 -0
- package/src/config/app.config.d.ts +9 -0
- package/src/config/app.config.js +29 -0
- package/src/config/app.config.js.map +1 -0
- package/src/config/config.module.d.ts +25 -0
- package/src/config/config.module.js +40 -0
- package/src/config/config.module.js.map +1 -0
- package/src/config/default-app.config.d.ts +10 -0
- package/src/config/default-app.config.js +34 -0
- package/src/config/default-app.config.js.map +1 -0
- package/src/config/index.js +6 -0
- package/src/config/index.js.map +1 -0
- package/src/cors/cors.config.d.ts +8 -0
- package/src/cors/cors.config.js +49 -0
- package/src/cors/cors.config.js.map +1 -0
- package/src/cors/index.js +5 -0
- package/src/cors/index.js.map +1 -0
- package/src/health/health.controller.d.ts +6 -0
- package/src/health/health.controller.js +25 -0
- package/src/health/health.controller.js.map +1 -0
- package/src/health/health.module.d.ts +2 -0
- package/src/health/health.module.js +17 -0
- package/src/health/health.module.js.map +1 -0
- package/src/health/index.js +6 -0
- package/src/health/index.js.map +1 -0
- package/src/helmet/helmet.config.d.ts +34 -0
- package/src/helmet/helmet.config.js +49 -0
- package/src/helmet/helmet.config.js.map +1 -0
- package/src/helmet/index.js +5 -0
- package/src/helmet/index.js.map +1 -0
- package/src/index.js +9 -0
- package/src/index.js.map +1 -0
- package/src/main.d.ts +1 -0
- package/src/main.js +5 -0
- package/src/main.js.map +1 -0
- package/src/server/index.js +5 -0
- package/src/server/index.js.map +1 -0
- package/src/server/server.config.d.ts +3 -0
- package/src/server/server.config.js +15 -0
- package/src/server/server.config.js.map +1 -0
- package/src/swagger/index.js +6 -0
- package/src/swagger/index.js.map +1 -0
- package/src/swagger/swagger.config.d.ts +4 -0
- package/src/swagger/swagger.config.js +20 -0
- package/src/swagger/swagger.config.js.map +1 -0
- package/src/swagger/swagger.factory.d.ts +3 -0
- package/src/swagger/swagger.factory.js +22 -0
- package/src/swagger/swagger.factory.js.map +1 -0
- package/src/validation/index.js +5 -0
- package/src/validation/index.js.map +1 -0
- package/src/validation/validation.config.d.ts +29 -0
- package/src/validation/validation.config.js +38 -0
- package/src/validation/validation.config.js.map +1 -0
- package/jest.config.ts +0 -35
- package/jest.e2e-config.ts +0 -13
- package/nest-cli.json +0 -16
- package/project.json +0 -94
- package/scripts/performance-test.config.json +0 -29
- package/scripts/performance-test.ts +0 -845
- package/src/app-test.factory.ts +0 -39
- package/src/app.module.ts +0 -60
- package/src/app.setup.ts +0 -52
- package/src/bootstrap.ts +0 -29
- package/src/config/app.config.spec.ts +0 -117
- package/src/config/app.config.ts +0 -20
- package/src/config/config.module.spec.ts +0 -94
- package/src/config/config.module.ts +0 -50
- package/src/config/default-app.config.spec.ts +0 -74
- package/src/config/default-app.config.ts +0 -24
- package/src/cors/cors.config.spec.ts +0 -162
- package/src/cors/cors.config.ts +0 -37
- package/src/health/health.controller.spec.ts +0 -24
- package/src/health/health.controller.ts +0 -16
- package/src/health/health.module.ts +0 -9
- package/src/helmet/helmet.config.spec.ts +0 -197
- package/src/helmet/helmet.config.ts +0 -60
- package/src/main.ts +0 -3
- package/src/server/server.config.spec.ts +0 -65
- package/src/server/server.config.ts +0 -8
- package/src/swagger/swagger.config.spec.ts +0 -113
- package/src/swagger/swagger.config.ts +0 -12
- package/src/swagger/swagger.factory.spec.ts +0 -125
- package/src/swagger/swagger.factory.ts +0 -24
- package/src/validation/validation.config.ts +0 -47
- package/test/config/.env.yaml +0 -23
- package/test/config-jwt-auth/.env.yaml +0 -26
- package/test/dismiss.e2e-spec.ts +0 -61
- package/test/full-cycle.e2e-spec.ts +0 -55
- package/test/get-or-create.e2e-spec.ts +0 -51
- package/test/jwt-auth.e2e-spec.ts +0 -335
- package/test/restore.e2e-spec.ts +0 -61
- package/tsconfig.app.json +0 -13
- package/tsconfig.e2e.json +0 -12
- package/tsconfig.json +0 -13
- package/tsconfig.spec.json +0 -12
- /package/src/config/{index.ts → index.d.ts} +0 -0
- /package/src/cors/{index.ts → index.d.ts} +0 -0
- /package/src/health/{index.ts → index.d.ts} +0 -0
- /package/src/helmet/{index.ts → index.d.ts} +0 -0
- /package/src/{index.ts → index.d.ts} +0 -0
- /package/src/server/{index.ts → index.d.ts} +0 -0
- /package/src/swagger/{index.ts → index.d.ts} +0 -0
- /package/src/validation/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @see https://helmetjs.github.io/
|
|
3
|
+
*/
|
|
4
|
+
export declare class HelmetConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Whether to enable Helmet middleware
|
|
7
|
+
*/
|
|
8
|
+
readonly enabled: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether to enable Content-Security-Policy header.
|
|
11
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
readonly contentSecurityPolicy?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether to enable Cross-Origin-Embedder-Policy header.
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
readonly crossOriginEmbedderPolicy?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* HSTS max-age in seconds.
|
|
21
|
+
* @default 31536000 (1 year)
|
|
22
|
+
*/
|
|
23
|
+
readonly hstsMaxAge?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to include subdomains in HSTS header.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
readonly hstsIncludeSubDomains?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to add HSTS preload directive.
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
readonly hstsPreload?: boolean;
|
|
34
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HelmetConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const class_transformer_1 = require("class-transformer");
|
|
7
|
+
const nestjs_validation_1 = require("@dismissible/nestjs-validation");
|
|
8
|
+
/**
|
|
9
|
+
* @see https://helmetjs.github.io/
|
|
10
|
+
*/
|
|
11
|
+
class HelmetConfig {
|
|
12
|
+
}
|
|
13
|
+
exports.HelmetConfig = HelmetConfig;
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
(0, class_validator_1.IsBoolean)(),
|
|
16
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
17
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
18
|
+
], HelmetConfig.prototype, "enabled", void 0);
|
|
19
|
+
tslib_1.__decorate([
|
|
20
|
+
(0, class_validator_1.IsBoolean)(),
|
|
21
|
+
(0, class_validator_1.IsOptional)(),
|
|
22
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
23
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
24
|
+
], HelmetConfig.prototype, "contentSecurityPolicy", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
(0, class_validator_1.IsBoolean)(),
|
|
27
|
+
(0, class_validator_1.IsOptional)(),
|
|
28
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
29
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
30
|
+
], HelmetConfig.prototype, "crossOriginEmbedderPolicy", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, class_validator_1.IsNumber)(),
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
35
|
+
tslib_1.__metadata("design:type", Number)
|
|
36
|
+
], HelmetConfig.prototype, "hstsMaxAge", void 0);
|
|
37
|
+
tslib_1.__decorate([
|
|
38
|
+
(0, class_validator_1.IsBoolean)(),
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
41
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
42
|
+
], HelmetConfig.prototype, "hstsIncludeSubDomains", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, class_validator_1.IsBoolean)(),
|
|
45
|
+
(0, class_validator_1.IsOptional)(),
|
|
46
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
47
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
48
|
+
], HelmetConfig.prototype, "hstsPreload", void 0);
|
|
49
|
+
//# sourceMappingURL=helmet.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helmet.config.js","sourceRoot":"","sources":["../../../../api/src/helmet/helmet.config.ts"],"names":[],"mappings":";;;;AAAA,qDAAkE;AAClE,yDAAyC;AACzC,sEAAkE;AAElE;;GAEG;AACH,MAAa,YAAY;CAoDxB;AApDD,oCAoDC;AA9CiB;IAFf,IAAA,2BAAS,GAAE;IACX,IAAA,oCAAgB,GAAE;;6CACe;AASlB;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;2DAC6B;AAShC;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;+DACiC;AASpC;IAHf,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;gDACiB;AASpB;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;2DAC6B;AAShC;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;iDACmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../api/src/helmet/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./config"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./server"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./bootstrap"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./app.module"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./app.setup"), exports);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,mDAAyB;AACzB,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B"}
|
package/src/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/src/main.js
ADDED
package/src/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../api/src/main.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AAExC,IAAA,qBAAS,GAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../api/src/server/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServerConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const class_transformer_1 = require("class-transformer");
|
|
7
|
+
class ServerConfig {
|
|
8
|
+
}
|
|
9
|
+
exports.ServerConfig = ServerConfig;
|
|
10
|
+
tslib_1.__decorate([
|
|
11
|
+
(0, class_validator_1.IsNumber)(),
|
|
12
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
13
|
+
tslib_1.__metadata("design:type", Number)
|
|
14
|
+
], ServerConfig.prototype, "port", void 0);
|
|
15
|
+
//# sourceMappingURL=server.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.config.js","sourceRoot":"","sources":["../../../../api/src/server/server.config.ts"],"names":[],"mappings":";;;;AAAA,qDAA2C;AAC3C,yDAAyC;AAEzC,MAAa,YAAY;CAIxB;AAJD,oCAIC;AADiB;IAFf,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;0CACW"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./swagger.factory"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./swagger.config"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../api/src/swagger/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,2DAAiC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwaggerConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const nestjs_validation_1 = require("@dismissible/nestjs-validation");
|
|
7
|
+
class SwaggerConfig {
|
|
8
|
+
}
|
|
9
|
+
exports.SwaggerConfig = SwaggerConfig;
|
|
10
|
+
tslib_1.__decorate([
|
|
11
|
+
(0, class_validator_1.IsBoolean)(),
|
|
12
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
13
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
14
|
+
], SwaggerConfig.prototype, "enabled", void 0);
|
|
15
|
+
tslib_1.__decorate([
|
|
16
|
+
(0, class_validator_1.IsString)(),
|
|
17
|
+
(0, class_validator_1.IsOptional)(),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], SwaggerConfig.prototype, "path", void 0);
|
|
20
|
+
//# sourceMappingURL=swagger.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.config.js","sourceRoot":"","sources":["../../../../api/src/swagger/swagger.config.ts"],"names":[],"mappings":";;;;AAAA,qDAAkE;AAClE,sEAAkE;AAElE,MAAa,aAAa;CAQzB;AARD,sCAQC;AALiB;IAFf,IAAA,2BAAS,GAAE;IACX,IAAA,oCAAgB,GAAE;;8CACe;AAIlB;IAFf,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CACiB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configureAppWithSwagger = configureAppWithSwagger;
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
const swaggerDocumentOptions = {
|
|
6
|
+
operationIdFactory: (_controllerKey, methodKey) => methodKey,
|
|
7
|
+
};
|
|
8
|
+
function configureAppWithSwagger(app, swaggerConfig) {
|
|
9
|
+
if (swaggerConfig.enabled) {
|
|
10
|
+
const { path = 'docs' } = swaggerConfig;
|
|
11
|
+
const config = new swagger_1.DocumentBuilder()
|
|
12
|
+
.setTitle('Dismissible')
|
|
13
|
+
.setDescription('An API to handle dismissible items for users')
|
|
14
|
+
.setVersion('1.0')
|
|
15
|
+
.build();
|
|
16
|
+
const documentFactory = () => swagger_1.SwaggerModule.createDocument(app, config, swaggerDocumentOptions);
|
|
17
|
+
swagger_1.SwaggerModule.setup(path, app, documentFactory, {
|
|
18
|
+
useGlobalPrefix: true,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=swagger.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.factory.js","sourceRoot":"","sources":["../../../../api/src/swagger/swagger.factory.ts"],"names":[],"mappings":";;AAQA,0DAeC;AAtBD,6CAAyF;AAGzF,MAAM,sBAAsB,GAA2B;IACrD,kBAAkB,EAAE,CAAC,cAAsB,EAAE,SAAiB,EAAE,EAAE,CAAC,SAAS;CAC7E,CAAC;AAEF,SAAgB,uBAAuB,CAAC,GAAqB,EAAE,aAA4B;IACzF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC;QAExC,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;aACjC,QAAQ,CAAC,aAAa,CAAC;aACvB,cAAc,CAAC,8CAA8C,CAAC;aAC9D,UAAU,CAAC,KAAK,CAAC;aACjB,KAAK,EAAE,CAAC;QAEX,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAChG,uBAAa,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE;YAC9C,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../api/src/validation/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for NestJS ValidationPipe
|
|
3
|
+
* @see https://docs.nestjs.com/techniques/validation
|
|
4
|
+
*/
|
|
5
|
+
export declare class ValidationConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Whether to disable error messages in validation responses.
|
|
8
|
+
* Should be true in production to prevent information disclosure.
|
|
9
|
+
* @default true in production, false in development
|
|
10
|
+
*/
|
|
11
|
+
readonly disableErrorMessages?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* If set to true, validator will strip validated (returned) object of any properties
|
|
14
|
+
* that do not use any validation decorators.
|
|
15
|
+
* @default true
|
|
16
|
+
*/
|
|
17
|
+
readonly whitelist?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* If set to true, instead of stripping non-whitelisted properties,
|
|
20
|
+
* validator will throw an error.
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
readonly forbidNonWhitelisted?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* If set to true, class-transformer will attempt transformation based on TS reflected type.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
readonly transform?: boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValidationConfig = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const nestjs_validation_1 = require("@dismissible/nestjs-validation");
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for NestJS ValidationPipe
|
|
9
|
+
* @see https://docs.nestjs.com/techniques/validation
|
|
10
|
+
*/
|
|
11
|
+
class ValidationConfig {
|
|
12
|
+
}
|
|
13
|
+
exports.ValidationConfig = ValidationConfig;
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
(0, class_validator_1.IsBoolean)(),
|
|
16
|
+
(0, class_validator_1.IsOptional)(),
|
|
17
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
18
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
19
|
+
], ValidationConfig.prototype, "disableErrorMessages", void 0);
|
|
20
|
+
tslib_1.__decorate([
|
|
21
|
+
(0, class_validator_1.IsBoolean)(),
|
|
22
|
+
(0, class_validator_1.IsOptional)(),
|
|
23
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
24
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
25
|
+
], ValidationConfig.prototype, "whitelist", void 0);
|
|
26
|
+
tslib_1.__decorate([
|
|
27
|
+
(0, class_validator_1.IsBoolean)(),
|
|
28
|
+
(0, class_validator_1.IsOptional)(),
|
|
29
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
30
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
31
|
+
], ValidationConfig.prototype, "forbidNonWhitelisted", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, class_validator_1.IsBoolean)(),
|
|
34
|
+
(0, class_validator_1.IsOptional)(),
|
|
35
|
+
(0, nestjs_validation_1.TransformBoolean)(),
|
|
36
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
37
|
+
], ValidationConfig.prototype, "transform", void 0);
|
|
38
|
+
//# sourceMappingURL=validation.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.config.js","sourceRoot":"","sources":["../../../../api/src/validation/validation.config.ts"],"names":[],"mappings":";;;;AAAA,qDAAwD;AACxD,sEAAkE;AAElE;;;GAGG;AACH,MAAa,gBAAgB;CAuC5B;AAvCD,4CAuCC;AA9BiB;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;8DAC4B;AAU/B;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;mDACiB;AAUpB;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;8DAC4B;AAS/B;IAHf,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,oCAAgB,GAAE;;mDACiB"}
|
package/jest.config.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
displayName: 'api',
|
|
3
|
-
preset: '../jest.preset.js',
|
|
4
|
-
testEnvironment: 'node',
|
|
5
|
-
transform: {
|
|
6
|
-
'^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }],
|
|
7
|
-
},
|
|
8
|
-
moduleFileExtensions: ['ts', 'js', 'html'],
|
|
9
|
-
coverageDirectory: '../coverage/api',
|
|
10
|
-
testMatch: ['**/*.spec.ts'],
|
|
11
|
-
testPathIgnorePatterns: ['\\.e2e-spec\\.ts$'],
|
|
12
|
-
transformIgnorePatterns: ['node_modules/(?!(nest-typed-config|uuid)/)'],
|
|
13
|
-
collectCoverageFrom: [
|
|
14
|
-
'src/**/*.ts',
|
|
15
|
-
'!src/**/*.spec.ts',
|
|
16
|
-
'!src/**/*.e2e-spec.ts',
|
|
17
|
-
'!src/**/*.interface.ts',
|
|
18
|
-
'!src/**/*.dto.ts',
|
|
19
|
-
'!src/**/*.enum.ts',
|
|
20
|
-
'!src/**/index.ts',
|
|
21
|
-
'!src/**/*.module.ts',
|
|
22
|
-
'!src/main.ts',
|
|
23
|
-
'!src/bootstrap.ts',
|
|
24
|
-
'!src/app.setup.ts',
|
|
25
|
-
'!src/app-test.factory.ts',
|
|
26
|
-
],
|
|
27
|
-
coverageThreshold: {
|
|
28
|
-
global: {
|
|
29
|
-
branches: 80,
|
|
30
|
-
functions: 80,
|
|
31
|
-
lines: 80,
|
|
32
|
-
statements: 80,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
};
|
package/jest.e2e-config.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
displayName: 'api-e2e',
|
|
3
|
-
preset: '../jest.preset.js',
|
|
4
|
-
testEnvironment: 'node',
|
|
5
|
-
transform: {
|
|
6
|
-
'^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.e2e.json' }],
|
|
7
|
-
},
|
|
8
|
-
moduleFileExtensions: ['ts', 'js', 'html'],
|
|
9
|
-
coverageDirectory: '../coverage/api-e2e',
|
|
10
|
-
testMatch: ['**/*.e2e-spec.ts'],
|
|
11
|
-
transformIgnorePatterns: ['node_modules/(?!(nest-typed-config|uuid)/)'],
|
|
12
|
-
maxWorkers: 1,
|
|
13
|
-
};
|
package/nest-cli.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/nest-cli",
|
|
3
|
-
"collection": "@nestjs/schematics",
|
|
4
|
-
"sourceRoot": "src",
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"deleteOutDir": true,
|
|
7
|
-
"tsConfigPath": "tsconfig.app.json",
|
|
8
|
-
"assets": [
|
|
9
|
-
{
|
|
10
|
-
"include": "../config/**/*.yaml",
|
|
11
|
-
"outDir": "../dist/api/config",
|
|
12
|
-
"watchAssets": true
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
}
|
package/project.json
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "api",
|
|
3
|
-
"$schema": "../node_modules/nx/schemas/project-schema.json",
|
|
4
|
-
"sourceRoot": "api/src",
|
|
5
|
-
"projectType": "application",
|
|
6
|
-
"tags": [],
|
|
7
|
-
"targets": {
|
|
8
|
-
"build": {
|
|
9
|
-
"executor": "@nx/js:tsc",
|
|
10
|
-
"outputs": ["{options.outputPath}"],
|
|
11
|
-
"dependsOn": ["^build"],
|
|
12
|
-
"options": {
|
|
13
|
-
"outputPath": "dist/api",
|
|
14
|
-
"main": "api/src/main.ts",
|
|
15
|
-
"tsConfig": "api/tsconfig.app.json",
|
|
16
|
-
"assets": [
|
|
17
|
-
{
|
|
18
|
-
"input": "api/config",
|
|
19
|
-
"glob": "**/*.yaml",
|
|
20
|
-
"output": "config"
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"generatePackageJson": true
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"serve": {
|
|
27
|
-
"executor": "@nx/js:node",
|
|
28
|
-
"options": {
|
|
29
|
-
"buildTarget": "api:build",
|
|
30
|
-
"runBuildTargetDependencies": true,
|
|
31
|
-
"watch": true
|
|
32
|
-
},
|
|
33
|
-
"configurations": {
|
|
34
|
-
"development": {
|
|
35
|
-
"buildTarget": "api:build"
|
|
36
|
-
},
|
|
37
|
-
"production": {
|
|
38
|
-
"buildTarget": "api:build"
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
"defaultConfiguration": "development"
|
|
42
|
-
},
|
|
43
|
-
"lint": {
|
|
44
|
-
"executor": "@nx/eslint:lint",
|
|
45
|
-
"outputs": ["{options.outputFile}"],
|
|
46
|
-
"options": {
|
|
47
|
-
"lintFilePatterns": ["api/**/*.ts"]
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
"test": {
|
|
51
|
-
"executor": "@nx/jest:jest",
|
|
52
|
-
"outputs": ["{workspaceRoot}/coverage/api"],
|
|
53
|
-
"options": {
|
|
54
|
-
"jestConfig": "api/jest.config.ts",
|
|
55
|
-
"passWithNoTests": true
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
"test-e2e": {
|
|
59
|
-
"executor": "@nx/jest:jest",
|
|
60
|
-
"outputs": ["{workspaceRoot}/coverage/api-e2e"],
|
|
61
|
-
"options": {
|
|
62
|
-
"jestConfig": "api/jest.e2e-config.ts"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"prisma:generate": {
|
|
66
|
-
"executor": "nx:run-commands",
|
|
67
|
-
"options": {
|
|
68
|
-
"command": "npm run prisma:generate",
|
|
69
|
-
"cwd": "api"
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"prisma:migrate": {
|
|
73
|
-
"executor": "nx:run-commands",
|
|
74
|
-
"options": {
|
|
75
|
-
"command": "npm run prisma:migrate:dev",
|
|
76
|
-
"cwd": "api"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"prisma:push": {
|
|
80
|
-
"executor": "nx:run-commands",
|
|
81
|
-
"options": {
|
|
82
|
-
"command": "npm run prisma:db:push",
|
|
83
|
-
"cwd": "api"
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
"npm-publish": {
|
|
87
|
-
"executor": "nx:run-commands",
|
|
88
|
-
"options": {
|
|
89
|
-
"command": "npm publish --access public",
|
|
90
|
-
"cwd": "dist/api"
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"presets": {
|
|
3
|
-
"light": {
|
|
4
|
-
"createCount": 50,
|
|
5
|
-
"getCount": 50,
|
|
6
|
-
"connections": 5,
|
|
7
|
-
"duration": 5
|
|
8
|
-
},
|
|
9
|
-
"medium": {
|
|
10
|
-
"createCount": 100,
|
|
11
|
-
"getCount": 100,
|
|
12
|
-
"connections": 10,
|
|
13
|
-
"duration": 10
|
|
14
|
-
},
|
|
15
|
-
"heavy": {
|
|
16
|
-
"createCount": 500,
|
|
17
|
-
"getCount": 500,
|
|
18
|
-
"connections": 25,
|
|
19
|
-
"duration": 30
|
|
20
|
-
},
|
|
21
|
-
"stress": {
|
|
22
|
-
"createCount": 1000,
|
|
23
|
-
"getCount": 1000,
|
|
24
|
-
"connections": 50,
|
|
25
|
-
"duration": 60
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
"default": "medium"
|
|
29
|
-
}
|