X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F1.6%2FOCPP16RequestService.ts;h=75e113d21162efaecb375b069ab60e124552242c;hb=dc6617020896c78ee5b3d4ef2513c98b4d61f06f;hp=571ac066fc5710159c7bc5f968b9554689eb26de;hpb=f479a7929a02e6290ec945557136bf4ee5445107;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/1.6/OCPP16RequestService.ts b/src/charging-station/ocpp/1.6/OCPP16RequestService.ts index 571ac066..75e113d2 100644 --- a/src/charging-station/ocpp/1.6/OCPP16RequestService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16RequestService.ts @@ -1,28 +1,15 @@ // Partial Copyright Jerome Benoit. 2021. All Rights Reserved. -import { - AuthorizeRequest, - StartTransactionRequest, - StopTransactionRequest, -} from '../../../types/ocpp/1.6/Transaction'; -import { - DiagnosticsStatusNotificationRequest, - HeartbeatRequest, - OCPP16BootNotificationRequest, - OCPP16RequestCommand, - StatusNotificationRequest, -} from '../../../types/ocpp/1.6/Requests'; -import { ResponseType, SendParams } from '../../../types/ocpp/Requests'; - import type ChargingStation from '../../ChargingStation'; import Constants from '../../../utils/Constants'; import { ErrorType } from '../../../types/ocpp/ErrorType'; import { JsonType } from '../../../types/JsonType'; -import { MeterValuesRequest } from '../../../types/ocpp/1.6/MeterValues'; +import { OCPP16RequestCommand } from '../../../types/ocpp/1.6/Requests'; import { OCPP16ServiceUtils } from './OCPP16ServiceUtils'; import OCPPError from '../../../exception/OCPPError'; import OCPPRequestService from '../OCPPRequestService'; import type OCPPResponseService from '../OCPPResponseService'; +import { RequestParams } from '../../../types/ocpp/Requests'; import Utils from '../../../utils/Utils'; const moduleName = 'OCPP16RequestService'; @@ -35,31 +22,31 @@ export default class OCPP16RequestService extends OCPPRequestService { super(chargingStation, ocppResponseService); } - public async sendMessageHandler( + public async requestHandler( commandName: OCPP16RequestCommand, commandParams?: JsonType, - params?: SendParams - ): Promise { + params?: RequestParams + ): Promise { if (Object.values(OCPP16RequestCommand).includes(commandName)) { - return this.sendMessage( + return (await this.sendMessage( Utils.generateUUID(), - this.buildCommandPayload(commandName, commandParams), + this.buildRequestPayload(commandName, commandParams), commandName, params - ); + )) as unknown as Response; } throw new OCPPError( ErrorType.NOT_SUPPORTED, - `${moduleName}.sendMessageHandler: Unsupported OCPP command ${commandName}`, + `${moduleName}.requestHandler: Unsupported OCPP command ${commandName}`, commandName, { commandName } ); } - private buildCommandPayload( + private buildRequestPayload( commandName: OCPP16RequestCommand, commandParams?: JsonType - ): JsonType { + ): Request { let connectorId: number; switch (commandName) { case OCPP16RequestCommand.AUTHORIZE: @@ -67,7 +54,7 @@ export default class OCPP16RequestService extends OCPPRequestService { ...(!Utils.isUndefined(commandParams?.idTag) ? { idTag: commandParams.idTag } : { idTag: Constants.DEFAULT_IDTAG }), - } as AuthorizeRequest; + } as unknown as Request; case OCPP16RequestCommand.BOOT_NOTIFICATION: return { chargePointModel: commandParams?.chargePointModel, @@ -89,13 +76,13 @@ export default class OCPP16RequestService extends OCPPRequestService { ...(!Utils.isUndefined(commandParams?.meterType) && { meterType: commandParams.meterType, }), - } as OCPP16BootNotificationRequest; + } as unknown as Request; case OCPP16RequestCommand.DIAGNOSTICS_STATUS_NOTIFICATION: return { status: commandParams?.diagnosticsStatus, - } as DiagnosticsStatusNotificationRequest; + } as unknown as Request; case OCPP16RequestCommand.HEARTBEAT: - return {} as HeartbeatRequest; + return {} as unknown as Request; case OCPP16RequestCommand.METER_VALUES: return { connectorId: commandParams?.connectorId, @@ -103,13 +90,13 @@ export default class OCPP16RequestService extends OCPPRequestService { meterValue: Array.isArray(commandParams?.meterValue) ? commandParams?.meterValue : [commandParams?.meterValue], - } as MeterValuesRequest; + } as unknown as Request; case OCPP16RequestCommand.STATUS_NOTIFICATION: return { connectorId: commandParams?.connectorId, status: commandParams?.status, errorCode: commandParams?.errorCode, - } as StatusNotificationRequest; + } as unknown as Request; case OCPP16RequestCommand.START_TRANSACTION: return { connectorId: commandParams?.connectorId, @@ -120,7 +107,7 @@ export default class OCPP16RequestService extends OCPPRequestService { commandParams?.connectorId as number ), timestamp: new Date().toISOString(), - } as StartTransactionRequest; + } as unknown as Request; case OCPP16RequestCommand.STOP_TRANSACTION: connectorId = this.chargingStation.getConnectorIdByTransactionId( commandParams?.transactionId as number @@ -141,12 +128,12 @@ export default class OCPP16RequestService extends OCPPRequestService { ) ), }), - } as StopTransactionRequest; + } as unknown as Request; default: throw new OCPPError( ErrorType.NOT_SUPPORTED, // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `${moduleName}.buildCommandPayload: Unsupported OCPP command: ${commandName}`, + `${moduleName}.buildRequestPayload: Unsupported OCPP command: ${commandName}`, commandName, { commandName } );