import Constants from '../utils/Constants';
import logger from '../utils/Logger';
import Utils from '../utils/Utils';
-import ChargingStation from './ChargingStation';
+import type ChargingStation from './ChargingStation';
import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
export class ChargingStationUtils {
);
}
- public static isCommandSupported(
- command: RequestCommand | IncomingRequestCommand,
- stationInfo: ChargingStationInfo
+ public static isRequestCommandSupported(
+ command: RequestCommand,
+ chargingStation: ChargingStation
): boolean {
- if (
- Object.values(IncomingRequestCommand).includes(command as IncomingRequestCommand) &&
- !stationInfo?.commandsSupport?.incomingCommands
- ) {
+ const isRequestCommand = Object.values(RequestCommand).includes(command);
+ if (isRequestCommand && !chargingStation.stationInfo?.commandsSupport?.outgoingCommands) {
return true;
+ } else if (isRequestCommand && chargingStation.stationInfo?.commandsSupport?.outgoingCommands) {
+ return chargingStation.stationInfo?.commandsSupport?.outgoingCommands[command] ?? false;
}
+ logger.error(`${chargingStation.logPrefix()} Unknown outgoing OCPP command '${command}'`);
+ return false;
+ }
+
+ public static isIncomingRequestCommandSupported(
+ command: IncomingRequestCommand,
+ chargingStation: ChargingStation
+ ): boolean {
+ const isIncomingRequestCommand = Object.values(IncomingRequestCommand).includes(command);
if (
- Object.values(RequestCommand).includes(command as RequestCommand) &&
- !stationInfo?.commandsSupport?.outgoingCommands
+ isIncomingRequestCommand &&
+ !chargingStation.stationInfo?.commandsSupport?.incomingCommands
) {
return true;
+ } else if (
+ isIncomingRequestCommand &&
+ chargingStation.stationInfo?.commandsSupport?.incomingCommands
+ ) {
+ return chargingStation.stationInfo?.commandsSupport?.incomingCommands[command] ?? false;
}
- return (
- ((stationInfo?.commandsSupport?.incomingCommands[command] as boolean) ?? false) ||
- ((stationInfo?.commandsSupport?.outgoingCommands[command] as boolean) ?? false)
- );
+ logger.error(`${chargingStation.logPrefix()} Unknown incoming OCPP command '${command}'`);
+ return false;
}
private static getRandomSerialNumberSuffix(params?: {