// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+import { JsonObject, JsonType } from '../../../types/JsonType';
+
import type ChargingStation from '../../ChargingStation';
import Constants from '../../../utils/Constants';
import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { JsonType } from '../../../types/JsonType';
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 { SendParams } from '../../../types/ocpp/Requests';
+import { RequestParams } from '../../../types/ocpp/Requests';
import Utils from '../../../utils/Utils';
const moduleName = 'OCPP16RequestService';
super(chargingStation, ocppResponseService);
}
- public async sendMessageHandler<Request extends JsonType, Response extends JsonType>(
+ public async requestHandler<Request extends JsonType, Response extends JsonType>(
commandName: OCPP16RequestCommand,
commandParams?: JsonType,
- params?: SendParams
+ params?: RequestParams
): Promise<Response> {
if (Object.values(OCPP16RequestCommand).includes(commandName)) {
return (await this.sendMessage(
Utils.generateUUID(),
- this.buildCommandPayload<Request>(commandName, commandParams),
+ this.buildRequestPayload<Request>(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<Request extends JsonType>(
+ private buildRequestPayload<Request extends JsonType>(
commandName: OCPP16RequestCommand,
commandParams?: JsonType
): Request {
let connectorId: number;
+ commandParams = commandParams as JsonObject;
switch (commandName) {
case OCPP16RequestCommand.AUTHORIZE:
return {
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 }
);