@decaf-ts/for-nest 0.0.4 → 0.0.5

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.
Files changed (71) hide show
  1. package/dist/for-nest.cjs +573 -6
  2. package/dist/for-nest.esm.cjs +549 -6
  3. package/lib/esm/factory/NestBootstraper.d.ts +214 -0
  4. package/lib/esm/factory/NestBootstraper.js +269 -0
  5. package/lib/esm/factory/errors/cors.d.ts +4 -0
  6. package/lib/esm/factory/errors/cors.js +7 -0
  7. package/lib/esm/factory/errors/index.d.ts +1 -0
  8. package/lib/esm/factory/errors/index.js +2 -0
  9. package/lib/esm/factory/exceptions/AuthorizationExceptionFilter.d.ts +9 -0
  10. package/lib/esm/factory/exceptions/AuthorizationExceptionFilter.js +35 -0
  11. package/lib/esm/factory/exceptions/ConflictExceptionFilter.d.ts +9 -0
  12. package/lib/esm/factory/exceptions/ConflictExceptionFilter.js +35 -0
  13. package/lib/esm/factory/exceptions/GlobalExceptionFilter.d.ts +4 -0
  14. package/lib/esm/factory/exceptions/GlobalExceptionFilter.js +35 -0
  15. package/lib/esm/factory/exceptions/HttpExceptionFilter.d.ts +4 -0
  16. package/lib/esm/factory/exceptions/HttpExceptionFilter.js +27 -0
  17. package/lib/esm/factory/exceptions/HttpResponseError.d.ts +14 -0
  18. package/lib/esm/factory/exceptions/HttpResponseError.js +19 -0
  19. package/lib/esm/factory/exceptions/NotFoundExceptionFilter.d.ts +9 -0
  20. package/lib/esm/factory/exceptions/NotFoundExceptionFilter.js +35 -0
  21. package/lib/esm/factory/exceptions/ValidationExceptionFilter.d.ts +9 -0
  22. package/lib/esm/factory/exceptions/ValidationExceptionFilter.js +35 -0
  23. package/lib/esm/factory/exceptions/index.d.ts +6 -0
  24. package/lib/esm/factory/exceptions/index.js +7 -0
  25. package/lib/esm/factory/index.d.ts +4 -0
  26. package/lib/esm/factory/index.js +5 -0
  27. package/lib/esm/factory/openapi/SwaggerBuilder.d.ts +9 -0
  28. package/lib/esm/factory/openapi/SwaggerBuilder.js +42 -0
  29. package/lib/esm/factory/openapi/SwaggerCustomUI.d.ts +24 -0
  30. package/lib/esm/factory/openapi/SwaggerCustomUI.js +55 -0
  31. package/lib/esm/factory/openapi/constants.d.ts +16 -0
  32. package/lib/esm/factory/openapi/constants.js +19 -0
  33. package/lib/esm/factory/openapi/index.d.ts +1 -0
  34. package/lib/esm/factory/openapi/index.js +2 -0
  35. package/lib/esm/index.d.ts +2 -1
  36. package/lib/esm/index.js +3 -2
  37. package/lib/factory/NestBootstraper.cjs +273 -0
  38. package/lib/factory/NestBootstraper.d.ts +214 -0
  39. package/lib/factory/errors/cors.cjs +11 -0
  40. package/lib/factory/errors/cors.d.ts +4 -0
  41. package/lib/factory/errors/index.cjs +18 -0
  42. package/lib/factory/errors/index.d.ts +1 -0
  43. package/lib/factory/exceptions/AuthorizationExceptionFilter.cjs +39 -0
  44. package/lib/factory/exceptions/AuthorizationExceptionFilter.d.ts +9 -0
  45. package/lib/factory/exceptions/ConflictExceptionFilter.cjs +39 -0
  46. package/lib/factory/exceptions/ConflictExceptionFilter.d.ts +9 -0
  47. package/lib/factory/exceptions/GlobalExceptionFilter.cjs +38 -0
  48. package/lib/factory/exceptions/GlobalExceptionFilter.d.ts +4 -0
  49. package/lib/factory/exceptions/HttpExceptionFilter.cjs +30 -0
  50. package/lib/factory/exceptions/HttpExceptionFilter.d.ts +4 -0
  51. package/lib/factory/exceptions/HttpResponseError.cjs +23 -0
  52. package/lib/factory/exceptions/HttpResponseError.d.ts +14 -0
  53. package/lib/factory/exceptions/NotFoundExceptionFilter.cjs +39 -0
  54. package/lib/factory/exceptions/NotFoundExceptionFilter.d.ts +9 -0
  55. package/lib/factory/exceptions/ValidationExceptionFilter.cjs +39 -0
  56. package/lib/factory/exceptions/ValidationExceptionFilter.d.ts +9 -0
  57. package/lib/factory/exceptions/index.cjs +23 -0
  58. package/lib/factory/exceptions/index.d.ts +6 -0
  59. package/lib/factory/index.cjs +21 -0
  60. package/lib/factory/index.d.ts +4 -0
  61. package/lib/factory/openapi/SwaggerBuilder.cjs +46 -0
  62. package/lib/factory/openapi/SwaggerBuilder.d.ts +9 -0
  63. package/lib/factory/openapi/SwaggerCustomUI.cjs +92 -0
  64. package/lib/factory/openapi/SwaggerCustomUI.d.ts +24 -0
  65. package/lib/factory/openapi/constants.cjs +22 -0
  66. package/lib/factory/openapi/constants.d.ts +16 -0
  67. package/lib/factory/openapi/index.cjs +18 -0
  68. package/lib/factory/openapi/index.d.ts +1 -0
  69. package/lib/index.cjs +3 -2
  70. package/lib/index.d.ts +2 -1
  71. package/package.json +1 -1
