refactor: factor out change availability helper
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / Configuration.ts
index aa50c75222623680885bb8e0b85950150dae0181..3081f13d5d4a123d882a1809474e1c009a738d40 100644 (file)
@@ -1,19 +1,27 @@
-import type { JsonObject } from '../JsonType';
 import {
   OCPP16StandardParametersKey,
   OCPP16SupportedFeatureProfiles,
-  OCPP16VendorDefaultParametersKey,
+  OCPP16VendorParametersKey,
 } from './1.6/Configuration';
+import {
+  OCPP20OptionalVariableName,
+  OCPP20RequiredVariableName,
+  OCPP20VendorVariableName,
+} from './2.0/Variables';
+import type { JsonObject } from '../JsonType';
 
 export const StandardParametersKey = {
   ...OCPP16StandardParametersKey,
+  ...OCPP20RequiredVariableName,
+  ...OCPP20OptionalVariableName,
 } as const;
 export type StandardParametersKey = OCPP16StandardParametersKey;
 
-export const VendorDefaultParametersKey = {
-  ...OCPP16VendorDefaultParametersKey,
+export const VendorParametersKey = {
+  ...OCPP16VendorParametersKey,
+  ...OCPP20VendorVariableName,
 } as const;
-export type VendorDefaultParametersKey = OCPP16VendorDefaultParametersKey;
+export type VendorParametersKey = OCPP16VendorParametersKey;
 
 export const SupportedFeatureProfiles = {
   ...OCPP16SupportedFeatureProfiles,
@@ -31,8 +39,10 @@ export enum ConnectorPhaseRotation {
   TSR = 'TSR',
 }
 
-export interface OCPPConfigurationKey extends JsonObject {
-  key: string | StandardParametersKey;
+export type ConfigurationKeyType = string | StandardParametersKey | VendorParametersKey;
+
+export type OCPPConfigurationKey = {
+  key: ConfigurationKeyType;
   readonly: boolean;
   value?: string;
-}
+} & JsonObject;