fix: align enums key casing if used in compound
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Requests.ts
index 78fe4105fe2f533ea4d0b2c9991a3e4cf89de5e6..73401d35ca1ee6573b3c993b17b419c9f36db551 100644 (file)
@@ -1,10 +1,15 @@
-import type { EmptyObject } from '../../EmptyObject';
-import type { JsonObject } from '../../JsonType';
-import type { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
-import type { OCPP16ChargePointStatus } from './ChargePointStatus';
-import type { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
-import type { OCPP16StandardParametersKey } from './Configuration';
-import type { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
+import type {
+  EmptyObject,
+  JsonObject,
+  OCPP16ChargePointErrorCode,
+  OCPP16ChargePointStatus,
+  OCPP16ChargingProfile,
+  OCPP16ChargingProfilePurposeType,
+  OCPP16ChargingRateUnitType,
+  OCPP16DiagnosticsStatus,
+  OCPP16StandardParametersKey,
+  OCPP16VendorParametersKey,
+} from '../../internal';
 
 export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
@@ -26,6 +31,7 @@ export enum OCPP16IncomingRequestCommand {
   UNLOCK_CONNECTOR = 'UnlockConnector',
   GET_CONFIGURATION = 'GetConfiguration',
   CHANGE_CONFIGURATION = 'ChangeConfiguration',
+  GET_COMPOSITE_SCHEDULE = 'GetCompositeSchedule',
   SET_CHARGING_PROFILE = 'SetChargingProfile',
   CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
   REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
@@ -55,15 +61,17 @@ export interface OCPP16StatusNotificationRequest extends JsonObject {
   errorCode: OCPP16ChargePointErrorCode;
   status: OCPP16ChargePointStatus;
   info?: string;
-  timestamp?: string;
+  timestamp?: Date;
   vendorId?: string;
   vendorErrorCode?: string;
 }
 
 export type OCPP16ClearCacheRequest = EmptyObject;
 
+type OCPP16ConfigurationKey = string | OCPP16StandardParametersKey | OCPP16VendorParametersKey;
+
 export interface ChangeConfigurationRequest extends JsonObject {
-  key: string | OCPP16StandardParametersKey;
+  key: OCPP16ConfigurationKey;
   value: string;
 }
 
@@ -82,10 +90,10 @@ export interface UnlockConnectorRequest extends JsonObject {
 }
 
 export interface GetConfigurationRequest extends JsonObject {
-  key?: string | OCPP16StandardParametersKey[];
+  key?: OCPP16ConfigurationKey[];
 }
 
-export enum ResetType {
+enum ResetType {
   HARD = 'Hard',
   SOFT = 'Soft',
 }
@@ -94,14 +102,20 @@ export interface ResetRequest extends JsonObject {
   type: ResetType;
 }
 
+export interface OCPP16GetCompositeScheduleRequest extends JsonObject {
+  connectorId: number;
+  duration: number;
+  chargingRateUnit?: OCPP16ChargingRateUnitType;
+}
+
 export interface SetChargingProfileRequest extends JsonObject {
   connectorId: number;
   csChargingProfiles: OCPP16ChargingProfile;
 }
 
 export enum OCPP16AvailabilityType {
-  INOPERATIVE = 'Inoperative',
-  OPERATIVE = 'Operative',
+  Inoperative = 'Inoperative',
+  Operative = 'Operative',
 }
 
 export interface ChangeAvailabilityRequest extends JsonObject {
@@ -112,7 +126,7 @@ export interface ChangeAvailabilityRequest extends JsonObject {
 export interface ClearChargingProfileRequest extends JsonObject {
   id?: number;
   connectorId?: number;
-  chargingProfilePurpose?: ChargingProfilePurposeType;
+  chargingProfilePurpose?: OCPP16ChargingProfilePurposeType;
   stackLevel?: number;
 }
 
@@ -135,7 +149,7 @@ export enum OCPP16FirmwareStatus {
 
 export type OCPP16FirmwareStatusNotificationRequest = {
   status: OCPP16FirmwareStatus;
-};
+} & JsonObject;
 
 export interface GetDiagnosticsRequest extends JsonObject {
   location: string;
@@ -145,7 +159,7 @@ export interface GetDiagnosticsRequest extends JsonObject {
   stopTime?: Date;
 }
 
-export interface DiagnosticsStatusNotificationRequest extends JsonObject {
+export interface OCPP16DiagnosticsStatusNotificationRequest extends JsonObject {
   status: OCPP16DiagnosticsStatus;
 }