UNPKG

@nestjs-mod/files

Version:

Files module with an error filter, controller and rest-sdk for work with module from other nodejs appliaction

56 lines 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FilesError = exports.FILES_ERROR_ENUM_TITLES = exports.FilesErrorEnum = void 0; const tslib_1 = require("tslib"); const swagger_1 = require("@nestjs/swagger"); const nestjs_translates_1 = require("nestjs-translates"); var FilesErrorEnum; (function (FilesErrorEnum) { FilesErrorEnum["COMMON"] = "FILES-000"; FilesErrorEnum["FORBIDDEN"] = "FILES-001"; })(FilesErrorEnum || (exports.FilesErrorEnum = FilesErrorEnum = {})); exports.FILES_ERROR_ENUM_TITLES = { [FilesErrorEnum.COMMON]: (0, nestjs_translates_1.getText)('Files error'), [FilesErrorEnum.FORBIDDEN]: (0, nestjs_translates_1.getText)('Forbidden'), }; class FilesError extends Error { constructor(message, code, metadata) { const messageAsCode = Boolean(message && Object.values(FilesErrorEnum).includes(message)); const preparedCode = messageAsCode ? message : code; const preparedMessage = messageAsCode && preparedCode ? exports.FILES_ERROR_ENUM_TITLES[preparedCode] : message; code = preparedCode || FilesErrorEnum.COMMON; message = preparedMessage || exports.FILES_ERROR_ENUM_TITLES[code]; super(message); this.code = FilesErrorEnum.COMMON; this.code = code; this.message = message; this.metadata = metadata; } } exports.FilesError = FilesError; tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ type: String, description: Object.entries(exports.FILES_ERROR_ENUM_TITLES) .map(([key, value]) => `${value} (${key})`) .join(', '), example: exports.FILES_ERROR_ENUM_TITLES[FilesErrorEnum.COMMON], }), tslib_1.__metadata("design:type", String) ], FilesError.prototype, "message", void 0); tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ enum: FilesErrorEnum, enumName: 'FilesErrorEnum', example: FilesErrorEnum.COMMON, }), tslib_1.__metadata("design:type", Object) ], FilesError.prototype, "code", void 0); tslib_1.__decorate([ (0, swagger_1.ApiPropertyOptional)({ type: Object }), tslib_1.__metadata("design:type", Object) ], FilesError.prototype, "metadata", void 0); //# sourceMappingURL=files.errors.js.map