import chalk from 'chalk';
import {
+ type Interval,
addDays,
addSeconds,
addWeeks,
isDate,
isPast,
isWithinInterval,
- maxTime,
toDate,
} from 'date-fns';
+import { maxTime } from 'date-fns/constants';
import type { ChargingStation } from './ChargingStation';
import { getConfigurationKey } from './ConfigurationKeyUtils';
ChargingProfileKindType,
ChargingRateUnitType,
type ChargingSchedulePeriod,
+ type ChargingStationConfiguration,
type ChargingStationInfo,
type ChargingStationTemplate,
ChargingStationWorkerMessageEvents,
index: number,
stationTemplate: ChargingStationTemplate | undefined,
): string => {
- if (isUndefined(stationTemplate)) {
+ if (stationTemplate === undefined) {
return "Unknown 'chargingStationId'";
}
// In case of multiple instances: add instance index to charging station id
const idStr = `000000000${index.toString()}`;
return stationTemplate?.fixedName
? stationTemplate.baseName
- : `${stationTemplate?.baseName}-${instanceIndex.toString()}${idStr.substring(
+ : `${stationTemplate.baseName}-${instanceIndex.toString()}${idStr.substring(
idStr.length - 4,
)}${idSuffix}`;
};
}
};
+export const checkConfiguration = (
+ stationConfiguration: ChargingStationConfiguration | undefined,
+ logPrefix: string,
+ configurationFile: string,
+): void => {
+ if (isNullOrUndefined(stationConfiguration)) {
+ const errorMsg = `Failed to read charging station configuration file ${configurationFile}`;
+ logger.error(`${logPrefix} ${errorMsg}`);
+ throw new BaseError(errorMsg);
+ }
+ if (isEmptyObject(stationConfiguration!)) {
+ const errorMsg = `Empty charging station configuration from file ${configurationFile}`;
+ logger.error(`${logPrefix} ${errorMsg}`);
+ throw new BaseError(errorMsg);
+ }
+};
+
export const checkConnectorsConfiguration = (
stationTemplate: ChargingStationTemplate,
logPrefix: string,