@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.
- package/dist/for-nest.cjs +573 -6
- package/dist/for-nest.esm.cjs +549 -6
- package/lib/esm/factory/NestBootstraper.d.ts +214 -0
- package/lib/esm/factory/NestBootstraper.js +269 -0
- package/lib/esm/factory/errors/cors.d.ts +4 -0
- package/lib/esm/factory/errors/cors.js +7 -0
- package/lib/esm/factory/errors/index.d.ts +1 -0
- package/lib/esm/factory/errors/index.js +2 -0
- package/lib/esm/factory/exceptions/AuthorizationExceptionFilter.d.ts +9 -0
- package/lib/esm/factory/exceptions/AuthorizationExceptionFilter.js +35 -0
- package/lib/esm/factory/exceptions/ConflictExceptionFilter.d.ts +9 -0
- package/lib/esm/factory/exceptions/ConflictExceptionFilter.js +35 -0
- package/lib/esm/factory/exceptions/GlobalExceptionFilter.d.ts +4 -0
- package/lib/esm/factory/exceptions/GlobalExceptionFilter.js +35 -0
- package/lib/esm/factory/exceptions/HttpExceptionFilter.d.ts +4 -0
- package/lib/esm/factory/exceptions/HttpExceptionFilter.js +27 -0
- package/lib/esm/factory/exceptions/HttpResponseError.d.ts +14 -0
- package/lib/esm/factory/exceptions/HttpResponseError.js +19 -0
- package/lib/esm/factory/exceptions/NotFoundExceptionFilter.d.ts +9 -0
- package/lib/esm/factory/exceptions/NotFoundExceptionFilter.js +35 -0
- package/lib/esm/factory/exceptions/ValidationExceptionFilter.d.ts +9 -0
- package/lib/esm/factory/exceptions/ValidationExceptionFilter.js +35 -0
- package/lib/esm/factory/exceptions/index.d.ts +6 -0
- package/lib/esm/factory/exceptions/index.js +7 -0
- package/lib/esm/factory/index.d.ts +4 -0
- package/lib/esm/factory/index.js +5 -0
- package/lib/esm/factory/openapi/SwaggerBuilder.d.ts +9 -0
- package/lib/esm/factory/openapi/SwaggerBuilder.js +42 -0
- package/lib/esm/factory/openapi/SwaggerCustomUI.d.ts +24 -0
- package/lib/esm/factory/openapi/SwaggerCustomUI.js +55 -0
- package/lib/esm/factory/openapi/constants.d.ts +16 -0
- package/lib/esm/factory/openapi/constants.js +19 -0
- package/lib/esm/factory/openapi/index.d.ts +1 -0
- package/lib/esm/factory/openapi/index.js +2 -0
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +3 -2
- package/lib/factory/NestBootstraper.cjs +273 -0
- package/lib/factory/NestBootstraper.d.ts +214 -0
- package/lib/factory/errors/cors.cjs +11 -0
- package/lib/factory/errors/cors.d.ts +4 -0
- package/lib/factory/errors/index.cjs +18 -0
- package/lib/factory/errors/index.d.ts +1 -0
- package/lib/factory/exceptions/AuthorizationExceptionFilter.cjs +39 -0
- package/lib/factory/exceptions/AuthorizationExceptionFilter.d.ts +9 -0
- package/lib/factory/exceptions/ConflictExceptionFilter.cjs +39 -0
- package/lib/factory/exceptions/ConflictExceptionFilter.d.ts +9 -0
- package/lib/factory/exceptions/GlobalExceptionFilter.cjs +38 -0
- package/lib/factory/exceptions/GlobalExceptionFilter.d.ts +4 -0
- package/lib/factory/exceptions/HttpExceptionFilter.cjs +30 -0
- package/lib/factory/exceptions/HttpExceptionFilter.d.ts +4 -0
- package/lib/factory/exceptions/HttpResponseError.cjs +23 -0
- package/lib/factory/exceptions/HttpResponseError.d.ts +14 -0
- package/lib/factory/exceptions/NotFoundExceptionFilter.cjs +39 -0
- package/lib/factory/exceptions/NotFoundExceptionFilter.d.ts +9 -0
- package/lib/factory/exceptions/ValidationExceptionFilter.cjs +39 -0
- package/lib/factory/exceptions/ValidationExceptionFilter.d.ts +9 -0
- package/lib/factory/exceptions/index.cjs +23 -0
- package/lib/factory/exceptions/index.d.ts +6 -0
- package/lib/factory/index.cjs +21 -0
- package/lib/factory/index.d.ts +4 -0
- package/lib/factory/openapi/SwaggerBuilder.cjs +46 -0
- package/lib/factory/openapi/SwaggerBuilder.d.ts +9 -0
- package/lib/factory/openapi/SwaggerCustomUI.cjs +92 -0
- package/lib/factory/openapi/SwaggerCustomUI.d.ts +24 -0
- package/lib/factory/openapi/constants.cjs +22 -0
- package/lib/factory/openapi/constants.d.ts +16 -0
- package/lib/factory/openapi/index.cjs +18 -0
- package/lib/factory/openapi/index.d.ts +1 -0
- package/lib/index.cjs +3 -2
- package/lib/index.d.ts +2 -1
- 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,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,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,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,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";
|