@citrineos/base
Version:
The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.
48 lines • 2.08 kB
JavaScript
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
//
// SPDX-License-Identifier: Apache-2.0
import { z } from 'zod';
import { TariffSchema } from './tariff.dto.js';
import { BaseSchema } from './types/base.dto.js';
import { ConnectorErrorCodeEnumSchema, ConnectorFormatEnumSchema, ConnectorPowerTypeEnumSchema, ConnectorStatusEnumSchema, ConnectorTypeEnumSchema, } from './types/enums.js';
export const ConnectorSchemaWithoutParent = BaseSchema.extend({
id: z.number().int().optional(),
ocppConnectionName: z.string(),
evseId: z.number().int(),
connectorId: z.number().int(),
evseTypeConnectorId: z.number().int().optional(),
status: ConnectorStatusEnumSchema.default('Unknown').nullable().optional(),
type: ConnectorTypeEnumSchema.nullable().optional(),
format: ConnectorFormatEnumSchema.nullable().optional(),
errorCode: ConnectorErrorCodeEnumSchema.default('NoError').nullable().optional(),
powerType: ConnectorPowerTypeEnumSchema.nullable().optional(),
maximumAmperage: z.number().int().nullable().optional(),
maximumVoltage: z.number().int().nullable().optional(),
maximumPowerWatts: z.number().int().nullable().optional(),
timestamp: z.iso.datetime(),
info: z.string().nullable().optional(),
vendorId: z.string().nullable().optional(),
vendorErrorCode: z.string().nullable().optional(),
termsAndConditionsUrl: z.string().nullable().optional(),
tariff: TariffSchema.nullable().optional(),
});
export const ConnectorSchema = ConnectorSchemaWithoutParent.extend({
tenant: z.any().optional(),
evse: z.any().optional(),
chargingStation: z.any().optional(),
});
export const ConnectorProps = ConnectorSchema.keyof().enum;
export const ConnectorCreateSchema = ConnectorSchema.omit({
id: true,
tenant: true,
evse: true,
chargingStation: true,
tariff: true,
updatedAt: true,
createdAt: true,
});
export const connectorSchemas = {
Connector: ConnectorSchema,
ConnectorCreate: ConnectorCreateSchema,
};
//# sourceMappingURL=connector.dto.js.map