+import type { ChargingStation } from './internal';
import {
- ChargingStationData,
- ChargingStationWorkerMessage,
+ type ChargingStationData,
+ type ChargingStationWorkerMessage,
ChargingStationWorkerMessageEvents,
-} from '../types/ChargingStationWorker';
-import Statistics from '../types/Statistics';
-import type ChargingStation from './ChargingStation';
+ type Statistics,
+} from '../types';
export class MessageChannelUtils {
private constructor() {
chargingStation: ChargingStation
): ChargingStationWorkerMessage<ChargingStationData> {
return {
- id: ChargingStationWorkerMessageEvents.STARTED,
+ id: ChargingStationWorkerMessageEvents.started,
data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
};
}
chargingStation: ChargingStation
): ChargingStationWorkerMessage<ChargingStationData> {
return {
- id: ChargingStationWorkerMessageEvents.STOPPED,
+ id: ChargingStationWorkerMessageEvents.stopped,
data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
};
}
chargingStation: ChargingStation
): ChargingStationWorkerMessage<ChargingStationData> {
return {
- id: ChargingStationWorkerMessageEvents.UPDATED,
+ id: ChargingStationWorkerMessageEvents.updated,
data: MessageChannelUtils.buildChargingStationDataPayload(chargingStation),
};
}
statistics: Statistics
): ChargingStationWorkerMessage<Statistics> {
return {
- id: ChargingStationWorkerMessageEvents.PERFORMANCE_STATISTICS,
+ id: ChargingStationWorkerMessageEvents.performanceStatistics,
data: statistics,
};
}
chargingStation: ChargingStation
): ChargingStationData {
return {
- hashId: chargingStation.hashId,
+ started: chargingStation.started,
stationInfo: chargingStation.stationInfo,
- connectors: Array.from(chargingStation.connectors.values()),
+ connectors: [...chargingStation.connectors.values()].map(
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest
+ ),
+ evses: [...chargingStation.evses.values()].map((evseStatus) => {
+ return {
+ ...evseStatus,
+ connectors: [...evseStatus.connectors.values()].map(
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ ({ transactionSetInterval, ...connectorStatusRest }) => connectorStatusRest
+ ),
+ };
+ }),
+ ocppConfiguration: chargingStation.ocppConfiguration,
+ wsState: chargingStation?.wsConnection?.readyState,
+ bootNotificationResponse: chargingStation.bootNotificationResponse,
+ ...(chargingStation.automaticTransactionGenerator && {
+ automaticTransactionGenerator: {
+ automaticTransactionGenerator:
+ chargingStation.getAutomaticTransactionGeneratorConfiguration(),
+ automaticTransactionGeneratorStatuses: [
+ ...chargingStation.automaticTransactionGenerator.connectorsStatus.values(),
+ ],
+ },
+ }),
};
}
}