@citrineos/base
Version:
The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.
36 lines • 1.54 kB
JavaScript
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
//
// SPDX-License-Identifier: Apache-2.0
import { DEFAULT_TENANT_ID } from '../../config/defineConfig.js';
/**
* Cache namespace, used for grouping cache entries
*/
export var CacheNamespace;
(function (CacheNamespace) {
CacheNamespace["CentralSystem"] = "csms";
CacheNamespace["ChargingStation"] = "cs";
CacheNamespace["TenantPathMapping"] = "tpm";
CacheNamespace["Transactions"] = "tx";
CacheNamespace["Connections"] = "conn";
CacheNamespace["Protocol"] = "prtcl";
CacheNamespace["Other"] = "other";
})(CacheNamespace || (CacheNamespace = {}));
export const PATH_DELIMITER = ':';
export const getCacheTenantPathMappingKey = (serverId, path) => {
return serverId + PATH_DELIMITER + path;
};
/*
* Helper methods to create a unique identifier used in the cache and queues.
* This is usually a combination between the tenantId and the ocppConnectionName.
*/
export const IDENTIFIER_DELIMITER = ':';
export const createIdentifier = (tenantId, ...args) => [tenantId, ...(args ?? [])].join(IDENTIFIER_DELIMITER);
export const getTenantIdFromIdentifier = (identifier) => {
const identifierSplit = identifier.split(IDENTIFIER_DELIMITER);
return identifierSplit?.[0] ? Number(identifierSplit?.[0]) : DEFAULT_TENANT_ID;
};
export const getStationIdFromIdentifier = (identifier) => {
const identifierSplit = identifier.split(IDENTIFIER_DELIMITER);
return identifierSplit?.[1] ?? identifier;
};
//# sourceMappingURL=types.js.map