UNPKG

@citrineos/data

Version:

The OCPP data module which includes all persistence layer implementation.

121 lines 5.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthorizationMapper = void 0; const base_1 = require("@citrineos/base"); class AuthorizationMapper { static toAuthorizationData(authorization) { return { customData: authorization.customData, idToken: AuthorizationMapper.toIdToken(authorization.idToken), idTokenInfo: AuthorizationMapper.toIdTokenInfo(authorization), }; } static toIdToken(idToken) { if (!idToken.type) { throw new Error('IdToken type is missing.'); } return { customData: idToken.customData, additionalInfo: idToken.additionalInfo && idToken.additionalInfo.length > 0 ? idToken.additionalInfo.map(this.toAdditionalInfo) : null, idToken: idToken.idToken, type: AuthorizationMapper.toIdTokenEnumType(idToken.type), }; } static toAdditionalInfo(additionalInfo) { return { customData: additionalInfo.customData, additionalIdToken: additionalInfo.additionalIdToken, type: additionalInfo.type, }; } static toIdTokenInfo(authorization) { var _a, _b, _c, _d, _e, _f, _g, _h, _j; return { status: AuthorizationMapper.toAuthorizationStatusEnumType(authorization.idTokenInfo.status), cacheExpiryDateTime: (_a = authorization.idTokenInfo) === null || _a === void 0 ? void 0 : _a.cacheExpiryDateTime, chargingPriority: (_b = authorization.idTokenInfo) === null || _b === void 0 ? void 0 : _b.chargingPriority, language1: (_c = authorization.idTokenInfo) === null || _c === void 0 ? void 0 : _c.language1, evseId: (_d = authorization.idTokenInfo) === null || _d === void 0 ? void 0 : _d.evseId, groupIdToken: ((_e = authorization.idTokenInfo) === null || _e === void 0 ? void 0 : _e.groupIdToken) ? AuthorizationMapper.toIdToken((_f = authorization.idTokenInfo) === null || _f === void 0 ? void 0 : _f.groupIdToken) : undefined, language2: (_g = authorization.idTokenInfo) === null || _g === void 0 ? void 0 : _g.language2, personalMessage: (_h = authorization.idTokenInfo) === null || _h === void 0 ? void 0 : _h.personalMessage, customData: (_j = authorization.idTokenInfo) === null || _j === void 0 ? void 0 : _j.customData, }; } static toMessageContentType(messageContent) { return { customData: messageContent.customData, format: AuthorizationMapper.toMessageFormatEnum(messageContent.format), language: messageContent.language, content: messageContent.content, }; } static toMessageFormatEnum(messageFormat) { switch (messageFormat) { case 'ASCII': return base_1.OCPP2_0_1.MessageFormatEnumType.ASCII; case 'HTML': return base_1.OCPP2_0_1.MessageFormatEnumType.HTML; case 'URI': return base_1.OCPP2_0_1.MessageFormatEnumType.URI; case 'UTF8': return base_1.OCPP2_0_1.MessageFormatEnumType.UTF8; default: throw new Error('Unknown message format'); } } static toAuthorizationStatusEnumType(status) { switch (status) { case 'Accepted': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.Accepted; case 'Blocked': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.Blocked; case 'ConcurrentTx': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.ConcurrentTx; case 'Expired': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.Expired; case 'Invalid': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.Invalid; case 'NoCredit': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.NoCredit; case 'NotAllowedTypeEVSE': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.NotAllowedTypeEVSE; case 'NotAtThisLocation': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.NotAtThisLocation; case 'NotAtThisTime': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.NotAtThisTime; case 'Unknown': return base_1.OCPP2_0_1.AuthorizationStatusEnumType.Unknown; default: throw new Error('Unknown authorization status'); } } static toIdTokenEnumType(type) { switch (type) { case 'Central': return base_1.OCPP2_0_1.IdTokenEnumType.Central; case 'eMAID': return base_1.OCPP2_0_1.IdTokenEnumType.eMAID; case 'ISO14443': return base_1.OCPP2_0_1.IdTokenEnumType.ISO14443; case 'ISO15693': return base_1.OCPP2_0_1.IdTokenEnumType.ISO15693; case 'KeyCode': return base_1.OCPP2_0_1.IdTokenEnumType.KeyCode; case 'Local': return base_1.OCPP2_0_1.IdTokenEnumType.Local; case 'MacAddress': return base_1.OCPP2_0_1.IdTokenEnumType.MacAddress; case 'NoAuthorization': return base_1.OCPP2_0_1.IdTokenEnumType.NoAuthorization; default: throw new Error('Unknown idToken type'); } } } exports.AuthorizationMapper = AuthorizationMapper; //# sourceMappingURL=AuthorizationMapper.js.map