UNPKG

@nestjs-mod/two-factor

Version:

Two factor module with an error filter, guard, controller, database migrations and rest-sdk for work with module from other nodejs appliaction

63 lines 3.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TwoFactorError = exports.TWO_FACTOR_ERROR_ENUM_TITLES = exports.TwoFactorErrorEnum = void 0; const tslib_1 = require("tslib"); const swagger_1 = require("@nestjs/swagger"); const nestjs_translates_1 = require("nestjs-translates"); var TwoFactorErrorEnum; (function (TwoFactorErrorEnum) { TwoFactorErrorEnum["COMMON"] = "TWO_FACTOR-000"; TwoFactorErrorEnum["TwoFactorCodeNotSet"] = "TWO-FACTOR-001"; TwoFactorErrorEnum["TwoFactorCodeWrongCode"] = "TWO-FACTOR-002"; TwoFactorErrorEnum["TwoFactorCodeIsOutdated"] = "TWO-FACTOR-003"; TwoFactorErrorEnum["TwoFactorCodePleaseWaitXXSeconds"] = "TWO-FACTOR-004"; TwoFactorErrorEnum["TwoFactorCodeIsUsed"] = "TWO-FACTOR-005"; })(TwoFactorErrorEnum || (exports.TwoFactorErrorEnum = TwoFactorErrorEnum = {})); exports.TWO_FACTOR_ERROR_ENUM_TITLES = { [TwoFactorErrorEnum.COMMON]: (0, nestjs_translates_1.getText)('Two factor error'), [TwoFactorErrorEnum.TwoFactorCodeNotSet]: (0, nestjs_translates_1.getText)('Two factor code not set'), [TwoFactorErrorEnum.TwoFactorCodeWrongCode]: (0, nestjs_translates_1.getText)('Wrong two factor code'), [TwoFactorErrorEnum.TwoFactorCodeIsOutdated]: (0, nestjs_translates_1.getText)('Two factor code is outdated'), [TwoFactorErrorEnum.TwoFactorCodePleaseWaitXXSeconds]: (0, nestjs_translates_1.getText)('Please wait {{{timeout}}} seconds'), [TwoFactorErrorEnum.TwoFactorCodeIsUsed]: (0, nestjs_translates_1.getText)('Two-factor code has already been used'), }; class TwoFactorError extends Error { constructor(message, code, metadata) { const codeAsMetadata = Boolean(code && !Object.values(TwoFactorErrorEnum).includes(String(code))); const messageAsCode = Boolean(message && Object.values(TwoFactorErrorEnum).includes(message)); const preparedCode = messageAsCode ? message : code; const preparedMessage = messageAsCode && preparedCode ? exports.TWO_FACTOR_ERROR_ENUM_TITLES[preparedCode] : message; metadata = codeAsMetadata ? code : metadata; code = preparedCode || TwoFactorErrorEnum.COMMON; message = preparedMessage || exports.TWO_FACTOR_ERROR_ENUM_TITLES[code]; super(message); this.code = TwoFactorErrorEnum.COMMON; this.code = code; this.message = message; this.metadata = metadata; } } exports.TwoFactorError = TwoFactorError; tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ type: String, description: Object.entries(exports.TWO_FACTOR_ERROR_ENUM_TITLES) .map(([key, value]) => `${value} (${key})`) .join(', '), example: exports.TWO_FACTOR_ERROR_ENUM_TITLES[TwoFactorErrorEnum.COMMON], }), tslib_1.__metadata("design:type", String) ], TwoFactorError.prototype, "message", void 0); tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ enum: TwoFactorErrorEnum, enumName: 'TwoFactorErrorEnum', example: TwoFactorErrorEnum.COMMON, }), tslib_1.__metadata("design:type", Object) ], TwoFactorError.prototype, "code", void 0); tslib_1.__decorate([ (0, swagger_1.ApiPropertyOptional)({ type: Object }), tslib_1.__metadata("design:type", Object) ], TwoFactorError.prototype, "metadata", void 0); //# sourceMappingURL=two-factor.errors.js.map