repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup some helpers defaults values
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
ocpp
/
OCPPIncomingRequestService.ts
diff --git
a/src/charging-station/ocpp/OCPPIncomingRequestService.ts
b/src/charging-station/ocpp/OCPPIncomingRequestService.ts
index 280a812ddc14b99d80a735a7dfbf4ffeaf6f4203..ddffa657f2a131df81b11058b786807eea15e0fd 100644
(file)
--- a/
src/charging-station/ocpp/OCPPIncomingRequestService.ts
+++ b/
src/charging-station/ocpp/OCPPIncomingRequestService.ts
@@
-1,28
+1,37
@@
import { AsyncResource } from 'async_hooks';
import { AsyncResource } from 'async_hooks';
-import type { JSONSchemaType } from 'ajv';
-import Ajv from 'ajv-draft-04';
+import Ajv, { type JSONSchemaType } from 'ajv';
import ajvFormats from 'ajv-formats';
import ajvFormats from 'ajv-formats';
+import OCPPConstants from './OCPPConstants';
+import { OCPPServiceUtils } from './OCPPServiceUtils';
import OCPPError from '../../exception/OCPPError';
import type { HandleErrorParams } from '../../types/Error';
import OCPPError from '../../exception/OCPPError';
import type { HandleErrorParams } from '../../types/Error';
-import type { JsonType } from '../../types/JsonType';
+import type { JsonObject, JsonType } from '../../types/JsonType';
+import type { OCPPVersion } from '../../types/ocpp/OCPPVersion';
import type { IncomingRequestCommand } from '../../types/ocpp/Requests';
import type { IncomingRequestCommand } from '../../types/ocpp/Requests';
+import type { ClearCacheResponse } from '../../types/ocpp/Responses';
import logger from '../../utils/Logger';
import type ChargingStation from '../ChargingStation';
import logger from '../../utils/Logger';
import type ChargingStation from '../ChargingStation';
-import {
OCPPServiceUtils } from './OCPPService
Utils';
+import {
ChargingStationUtils } from '../ChargingStation
Utils';
const moduleName = 'OCPPIncomingRequestService';
export default abstract class OCPPIncomingRequestService {
private static instance: OCPPIncomingRequestService | null = null;
protected asyncResource: AsyncResource;
const moduleName = 'OCPPIncomingRequestService';
export default abstract class OCPPIncomingRequestService {
private static instance: OCPPIncomingRequestService | null = null;
protected asyncResource: AsyncResource;
+ private readonly version: OCPPVersion;
private readonly ajv: Ajv;
private readonly ajv: Ajv;
+ protected abstract jsonSchemas: Map<IncomingRequestCommand, JSONSchemaType<JsonObject>>;
- protected constructor() {
- this.asyncResource = new AsyncResource(moduleName);
- this.ajv = new Ajv();
+ protected constructor(version: OCPPVersion) {
+ this.version = version;
+ this.ajv = new Ajv({
+ keywords: ['javaType'],
+ multipleOfPrecision: 2,
+ });
ajvFormats(this.ajv);
ajvFormats(this.ajv);
+ this.asyncResource = new AsyncResource(moduleName);
this.incomingRequestHandler.bind(this);
this.validateIncomingRequestPayload.bind(this);
}
this.incomingRequestHandler.bind(this);
this.validateIncomingRequestPayload.bind(this);
}
@@
-39,7
+48,7
@@
export default abstract class OCPPIncomingRequestService {
commandName: IncomingRequestCommand,
error: Error,
params: HandleErrorParams<T> = { throwError: true }
commandName: IncomingRequestCommand,
error: Error,
params: HandleErrorParams<T> = { throwError: true }
- ): T {
+ ): T
| undefined
{
logger.error(
`${chargingStation.logPrefix()} ${moduleName}.handleIncomingRequestError: Incoming request command '${commandName}' error:`,
error
logger.error(
`${chargingStation.logPrefix()} ${moduleName}.handleIncomingRequestError: Incoming request command '${commandName}' error:`,
error
@@
-69,7
+78,7
@@
export default abstract class OCPPIncomingRequestService {
return true;
}
logger.error(
return true;
}
logger.error(
- `${chargingStation.logPrefix()} ${moduleName}.validateIncomingRequestPayload:
I
ncoming request PDU is invalid: %j`,
+ `${chargingStation.logPrefix()} ${moduleName}.validateIncomingRequestPayload:
Command '${commandName}' i
ncoming request PDU is invalid: %j`,
validate.errors
);
throw new OCPPError(
validate.errors
);
throw new OCPPError(
@@
-80,6
+89,13
@@
export default abstract class OCPPIncomingRequestService {
);
}
);
}
+ protected handleRequestClearCache(chargingStation: ChargingStation): ClearCacheResponse {
+ chargingStation.authorizedTagsCache.deleteAuthorizedTags(
+ ChargingStationUtils.getAuthorizationFile(chargingStation.stationInfo)
+ );
+ return OCPPConstants.OCPP_RESPONSE_ACCEPTED;
+ }
+
public abstract incomingRequestHandler(
chargingStation: ChargingStation,
messageId: string,
public abstract incomingRequestHandler(
chargingStation: ChargingStation,
messageId: string,