]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commit
refactor(ocpp): harmonize JSON schema payload validation across OCPP stacks
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 12 Mar 2026 22:31:30 +0000 (23:31 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 12 Mar 2026 22:31:30 +0000 (23:31 +0100)
commit0c8357f86de845c860f6ff1cb30e1cfaa8e5643a
treed2b0ad83e155571350f45397dc5c632155143c2f
parent12018fd396db8ad3a03b1e84bf4a56c9c9768e4e
refactor(ocpp): harmonize JSON schema payload validation across OCPP stacks

- Absorb missing-validator null guard into base class methods, eliminating
  4 identical private validatePayload wrappers and their bind() calls
- Remove dead code (unreachable isValid branches in ResponseService wrappers)
- Make parseJsonSchemaFile throw on failure instead of silently returning {},
  preventing validators that accept everything as a security bypass
- Add dual-path schema resolution for production (esbuild) and test (tsx)
- Align OCPP 1.6 schema map construction with OCPP 2.0 registry pattern,
  replacing ~200 lines of verbose inline entries with declarative registries
- Collapse 4 identical payload options factory methods into 1 per version
12 files changed:
src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
src/charging-station/ocpp/1.6/OCPP16RequestService.ts
src/charging-station/ocpp/1.6/OCPP16ResponseService.ts
src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts
src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts
src/charging-station/ocpp/2.0/OCPP20RequestService.ts
src/charging-station/ocpp/2.0/OCPP20ResponseService.ts
src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts
src/charging-station/ocpp/OCPPIncomingRequestService.ts
src/charging-station/ocpp/OCPPRequestService.ts
src/charging-station/ocpp/OCPPResponseService.ts
src/charging-station/ocpp/OCPPServiceUtils.ts