@citrineos/data
Version:
The OCPP data module which includes all persistence layer implementation.
121 lines • 5.67 kB
JavaScript
;
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