UNPKG

@nestjs-mod/sso

Version:

NestJS SDK for Single Sign-On on NestJS and Angular with webhooks and social authorization (Wrapper for https://www.npmjs.com/package/@nestjs-mod/sso-rest-sdk)

57 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SsoError = exports.SSO_ERROR_ENUM_TITLES = exports.SsoErrorEnum = void 0; const tslib_1 = require("tslib"); const misc_1 = require("@nestjs-mod/misc"); const swagger_1 = require("@nestjs/swagger"); var SsoErrorEnum; (function (SsoErrorEnum) { SsoErrorEnum["COMMON"] = "SSO-000"; SsoErrorEnum["FORBIDDEN"] = "SSO-001"; SsoErrorEnum["UNAUTHORIZED"] = "SSO-002"; })(SsoErrorEnum || (exports.SsoErrorEnum = SsoErrorEnum = {})); exports.SSO_ERROR_ENUM_TITLES = { [SsoErrorEnum.COMMON]: (0, misc_1.getText)('Sso error'), [SsoErrorEnum.FORBIDDEN]: (0, misc_1.getText)('Forbidden'), [SsoErrorEnum.UNAUTHORIZED]: (0, misc_1.getText)('Unauthorized'), }; class SsoError extends Error { constructor(message, code, metadata) { const codeAsMetadata = Boolean(code && !Object.values(SsoErrorEnum).includes(String(code))); const messageAsCode = Boolean(message && Object.values(SsoErrorEnum).includes(message)); const preparedCode = messageAsCode ? message : code; const preparedMessage = messageAsCode && preparedCode ? exports.SSO_ERROR_ENUM_TITLES[preparedCode] : message; metadata = codeAsMetadata ? code : metadata; code = preparedCode || SsoErrorEnum.COMMON; message = preparedMessage || exports.SSO_ERROR_ENUM_TITLES[code]; super(message); this.code = SsoErrorEnum.COMMON; this.code = code; this.message = message; this.metadata = metadata; } } exports.SsoError = SsoError; tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ type: String, description: Object.entries(exports.SSO_ERROR_ENUM_TITLES) .map(([key, value]) => `${value} (${key})`) .join(', '), example: exports.SSO_ERROR_ENUM_TITLES[SsoErrorEnum.COMMON], }), tslib_1.__metadata("design:type", String) ], SsoError.prototype, "message", void 0); tslib_1.__decorate([ (0, swagger_1.ApiProperty)({ enum: SsoErrorEnum, enumName: 'SsoErrorEnum', example: SsoErrorEnum.COMMON, }), tslib_1.__metadata("design:type", Object) ], SsoError.prototype, "code", void 0); tslib_1.__decorate([ (0, swagger_1.ApiPropertyOptional)({ type: Object }), tslib_1.__metadata("design:type", Object) ], SsoError.prototype, "metadata", void 0); //# sourceMappingURL=sso.errors.js.map