@@ -0,0 +1,39 @@
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.ConflictExceptionFilter = exports.ConflictError = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const HttpResponseError_1 = require("./HttpResponseError.cjs");
12
+ class ConflictError extends Error {
13
+ constructor(message = "Conflict") {
14
+ super(message);
15
+ this.name = "ConflictError";
16
+ this.status = 409;
17
+ this.code = "CONFLICT";
18
+ Object.setPrototypeOf(this, ConflictError.prototype);
19
+ }
20
+ }
21
+ exports.ConflictError = ConflictError;
22
+ let ConflictExceptionFilter = class ConflictExceptionFilter {
23
+ catch(exception, host) {
24
+ const ctx = host.switchToHttp();
25
+ const response = ctx.getResponse();
26
+ const request = ctx.getRequest();
27
+ const httpResponseError = new HttpResponseError_1.HttpResponseError(request, {
28
+ status: common_1.HttpStatus.CONFLICT,
29
+ message: exception.message,
30
+ error: "CONFLICT"
31
+ });
32
+ response.status(httpResponseError.status).json(httpResponseError);
33
+ }
34
+ };
35
+ exports.ConflictExceptionFilter = ConflictExceptionFilter;
36
+ exports.ConflictExceptionFilter = ConflictExceptionFilter = __decorate([
37
+ (0, common_1.Catch)(ConflictError)
38
+ ], ConflictExceptionFilter);
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmxpY3RFeGNlcHRpb25GaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9leGNlcHRpb25zL0NvbmZsaWN0RXhjZXB0aW9uRmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDJDQUFpRjtBQUVqRiwrREFBc0Q7QUFFdEQsTUFBYSxhQUFjLFNBQVEsS0FBSztJQUlwQyxZQUFZLE9BQU8sR0FBRyxVQUFVO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0o7QUFaRCxzQ0FZQztBQUdNLElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBQ2hDLEtBQUssQ0FBQyxTQUF3QixFQUFFLElBQW1CO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFZLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBVyxDQUFDO1FBRTFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxPQUFPLEVBQUU7WUFDckQsTUFBTSxFQUFFLG1CQUFVLENBQUMsUUFBUTtZQUMzQixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0osQ0FBQTtBQWRZLDBEQUF1QjtrQ0FBdkIsdUJBQXVCO0lBRG5DLElBQUEsY0FBSyxFQUFDLGFBQWEsQ0FBQztHQUNSLHVCQUF1QixDQWNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRzSG9zdCwgQ2F0Y2gsIEV4Y2VwdGlvbkZpbHRlciwgSHR0cFN0YXR1c30gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQge1JlcXVlc3QsIFJlc3BvbnNlfSBmcm9tIFwiZXhwcmVzc1wiO1xuaW1wb3J0IHtIdHRwUmVzcG9uc2VFcnJvcn0gZnJvbSBcIi4vSHR0cFJlc3BvbnNlRXJyb3JcIjtcblxuZXhwb3J0IGNsYXNzIENvbmZsaWN0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IobWVzc2FnZSA9IFwiQ29uZmxpY3RcIikge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJDb25mbGljdEVycm9yXCI7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gNDA5O1xuICAgICAgICB0aGlzLmNvZGUgPSBcIkNPTkZMSUNUXCI7XG5cbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIENvbmZsaWN0RXJyb3IucHJvdG90eXBlKTtcbiAgICB9XG59XG5cbkBDYXRjaChDb25mbGljdEVycm9yKVxuZXhwb3J0IGNsYXNzIENvbmZsaWN0RXhjZXB0aW9uRmlsdGVyIGltcGxlbWVudHMgRXhjZXB0aW9uRmlsdGVyIHtcbiAgICBjYXRjaChleGNlcHRpb246IENvbmZsaWN0RXJyb3IsIGhvc3Q6IEFyZ3VtZW50c0hvc3QpIHtcbiAgICAgICAgY29uc3QgY3R4ID0gaG9zdC5zd2l0Y2hUb0h0dHAoKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBjdHguZ2V0UmVzcG9uc2U8UmVzcG9uc2U+KCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBjdHguZ2V0UmVxdWVzdDxSZXF1ZXN0PigpO1xuXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZUVycm9yID0gbmV3IEh0dHBSZXNwb25zZUVycm9yKHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHN0YXR1czogSHR0cFN0YXR1cy5DT05GTElDVCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGV4Y2VwdGlvbi5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3I6IFwiQ09ORkxJQ1RcIlxuICAgICAgICB9KTtcblxuICAgICAgICByZXNwb25zZS5zdGF0dXMoaHR0cFJlc3BvbnNlRXJyb3Iuc3RhdHVzKS5qc29uKGh0dHBSZXNwb25zZUVycm9yKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { ArgumentsHost, ExceptionFilter } from "@nestjs/common";
2
+ export declare class ConflictError extends Error {
3
+ readonly status: number;
4
+ readonly code: string;
5
+ constructor(message?: string);
6
+ }
7
+ export declare class ConflictExceptionFilter implements ExceptionFilter {
8
+ catch(exception: ConflictError, host: ArgumentsHost): void;
9
+ }
@@ -0,0 +1,38 @@
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.GlobalExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const HttpResponseError_1 = require("./HttpResponseError.cjs");
12
+ let GlobalExceptionFilter = class GlobalExceptionFilter {
13
+ catch(exception, host) {
14
+ const ctx = host.switchToHttp();
15
+ const request = ctx.getRequest();
16
+ const response = ctx.getResponse();
17
+ let status = common_1.HttpStatus.INTERNAL_SERVER_ERROR;
18
+ let message = "Internal Server Error";
19
+ let error;
20
+ if (exception instanceof common_1.HttpException) {
21
+ const res = exception.getResponse();
22
+ status = exception.getStatus();
23
+ message = (res?.message || exception.message) ?? message;
24
+ error = res?.error ?? exception.name;
25
+ }
26
+ else if (exception instanceof Error) {
27
+ message = exception.message;
28
+ error = exception.name;
29
+ }
30
+ const httpResponseError = new HttpResponseError_1.HttpResponseError(request, { status, message, error });
31
+ response.status(httpResponseError.status).json(httpResponseError);
32
+ }
33
+ };
34
+ exports.GlobalExceptionFilter = GlobalExceptionFilter;
35
+ exports.GlobalExceptionFilter = GlobalExceptionFilter = __decorate([
36
+ (0, common_1.Catch)()
37
+ ], GlobalExceptionFilter);
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsRXhjZXB0aW9uRmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvZXhjZXB0aW9ucy9HbG9iYWxFeGNlcHRpb25GaWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsMkNBQWdHO0FBRWhHLCtEQUFzRDtBQUcvQyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUM5QixLQUFLLENBQUMsU0FBa0IsRUFBRSxJQUFtQjtRQUN6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBVyxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQVksQ0FBQztRQUU3QyxJQUFJLE1BQU0sR0FBRyxtQkFBVSxDQUFDLHFCQUFxQixDQUFDO1FBQzlDLElBQUksT0FBTyxHQUFHLHVCQUF1QixDQUFDO1FBQ3RDLElBQUksS0FBeUIsQ0FBQztRQUU5QixJQUFJLFNBQVMsWUFBWSxzQkFBYSxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQVEsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDO1lBQ3pELEtBQUssR0FBRyxHQUFHLEVBQUUsS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksU0FBUyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQ3BDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzVCLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNKLENBQUE7QUF2Qlksc0RBQXFCO2dDQUFyQixxQkFBcUI7SUFEakMsSUFBQSxjQUFLLEdBQUU7R0FDSyxxQkFBcUIsQ0F1QmpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudHNIb3N0LCBDYXRjaCwgRXhjZXB0aW9uRmlsdGVyLCBIdHRwRXhjZXB0aW9uLCBIdHRwU3RhdHVzfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7UmVxdWVzdCwgUmVzcG9uc2V9IGZyb20gXCJleHByZXNzXCI7XG5pbXBvcnQge0h0dHBSZXNwb25zZUVycm9yfSBmcm9tIFwiLi9IdHRwUmVzcG9uc2VFcnJvclwiO1xuXG5AQ2F0Y2goKVxuZXhwb3J0IGNsYXNzIEdsb2JhbEV4Y2VwdGlvbkZpbHRlciBpbXBsZW1lbnRzIEV4Y2VwdGlvbkZpbHRlciB7XG4gICAgY2F0Y2goZXhjZXB0aW9uOiB1bmtub3duLCBob3N0OiBBcmd1bWVudHNIb3N0KSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IGhvc3Quc3dpdGNoVG9IdHRwKCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBjdHguZ2V0UmVxdWVzdDxSZXF1ZXN0PigpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGN0eC5nZXRSZXNwb25zZTxSZXNwb25zZT4oKTtcblxuICAgICAgICBsZXQgc3RhdHVzID0gSHR0cFN0YXR1cy5JTlRFUk5BTF9TRVJWRVJfRVJST1I7XG4gICAgICAgIGxldCBtZXNzYWdlID0gXCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIjtcbiAgICAgICAgbGV0IGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGV4Y2VwdGlvbiBpbnN0YW5jZW9mIEh0dHBFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHJlczogYW55ID0gZXhjZXB0aW9uLmdldFJlc3BvbnNlKCk7XG4gICAgICAgICAgICBzdGF0dXMgPSBleGNlcHRpb24uZ2V0U3RhdHVzKCk7XG4gICAgICAgICAgICBtZXNzYWdlID0gKHJlcz8ubWVzc2FnZSB8fCBleGNlcHRpb24ubWVzc2FnZSkgPz8gbWVzc2FnZTtcbiAgICAgICAgICAgIGVycm9yID0gcmVzPy5lcnJvciA/PyBleGNlcHRpb24ubmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChleGNlcHRpb24gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgbWVzc2FnZSA9IGV4Y2VwdGlvbi5tZXNzYWdlO1xuICAgICAgICAgICAgZXJyb3IgPSBleGNlcHRpb24ubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGh0dHBSZXNwb25zZUVycm9yID0gbmV3IEh0dHBSZXNwb25zZUVycm9yKHJlcXVlc3QsIHtzdGF0dXMsIG1lc3NhZ2UsIGVycm9yfSk7XG4gICAgICAgIHJlc3BvbnNlLnN0YXR1cyhodHRwUmVzcG9uc2VFcnJvci5zdGF0dXMpLmpzb24oaHR0cFJlc3BvbnNlRXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { ArgumentsHost, ExceptionFilter } from "@nestjs/common";
2
+ export declare class GlobalExceptionFilter implements ExceptionFilter {
3
+ catch(exception: unknown, host: ArgumentsHost): void;
4
+ }
@@ -0,0 +1,30 @@
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.HttpExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const HttpResponseError_1 = require("./HttpResponseError.cjs");
12
+ let HttpExceptionFilter = class HttpExceptionFilter {
13
+ catch(exception, host) {
14
+ const ctx = host.switchToHttp();
15
+ const response = ctx.getResponse();
16
+ const request = ctx.getRequest();
17
+ const status = exception.getStatus();
18
+ const httpResponseError = new HttpResponseError_1.HttpResponseError(request, {
19
+ status,
20
+ message: exception.message,
21
+ error: exception.name
22
+ });
23
+ response.status(httpResponseError.status).json(httpResponseError);
24
+ }
25
+ };
26
+ exports.HttpExceptionFilter = HttpExceptionFilter;
27
+ exports.HttpExceptionFilter = HttpExceptionFilter = __decorate([
28
+ (0, common_1.Catch)(common_1.HttpException)
29
+ ], HttpExceptionFilter);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEV4Y2VwdGlvbkZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L2V4Y2VwdGlvbnMvSHR0cEV4Y2VwdGlvbkZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwyQ0FBb0Y7QUFFcEYsK0RBQXNEO0FBRy9DLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1CO0lBQzVCLEtBQUssQ0FBQyxTQUF3QixFQUFFLElBQW1CO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFZLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBVyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVyQyxNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFO1lBQ3JELE1BQU07WUFDTixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1NBQ3hCLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNKLENBQUE7QUFmWSxrREFBbUI7OEJBQW5CLG1CQUFtQjtJQUQvQixJQUFBLGNBQUssRUFBQyxzQkFBYSxDQUFDO0dBQ1IsbUJBQW1CLENBZS9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudHNIb3N0LCBDYXRjaCwgRXhjZXB0aW9uRmlsdGVyLCBIdHRwRXhjZXB0aW9ufSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcbmltcG9ydCB7UmVxdWVzdCwgUmVzcG9uc2V9IGZyb20gXCJleHByZXNzXCI7XG5pbXBvcnQge0h0dHBSZXNwb25zZUVycm9yfSBmcm9tIFwiLi9IdHRwUmVzcG9uc2VFcnJvclwiO1xuXG5AQ2F0Y2goSHR0cEV4Y2VwdGlvbilcbmV4cG9ydCBjbGFzcyBIdHRwRXhjZXB0aW9uRmlsdGVyIGltcGxlbWVudHMgRXhjZXB0aW9uRmlsdGVyIHtcbiAgICBjYXRjaChleGNlcHRpb246IEh0dHBFeGNlcHRpb24sIGhvc3Q6IEFyZ3VtZW50c0hvc3QpIHtcbiAgICAgICAgY29uc3QgY3R4ID0gaG9zdC5zd2l0Y2hUb0h0dHAoKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBjdHguZ2V0UmVzcG9uc2U8UmVzcG9uc2U+KCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBjdHguZ2V0UmVxdWVzdDxSZXF1ZXN0PigpO1xuICAgICAgICBjb25zdCBzdGF0dXMgPSBleGNlcHRpb24uZ2V0U3RhdHVzKCk7XG5cbiAgICAgICAgY29uc3QgaHR0cFJlc3BvbnNlRXJyb3IgPSBuZXcgSHR0cFJlc3BvbnNlRXJyb3IocmVxdWVzdCwge1xuICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgbWVzc2FnZTogZXhjZXB0aW9uLm1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcjogZXhjZXB0aW9uLm5hbWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVzcG9uc2Uuc3RhdHVzKGh0dHBSZXNwb25zZUVycm9yLnN0YXR1cykuanNvbihodHRwUmVzcG9uc2VFcnJvcik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ import { ArgumentsHost, ExceptionFilter, HttpException } from "@nestjs/common";
2
+ export declare class HttpExceptionFilter implements ExceptionFilter {
3
+ catch(exception: HttpException, host: ArgumentsHost): void;
4
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpResponseError = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class HttpResponseError {
6
+ constructor(request, responseError) {
7
+ const status = responseError?.status ?? common_1.HttpStatus.INTERNAL_SERVER_ERROR;
8
+ const message = responseError?.message ?? "Internal Server Error";
9
+ const error = (responseError?.error ?? common_1.HttpStatus[status] ?? "HTTP_EXCEPTION")
10
+ .toString()
11
+ .toUpperCase();
12
+ Object.assign(this, {
13
+ status,
14
+ message,
15
+ error,
16
+ timestamp: new Date().toISOString(),
17
+ path: request.url,
18
+ method: request.method,
19
+ });
20
+ }
21
+ }
22
+ exports.HttpResponseError = HttpResponseError;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlc3BvbnNlRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9leGNlcHRpb25zL0h0dHBSZXNwb25zZUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUE0QztBQUU1QyxNQUFhLGlCQUFpQjtJQVE3QixZQUNDLE9BQWdCLEVBQ2hCLGFBQXFFO1FBRXJFLE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxNQUFNLElBQUksbUJBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RSxNQUFNLE9BQU8sR0FBRyxhQUFhLEVBQUUsT0FBTyxJQUFJLHVCQUF1QixDQUFDO1FBQ2xFLE1BQU0sS0FBSyxHQUFHLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxtQkFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixDQUFDO2FBQzVFLFFBQVEsRUFBRTthQUNWLFdBQVcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLE1BQU07WUFDTixPQUFPO1lBQ1AsS0FBSztZQUNMLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDakIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1NBQ3RCLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRDtBQTNCRCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSBcImV4cHJlc3NcIjtcbmltcG9ydCB7IEh0dHBTdGF0dXMgfSBmcm9tIFwiQG5lc3Rqcy9jb21tb25cIjtcblxuZXhwb3J0IGNsYXNzIEh0dHBSZXNwb25zZUVycm9yIHtcblx0c3RhdHVzITogbnVtYmVyO1xuXHRlcnJvciE6IHN0cmluZztcblx0bWVzc2FnZSE6IHN0cmluZztcblx0dGltZXN0YW1wITogc3RyaW5nO1xuXHRwYXRoITogc3RyaW5nO1xuXHRtZXRob2QhOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cmVxdWVzdDogUmVxdWVzdCxcblx0XHRyZXNwb25zZUVycm9yPzogeyBzdGF0dXM/OiBudW1iZXI7IG1lc3NhZ2U/OiBzdHJpbmc7IGVycm9yPzogc3RyaW5nIH1cblx0KSB7XG5cdFx0Y29uc3Qgc3RhdHVzID0gcmVzcG9uc2VFcnJvcj8uc3RhdHVzID8/IEh0dHBTdGF0dXMuSU5URVJOQUxfU0VSVkVSX0VSUk9SO1xuXHRcdGNvbnN0IG1lc3NhZ2UgPSByZXNwb25zZUVycm9yPy5tZXNzYWdlID8/IFwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCI7XG5cdFx0Y29uc3QgZXJyb3IgPSAocmVzcG9uc2VFcnJvcj8uZXJyb3IgPz8gSHR0cFN0YXR1c1tzdGF0dXNdID8/IFwiSFRUUF9FWENFUFRJT05cIilcblx0XHRcdC50b1N0cmluZygpXG5cdFx0XHQudG9VcHBlckNhc2UoKTtcblxuXHRcdE9iamVjdC5hc3NpZ24odGhpcywge1xuXHRcdFx0c3RhdHVzLFxuXHRcdFx0bWVzc2FnZSxcblx0XHRcdGVycm9yLFxuXHRcdFx0dGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG5cdFx0XHRwYXRoOiByZXF1ZXN0LnVybCxcblx0XHRcdG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Request } from "express";
2
+ export declare class HttpResponseError {
3
+ status: number;
4
+ error: string;
5
+ message: string;
6
+ timestamp: string;
7
+ path: string;
8
+ method: string;
9
+ constructor(request: Request, responseError?: {
10
+ status?: number;
11
+ message?: string;
12
+ error?: string;
13
+ });
14
+ }
@@ -0,0 +1,39 @@
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.NotFoundExceptionFilter = exports.NotFoundError = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const HttpResponseError_1 = require("./HttpResponseError.cjs");
12
+ class NotFoundError extends Error {
13
+ constructor(message = "Resource not found") {
14
+ super(message);
15
+ this.name = "NotFoundError";
16
+ this.status = 404;
17
+ this.code = "NOT_FOUND";
18
+ Object.setPrototypeOf(this, NotFoundError.prototype);
19
+ }
20
+ }
21
+ exports.NotFoundError = NotFoundError;
22
+ let NotFoundExceptionFilter = class NotFoundExceptionFilter {
23
+ catch(exception, host) {
24
+ const ctx = host.switchToHttp();
25
+ const response = ctx.getResponse();
26
+ const request = ctx.getRequest();
27
+ const httpResponseError = new HttpResponseError_1.HttpResponseError(request, {
28
+ status: common_1.HttpStatus.NOT_FOUND,
29
+ message: exception.message,
30
+ error: "NOT_FOUND",
31
+ });
32
+ response.status(httpResponseError.status).json(httpResponseError);
33
+ }
34
+ };
35
+ exports.NotFoundExceptionFilter = NotFoundExceptionFilter;
36
+ exports.NotFoundExceptionFilter = NotFoundExceptionFilter = __decorate([
37
+ (0, common_1.Catch)(NotFoundError)
38
+ ], NotFoundExceptionFilter);
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90Rm91bmRFeGNlcHRpb25GaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9leGNlcHRpb25zL05vdEZvdW5kRXhjZXB0aW9uRmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDJDQUFtRjtBQUVuRiwrREFBd0Q7QUFFeEQsTUFBYSxhQUFjLFNBQVEsS0FBSztJQUl2QyxZQUFZLE9BQU8sR0FBRyxvQkFBb0I7UUFDekMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFFeEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRDtBQVpELHNDQVlDO0FBR00sSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFDbkMsS0FBSyxDQUFDLFNBQXdCLEVBQUUsSUFBbUI7UUFDbEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQVksQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFXLENBQUM7UUFFMUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHFDQUFpQixDQUFDLE9BQU8sRUFBRTtZQUN4RCxNQUFNLEVBQUUsbUJBQVUsQ0FBQyxTQUFTO1lBQzVCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztZQUMxQixLQUFLLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRCxDQUFBO0FBZFksMERBQXVCO2tDQUF2Qix1QkFBdUI7SUFEbkMsSUFBQSxjQUFLLEVBQUMsYUFBYSxDQUFDO0dBQ1IsdUJBQXVCLENBY25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJndW1lbnRzSG9zdCwgQ2F0Y2gsIEV4Y2VwdGlvbkZpbHRlciwgSHR0cFN0YXR1cyB9IGZyb20gXCJAbmVzdGpzL2NvbW1vblwiO1xuaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tIFwiZXhwcmVzc1wiO1xuaW1wb3J0IHsgSHR0cFJlc3BvbnNlRXJyb3IgfSBmcm9tIFwiLi9IdHRwUmVzcG9uc2VFcnJvclwiO1xuXG5leHBvcnQgY2xhc3MgTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHtcblx0cmVhZG9ubHkgc3RhdHVzOiBudW1iZXI7XG5cdHJlYWRvbmx5IGNvZGU6IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvcihtZXNzYWdlID0gXCJSZXNvdXJjZSBub3QgZm91bmRcIikge1xuXHRcdHN1cGVyKG1lc3NhZ2UpO1xuXHRcdHRoaXMubmFtZSA9IFwiTm90Rm91bmRFcnJvclwiO1xuXHRcdHRoaXMuc3RhdHVzID0gNDA0O1xuXHRcdHRoaXMuY29kZSA9IFwiTk9UX0ZPVU5EXCI7XG5cblx0XHRPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgTm90Rm91bmRFcnJvci5wcm90b3R5cGUpO1xuXHR9XG59XG5cbkBDYXRjaChOb3RGb3VuZEVycm9yKVxuZXhwb3J0IGNsYXNzIE5vdEZvdW5kRXhjZXB0aW9uRmlsdGVyIGltcGxlbWVudHMgRXhjZXB0aW9uRmlsdGVyIHtcblx0Y2F0Y2goZXhjZXB0aW9uOiBOb3RGb3VuZEVycm9yLCBob3N0OiBBcmd1bWVudHNIb3N0KSB7XG5cdFx0Y29uc3QgY3R4ID0gaG9zdC5zd2l0Y2hUb0h0dHAoKTtcblx0XHRjb25zdCByZXNwb25zZSA9IGN0eC5nZXRSZXNwb25zZTxSZXNwb25zZT4oKTtcblx0XHRjb25zdCByZXF1ZXN0ID0gY3R4LmdldFJlcXVlc3Q8UmVxdWVzdD4oKTtcblxuXHRcdGNvbnN0IGh0dHBSZXNwb25zZUVycm9yID0gbmV3IEh0dHBSZXNwb25zZUVycm9yKHJlcXVlc3QsIHtcblx0XHRcdHN0YXR1czogSHR0cFN0YXR1cy5OT1RfRk9VTkQsXG5cdFx0XHRtZXNzYWdlOiBleGNlcHRpb24ubWVzc2FnZSxcblx0XHRcdGVycm9yOiBcIk5PVF9GT1VORFwiLFxuXHRcdH0pO1xuXG5cdFx0cmVzcG9uc2Uuc3RhdHVzKGh0dHBSZXNwb25zZUVycm9yLnN0YXR1cykuanNvbihodHRwUmVzcG9uc2VFcnJvcik7XG5cdH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { ArgumentsHost, ExceptionFilter } from "@nestjs/common";
2
+ export declare class NotFoundError extends Error {
3
+ readonly status: number;
4
+ readonly code: string;
5
+ constructor(message?: string);
6
+ }
7
+ export declare class NotFoundExceptionFilter implements ExceptionFilter {
8
+ catch(exception: NotFoundError, host: ArgumentsHost): void;
9
+ }
@@ -0,0 +1,39 @@
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.ValidationExceptionFilter = exports.ValidationError = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const HttpResponseError_1 = require("./HttpResponseError.cjs");
12
+ class ValidationError extends Error {
13
+ constructor(message = "Validation failed") {
14
+ super(message);
15
+ this.name = "ValidationError";
16
+ this.status = 422;
17
+ this.code = "VALIDATION_ERROR";
18
+ Object.setPrototypeOf(this, ValidationError.prototype);
19
+ }
20
+ }
21
+ exports.ValidationError = ValidationError;
22
+ let ValidationExceptionFilter = class ValidationExceptionFilter {
23
+ catch(exception, host) {
24
+ const ctx = host.switchToHttp();
25
+ const response = ctx.getResponse();
26
+ const request = ctx.getRequest();
27
+ const httpResponseError = new HttpResponseError_1.HttpResponseError(request, {
28
+ status: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
29
+ message: exception.message,
30
+ error: "VALIDATION_ERROR"
31
+ });
32
+ response.status(httpResponseError.status).json(httpResponseError);
33
+ }
34
+ };
35
+ exports.ValidationExceptionFilter = ValidationExceptionFilter;
36
+ exports.ValidationExceptionFilter = ValidationExceptionFilter = __decorate([
37
+ (0, common_1.Catch)(ValidationError)
38
+ ], ValidationExceptionFilter);
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdGlvbkV4Y2VwdGlvbkZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L2V4Y2VwdGlvbnMvVmFsaWRhdGlvbkV4Y2VwdGlvbkZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwyQ0FBaUY7QUFFakYsK0RBQXNEO0FBRXRELE1BQWEsZUFBZ0IsU0FBUSxLQUFLO0lBSXRDLFlBQVksT0FBTyxHQUFHLG1CQUFtQjtRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFFL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDSjtBQVpELDBDQVlDO0FBR00sSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFDbEMsS0FBSyxDQUFDLFNBQTBCLEVBQUUsSUFBbUI7UUFDakQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQVksQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFXLENBQUM7UUFFMUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHFDQUFpQixDQUFDLE9BQU8sRUFBRTtZQUNyRCxNQUFNLEVBQUUsbUJBQVUsQ0FBQyxvQkFBb0I7WUFDdkMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1lBQzFCLEtBQUssRUFBRSxrQkFBa0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0osQ0FBQTtBQWRZLDhEQUF5QjtvQ0FBekIseUJBQXlCO0lBRHJDLElBQUEsY0FBSyxFQUFDLGVBQWUsQ0FBQztHQUNWLHlCQUF5QixDQWNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRzSG9zdCwgQ2F0Y2gsIEV4Y2VwdGlvbkZpbHRlciwgSHR0cFN0YXR1c30gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQge1JlcXVlc3QsIFJlc3BvbnNlfSBmcm9tIFwiZXhwcmVzc1wiO1xuaW1wb3J0IHtIdHRwUmVzcG9uc2VFcnJvcn0gZnJvbSBcIi4vSHR0cFJlc3BvbnNlRXJyb3JcIjtcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICByZWFkb25seSBzdGF0dXM6IG51bWJlcjtcbiAgICByZWFkb25seSBjb2RlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlID0gXCJWYWxpZGF0aW9uIGZhaWxlZFwiKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSBcIlZhbGlkYXRpb25FcnJvclwiO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IDQyMjtcbiAgICAgICAgdGhpcy5jb2RlID0gXCJWQUxJREFUSU9OX0VSUk9SXCI7XG5cbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIFZhbGlkYXRpb25FcnJvci5wcm90b3R5cGUpO1xuICAgIH1cbn1cblxuQENhdGNoKFZhbGlkYXRpb25FcnJvcilcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXhjZXB0aW9uRmlsdGVyIGltcGxlbWVudHMgRXhjZXB0aW9uRmlsdGVyIHtcbiAgICBjYXRjaChleGNlcHRpb246IFZhbGlkYXRpb25FcnJvciwgaG9zdDogQXJndW1lbnRzSG9zdCkge1xuICAgICAgICBjb25zdCBjdHggPSBob3N0LnN3aXRjaFRvSHR0cCgpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGN0eC5nZXRSZXNwb25zZTxSZXNwb25zZT4oKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGN0eC5nZXRSZXF1ZXN0PFJlcXVlc3Q+KCk7XG5cbiAgICAgICAgY29uc3QgaHR0cFJlc3BvbnNlRXJyb3IgPSBuZXcgSHR0cFJlc3BvbnNlRXJyb3IocmVxdWVzdCwge1xuICAgICAgICAgICAgc3RhdHVzOiBIdHRwU3RhdHVzLlVOUFJPQ0VTU0FCTEVfRU5USVRZLFxuICAgICAgICAgICAgbWVzc2FnZTogZXhjZXB0aW9uLm1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcjogXCJWQUxJREFUSU9OX0VSUk9SXCJcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVzcG9uc2Uuc3RhdHVzKGh0dHBSZXNwb25zZUVycm9yLnN0YXR1cykuanNvbihodHRwUmVzcG9uc2VFcnJvcik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { ArgumentsHost, ExceptionFilter } from "@nestjs/common";
2
+ export declare class ValidationError extends Error {
3
+ readonly status: number;
4
+ readonly code: string;
5
+ constructor(message?: string);
6
+ }
7
+ export declare class ValidationExceptionFilter implements ExceptionFilter {
8
+ catch(exception: ValidationError, host: ArgumentsHost): void;
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AuthorizationExceptionFilter.cjs"), exports);
18
+ __exportStar(require("./ConflictExceptionFilter.cjs"), exports);
19
+ __exportStar(require("./GlobalExceptionFilter.cjs"), exports);
20
+ __exportStar(require("./HttpExceptionFilter.cjs"), exports);
21
+ __exportStar(require("./NotFoundExceptionFilter.cjs"), exports);
22
+ __exportStar(require("./ValidationExceptionFilter.cjs"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9leGNlcHRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxRUFBK0M7QUFDL0MsZ0VBQTBDO0FBQzFDLDhEQUF3QztBQUN4Qyw0REFBc0M7QUFDdEMsZ0VBQTBDO0FBQzFDLGtFQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0F1dGhvcml6YXRpb25FeGNlcHRpb25GaWx0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0NvbmZsaWN0RXhjZXB0aW9uRmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HbG9iYWxFeGNlcHRpb25GaWx0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0h0dHBFeGNlcHRpb25GaWx0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL05vdEZvdW5kRXhjZXB0aW9uRmlsdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0aW9uRXhjZXB0aW9uRmlsdGVyXCI7Il19
@@ -0,0 +1,6 @@
1
+ export * from "./AuthorizationExceptionFilter";
2
+ export * from "./ConflictExceptionFilter";
3
+ export * from "./GlobalExceptionFilter";
4
+ export * from "./HttpExceptionFilter";
5
+ export * from "./NotFoundExceptionFilter";
6
+ export * from "./ValidationExceptionFilter";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./errors/index.cjs"), exports);
18
+ __exportStar(require("./exceptions/index.cjs"), exports);
19
+ __exportStar(require("./openapi/index.cjs"), exports);
20
+ __exportStar(require("./NestBootstraper.cjs"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmFjdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQXlCO0FBQ3pCLHlEQUE2QjtBQUM3QixzREFBMEI7QUFDMUIsd0RBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leGNlcHRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vcGVuYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9OZXN0Qm9vdHN0cmFwZXJcIjtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from "./errors";
2
+ export * from "./exceptions";
3
+ export * from "./openapi";
4
+ export * from "./NestBootstraper";
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SwaggerBuilder = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const SwaggerCustomUI_1 = require("./SwaggerCustomUI.cjs");
6
+ const constants_1 = require("./constants.cjs");
7
+ class SwaggerBuilder {
8
+ constructor(app, options) {
9
+ this.app = app;
10
+ this.options = options;
11
+ }
12
+ createDocument() {
13
+ const description = this.options.path
14
+ ? this.options.description +
15
+ "" +
16
+ `<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | ` +
17
+ `<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`
18
+ : this.options.description;
19
+ const config = new swagger_1.DocumentBuilder()
20
+ .setTitle(this.options.title)
21
+ .setDescription(description)
22
+ .setVersion(this.options.version || "0.0.1")
23
+ .addBearerAuth(this.options.auth || constants_1.SWAGGER_UI_CONSTANTS.auth)
24
+ .build();
25
+ return swagger_1.SwaggerModule.createDocument(this.app, config, {
26
+ extraModels: this.options.extraModels || [],
27
+ });
28
+ }
29
+ setupSwagger() {
30
+ const document = this.createDocument();
31
+ const swaggerUI = new SwaggerCustomUI_1.SwaggerCustomUI({
32
+ title: this.options.title,
33
+ path: this.options.path || constants_1.SWAGGER_UI_CONSTANTS.path,
34
+ persistAuthorization: this.options.persistAuthorization ?? true,
35
+ assetsPath: this.options.assetsPath,
36
+ faviconPath: this.options.faviconFilePath,
37
+ topbarIconPath: this.options.topbarIconFilePath,
38
+ topbarBgColor: this.options.topbarBgColor,
39
+ });
40
+ swagger_1.SwaggerModule.setup(this.options.path || constants_1.SWAGGER_UI_CONSTANTS.path, this.app, document, {
41
+ ...swaggerUI.getCustomOptions(),
42
+ });
43
+ }
44
+ }
45
+ exports.SwaggerBuilder = SwaggerBuilder;
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhZ2dlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9vcGVuYXBpL1N3YWdnZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZDQUFpRTtBQUNqRSwyREFBb0Q7QUFDcEQsK0NBQW1FO0FBRW5FLE1BQWEsY0FBYztJQUN6QixZQUNtQixHQUFxQixFQUNyQixPQUF1QjtRQUR2QixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUN2QyxDQUFDO0lBRUksY0FBYztRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDeEIsRUFBRTtnQkFDRixvQkFBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHNDQUFzQztnQkFDM0UsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksbUNBQW1DO1lBQ2xFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUU3QixNQUFNLE1BQU0sR0FBRyxJQUFJLHlCQUFlLEVBQUU7YUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQzVCLGNBQWMsQ0FBQyxXQUFXLENBQUM7YUFDM0IsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQzthQUMzQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0NBQW9CLENBQUMsSUFBSSxDQUFDO2FBQzdELEtBQUssRUFBRSxDQUFDO1FBRVgsT0FBTyx1QkFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRTtZQUNwRCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRTtTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxpQ0FBZSxDQUFDO1lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLGdDQUFvQixDQUFDLElBQUk7WUFDcEQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxJQUFJO1lBQy9ELFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUN6QyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7WUFDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtTQUMxQyxDQUFDLENBQUM7UUFDSCx1QkFBYSxDQUFDLEtBQUssQ0FDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0NBQW9CLENBQUMsSUFBSSxFQUM5QyxJQUFJLENBQUMsR0FBRyxFQUNSLFFBQVEsRUFDUjtZQUNFLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixFQUFFO1NBQ2hDLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FPRjtBQXBERCx3Q0FvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTmVzdEFwcGxpY2F0aW9uIH0gZnJvbSBcIkBuZXN0anMvY29tbW9uXCI7XG5pbXBvcnQgeyBEb2N1bWVudEJ1aWxkZXIsIFN3YWdnZXJNb2R1bGUgfSBmcm9tIFwiQG5lc3Rqcy9zd2FnZ2VyXCI7XG5pbXBvcnQgeyBTd2FnZ2VyQ3VzdG9tVUkgfSBmcm9tIFwiLi9Td2FnZ2VyQ3VzdG9tVUlcIjtcbmltcG9ydCB7IFNXQUdHRVJfVUlfQ09OU1RBTlRTLCBTd2FnZ2VyT3B0aW9ucyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY2xhc3MgU3dhZ2dlckJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcDogSU5lc3RBcHBsaWNhdGlvbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFN3YWdnZXJPcHRpb25zXG4gICkge31cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50KCkge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy5vcHRpb25zLnBhdGhcbiAgICAgID8gdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uICtcbiAgICAgICAgXCJcIiArXG4gICAgICAgIGA8YnI+PGJyPjxhIGhyZWY9XCIke3RoaXMub3B0aW9ucy5wYXRofS9zcGVjLmpzb25cIj5PcGVuQVBJIEpTT04gU3BlYzwvYT4gfCBgICtcbiAgICAgICAgYDxhIGhyZWY9XCIke3RoaXMub3B0aW9ucy5wYXRofS9zcGVjLnlhbWxcIj5PcGVuQVBJIFlBTUwgU3BlYzwvYT5gXG4gICAgICA6IHRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbjtcblxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBEb2N1bWVudEJ1aWxkZXIoKVxuICAgICAgLnNldFRpdGxlKHRoaXMub3B0aW9ucy50aXRsZSlcbiAgICAgIC5zZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbilcbiAgICAgIC5zZXRWZXJzaW9uKHRoaXMub3B0aW9ucy52ZXJzaW9uIHx8IFwiMC4wLjFcIilcbiAgICAgIC5hZGRCZWFyZXJBdXRoKHRoaXMub3B0aW9ucy5hdXRoIHx8IFNXQUdHRVJfVUlfQ09OU1RBTlRTLmF1dGgpXG4gICAgICAuYnVpbGQoKTtcblxuICAgIHJldHVybiBTd2FnZ2VyTW9kdWxlLmNyZWF0ZURvY3VtZW50KHRoaXMuYXBwLCBjb25maWcsIHtcbiAgICAgIGV4dHJhTW9kZWxzOiB0aGlzLm9wdGlvbnMuZXh0cmFNb2RlbHMgfHwgW10sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXBTd2FnZ2VyKCkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5jcmVhdGVEb2N1bWVudCgpO1xuICAgIGNvbnN0IHN3YWdnZXJVSSA9IG5ldyBTd2FnZ2VyQ3VzdG9tVUkoe1xuICAgICAgdGl0bGU6IHRoaXMub3B0aW9ucy50aXRsZSxcbiAgICAgIHBhdGg6IHRoaXMub3B0aW9ucy5wYXRoIHx8IFNXQUdHRVJfVUlfQ09OU1RBTlRTLnBhdGgsXG4gICAgICBwZXJzaXN0QXV0aG9yaXphdGlvbjogdGhpcy5vcHRpb25zLnBlcnNpc3RBdXRob3JpemF0aW9uID8/IHRydWUsXG4gICAgICBhc3NldHNQYXRoOiB0aGlzLm9wdGlvbnMuYXNzZXRzUGF0aCxcbiAgICAgIGZhdmljb25QYXRoOiB0aGlzLm9wdGlvbnMuZmF2aWNvbkZpbGVQYXRoLFxuICAgICAgdG9wYmFySWNvblBhdGg6IHRoaXMub3B0aW9ucy50b3BiYXJJY29uRmlsZVBhdGgsXG4gICAgICB0b3BiYXJCZ0NvbG9yOiB0aGlzLm9wdGlvbnMudG9wYmFyQmdDb2xvcixcbiAgICB9KTtcbiAgICBTd2FnZ2VyTW9kdWxlLnNldHVwKFxuICAgICAgdGhpcy5vcHRpb25zLnBhdGggfHwgU1dBR0dFUl9VSV9DT05TVEFOVFMucGF0aCxcbiAgICAgIHRoaXMuYXBwLFxuICAgICAgZG9jdW1lbnQsXG4gICAgICB7XG4gICAgICAgIC4uLnN3YWdnZXJVSS5nZXRDdXN0b21PcHRpb25zKCksXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8vIHByaXZhdGUgZ2V0VmVyc2lvbigpIHtcbiAgLy8gICAvLyBjb25zdCBwYWNrYWdlSnNvbiA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcInBhY2thZ2UuanNvblwiKTtcbiAgLy8gICAvLyBjb25zdCB7dmVyc2lvbn0gPSByZXF1aXJlKHBhY2thZ2VKc29uKTtcbiAgLy8gICByZXR1cm4gXCJ2ZXJzaW9uXCI7XG4gIC8vIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { INestApplication } from "@nestjs/common";
2
+ import { SwaggerOptions } from "./constants";
3
+ export declare class SwaggerBuilder {
4
+ private readonly app;
5
+ private readonly options;
6
+ constructor(app: INestApplication, options: SwaggerOptions);
7
+ private createDocument;
8
+ setupSwagger(): void;
9
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SwaggerCustomUI = void 0;
37
+ const constants_1 = require("./constants.cjs");
38
+ const fs_1 = require("fs");
39
+ const path = __importStar(require("path"));
40
+ class SwaggerCustomUI {
41
+ // private readonly assetsPath: string = path.join(
42
+ // __dirname,
43
+ // "..",
44
+ // "..",
45
+ // "workdocs",
46
+ // "assets"
47
+ // );
48
+ constructor(options) {
49
+ this.options = {
50
+ ...options,
51
+ };
52
+ }
53
+ customCSS() {
54
+ let css = "";
55
+ if (this.options.topbarIconPath) {
56
+ const img = this.b64(this.options.topbarIconPath);
57
+ css += `.topbar-wrapper { content: url('data:image/png;base64,${img}'); width: 200px; height: auto; }\n`;
58
+ }
59
+ return (css +
60
+ `
61
+ .topbar-wrapper svg { visibility: hidden; }
62
+ .swagger-ui .topbar { background-color: ${this.options.topbarBgColor || constants_1.SWAGGER_UI_CONSTANTS.topbarBgColor}; }
63
+ `);
64
+ }
65
+ getCustomOptions() {
66
+ const favicon = {};
67
+ if (this.options.faviconPath) {
68
+ favicon["customfavIcon"] = this.b64(this.options.faviconPath, true);
69
+ }
70
+ return {
71
+ customSiteTitle: this.options.title,
72
+ ...favicon,
73
+ customCss: this.customCSS(),
74
+ swaggerOptions: {
75
+ persistAuthorization: this.options.persistAuthorization,
76
+ },
77
+ jsonDocumentUrl: this.options.path
78
+ ? `${this.options.path}/spec.json`
79
+ : undefined,
80
+ yamlDocumentUrl: this.options.path
81
+ ? `${this.options.path}/spec.yaml`
82
+ : undefined,
83
+ };
84
+ }
85
+ b64(file, img = false) {
86
+ const filePath = path.join(this.options.assetsPath || "", file);
87
+ const b64 = (0, fs_1.readFileSync)(filePath, { encoding: "base64" });
88
+ return img ? "data:image/png;base64," + b64 : b64;
89
+ }
90
+ }
91
+ exports.SwaggerCustomUI = SwaggerCustomUI;
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dhZ2dlckN1c3RvbVVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3Rvcnkvb3BlbmFwaS9Td2FnZ2VyQ3VzdG9tVUkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQW1EO0FBQ25ELDJCQUFrQztBQUNsQywyQ0FBNkI7QUFZN0IsTUFBYSxlQUFlO0lBRTFCLG1EQUFtRDtJQUNuRCxlQUFlO0lBQ2YsVUFBVTtJQUNWLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLEtBQUs7SUFFTCxZQUFZLE9BQXlCO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLE9BQU87U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELEdBQUcsSUFBSSx5REFBeUQsR0FBRyxxQ0FBcUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsT0FBTyxDQUNMLEdBQUc7WUFDSDs7a0RBRTRDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLGdDQUFvQixDQUFDLGFBQWE7T0FDM0csQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sT0FBTyxHQUF3QixFQUFFLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztZQUNuQyxHQUFHLE9BQU87WUFDVixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMzQixjQUFjLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0I7YUFDeEQ7WUFDRCxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUNoQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWTtnQkFDbEMsQ0FBQyxDQUFDLFNBQVM7WUFDYixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUNoQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWTtnQkFDbEMsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBZSxLQUFLO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUEsaUJBQVksRUFBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMzRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztDQUNGO0FBMURELDBDQTBEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNXQUdHRVJfVUlfQ09OU1RBTlRTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTd2FnZ2VyVUlPcHRpb25zIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHBlcnNpc3RBdXRob3JpemF0aW9uOiBib29sZWFuO1xuICBhc3NldHNQYXRoPzogc3RyaW5nO1xuICBmYXZpY29uUGF0aD86IHN0cmluZztcbiAgdG9wYmFySWNvblBhdGg/OiBzdHJpbmc7XG4gIHRvcGJhckJnQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTd2FnZ2VyQ3VzdG9tVUkge1xuICByZWFkb25seSBvcHRpb25zOiBTd2FnZ2VyVUlPcHRpb25zO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IGFzc2V0c1BhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgLy8gICBfX2Rpcm5hbWUsXG4gIC8vICAgXCIuLlwiLFxuICAvLyAgIFwiLi5cIixcbiAgLy8gICBcIndvcmtkb2NzXCIsXG4gIC8vICAgXCJhc3NldHNcIlxuICAvLyApO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFN3YWdnZXJVSU9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGN1c3RvbUNTUygpIHtcbiAgICBsZXQgY3NzID0gXCJcIjtcbiAgICBpZiAodGhpcy5vcHRpb25zLnRvcGJhckljb25QYXRoKSB7XG4gICAgICBjb25zdCBpbWcgPSB0aGlzLmI2NCh0aGlzLm9wdGlvbnMudG9wYmFySWNvblBhdGgpO1xuICAgICAgY3NzICs9IGAudG9wYmFyLXdyYXBwZXIgeyBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke2ltZ30nKTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IGF1dG87IH1cXG5gO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgY3NzICtcbiAgICAgIGBcbiAgICAgICAgLnRvcGJhci13cmFwcGVyIHN2ZyB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgICAuc3dhZ2dlci11aSAudG9wYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogJHt0aGlzLm9wdGlvbnMudG9wYmFyQmdDb2xvciB8fCBTV0FHR0VSX1VJX0NPTlNUQU5UUy50b3BiYXJCZ0NvbG9yfTsgfVxuICAgICAgYFxuICAgICk7XG4gIH1cblxuICBnZXRDdXN0b21PcHRpb25zKCkge1xuICAgIGNvbnN0IGZhdmljb246IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmZhdmljb25QYXRoKSB7XG4gICAgICBmYXZpY29uW1wiY3VzdG9tZmF2SWNvblwiXSA9IHRoaXMuYjY0KHRoaXMub3B0aW9ucy5mYXZpY29uUGF0aCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbVNpdGVUaXRsZTogdGhpcy5vcHRpb25zLnRpdGxlLFxuICAgICAgLi4uZmF2aWNvbixcbiAgICAgIGN1c3RvbUNzczogdGhpcy5jdXN0b21DU1MoKSxcbiAgICAgIHN3YWdnZXJPcHRpb25zOiB7XG4gICAgICAgIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0aGlzLm9wdGlvbnMucGVyc2lzdEF1dGhvcml6YXRpb24sXG4gICAgICB9LFxuICAgICAganNvbkRvY3VtZW50VXJsOiB0aGlzLm9wdGlvbnMucGF0aFxuICAgICAgICA/IGAke3RoaXMub3B0aW9ucy5wYXRofS9zcGVjLmpzb25gXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgeWFtbERvY3VtZW50VXJsOiB0aGlzLm9wdGlvbnMucGF0aFxuICAgICAgICA/IGAke3RoaXMub3B0aW9ucy5wYXRofS9zcGVjLnlhbWxgXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBiNjQoZmlsZTogc3RyaW5nLCBpbWc6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKHRoaXMub3B0aW9ucy5hc3NldHNQYXRoIHx8IFwiXCIsIGZpbGUpO1xuICAgIGNvbnN0IGI2NCA9IHJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogXCJiYXNlNjRcIiB9KTtcbiAgICByZXR1cm4gaW1nID8gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCIgKyBiNjQgOiBiNjQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ export interface SwaggerUIOptions {
2
+ title?: string;
3
+ path?: string;
4
+ persistAuthorization: boolean;
5
+ assetsPath?: string;
6
+ faviconPath?: string;
7
+ topbarIconPath?: string;
8
+ topbarBgColor?: string;
9
+ }
10
+ export declare class SwaggerCustomUI {
11
+ readonly options: SwaggerUIOptions;
12
+ constructor(options: SwaggerUIOptions);
13
+ private customCSS;
14
+ getCustomOptions(): {
15
+ customCss: string;
16
+ swaggerOptions: {
17
+ persistAuthorization: boolean;
18
+ };
19
+ jsonDocumentUrl: string | undefined;
20
+ yamlDocumentUrl: string | undefined;
21
+ customSiteTitle: string | undefined;
22
+ };
23
+ b64(file: string, img?: boolean): string;
24
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SWAGGER_UI_CONSTANTS = void 0;
4
+ exports.SWAGGER_UI_CONSTANTS = {
5
+ title: "Swagger | OpenAPI Specification (OAS)",
6
+ description: "Standardized format for describing RESTful APIs",
7
+ version: "0.0.1",
8
+ path: "docs",
9
+ faviconFilePath: "",
10
+ topbarIconFilePath: "",
11
+ auth: {
12
+ type: "http",
13
+ scheme: "bearer",
14
+ bearerFormat: "JWT",
15
+ name: "Authorization",
16
+ description: "Enter JWT token",
17
+ in: "header",
18
+ },
19
+ persistAuthorization: true,
20
+ topbarBgColor: "#000000",
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3Rvcnkvb3BlbmFwaS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaUJhLFFBQUEsb0JBQW9CLEdBQW1CO0lBQ2xELEtBQUssRUFBRSx1Q0FBdUM7SUFDOUMsV0FBVyxFQUFFLGlEQUFpRDtJQUM5RCxPQUFPLEVBQUUsT0FBTztJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixZQUFZLEVBQUUsS0FBSztRQUNuQixJQUFJLEVBQUUsZUFBZTtRQUNyQixXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLEVBQUUsRUFBRSxRQUFRO0tBQ2I7SUFDRCxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGFBQWEsRUFBRSxTQUFTO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWN1cml0eVNjaGVtZU9iamVjdCB9IGZyb20gXCJAbmVzdGpzL3N3YWdnZXIvZGlzdC9pbnRlcmZhY2VzL29wZW4tYXBpLXNwZWMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN3YWdnZXJPcHRpb25zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgYXNzZXRzUGF0aD86IHN0cmluZztcbiAgZmF2aWNvbkZpbGVQYXRoPzogc3RyaW5nO1xuICB0b3BiYXJJY29uRmlsZVBhdGg/OiBzdHJpbmc7XG4gIHBlcnNpc3RBdXRob3JpemF0aW9uPzogYm9vbGVhbjtcbiAgcGF0aDogc3RyaW5nO1xuICBhdXRoPzogU2VjdXJpdHlTY2hlbWVPYmplY3Q7XG4gIHRvcGJhckJnQ29sb3I/OiBzdHJpbmc7XG4gIGV4dHJhTW9kZWxzPzogQ29uc3RydWN0b3JbXTtcbn1cblxuZXhwb3J0IGNvbnN0IFNXQUdHRVJfVUlfQ09OU1RBTlRTOiBTd2FnZ2VyT3B0aW9ucyA9IHtcbiAgdGl0bGU6IFwiU3dhZ2dlciB8IE9wZW5BUEkgU3BlY2lmaWNhdGlvbiAoT0FTKVwiLFxuICBkZXNjcmlwdGlvbjogXCJTdGFuZGFyZGl6ZWQgZm9ybWF0IGZvciBkZXNjcmliaW5nIFJFU1RmdWwgQVBJc1wiLFxuICB2ZXJzaW9uOiBcIjAuMC4xXCIsXG4gIHBhdGg6IFwiZG9jc1wiLFxuICBmYXZpY29uRmlsZVBhdGg6IFwiXCIsXG4gIHRvcGJhckljb25GaWxlUGF0aDogXCJcIixcbiAgYXV0aDoge1xuICAgIHR5cGU6IFwiaHR0cFwiLFxuICAgIHNjaGVtZTogXCJiZWFyZXJcIixcbiAgICBiZWFyZXJGb3JtYXQ6IFwiSldUXCIsXG4gICAgbmFtZTogXCJBdXRob3JpemF0aW9uXCIsXG4gICAgZGVzY3JpcHRpb246IFwiRW50ZXIgSldUIHRva2VuXCIsXG4gICAgaW46IFwiaGVhZGVyXCIsXG4gIH0sXG4gIHBlcnNpc3RBdXRob3JpemF0aW9uOiB0cnVlLFxuICB0b3BiYXJCZ0NvbG9yOiBcIiMwMDAwMDBcIixcbn07XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { SecuritySchemeObject } from "@nestjs/swagger/dist/interfaces/open-api-spec.interface";
2
+ import { Constructor } from "@decaf-ts/decoration";
3
+ export interface SwaggerOptions {
4
+ title: string;
5
+ description: string;
6
+ version?: string;
7
+ assetsPath?: string;
8
+ faviconFilePath?: string;
9
+ topbarIconFilePath?: string;
10
+ persistAuthorization?: boolean;
11
+ path: string;
12
+ auth?: SecuritySchemeObject;
13
+ topbarBgColor?: string;
14
+ extraModels?: Constructor[];
15
+ }
16
+ export declare const SWAGGER_UI_CONSTANTS: SwaggerOptions;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./SwaggerBuilder.cjs"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9vcGVuYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Td2FnZ2VyQnVpbGRlclwiOyJdfQ==
@@ -0,0 +1 @@
1
+ export * from "./SwaggerBuilder";