UNPKG

@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.

41 lines 1.88 kB
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project // // SPDX-License-Identifier: Apache-2.0 import { z } from 'zod'; import { ChargingScheduleSchema } from './charging.schedule.dto.js'; import { BaseSchema } from './types/base.dto.js'; import { ChargingLimitSourceEnumSchema, ChargingProfileKindEnumSchema, ChargingProfilePurposeEnumSchema, RecurrencyKindEnumSchema, } from './types/enums.js'; export const ChargingProfileSchema = BaseSchema.extend({ databaseId: z.number().int(), ocppConnectionName: z.string(), id: z.number().int().optional(), chargingProfileKind: ChargingProfileKindEnumSchema, chargingProfilePurpose: ChargingProfilePurposeEnumSchema, recurrencyKind: RecurrencyKindEnumSchema.nullable().optional(), stackLevel: z.number().int(), validFrom: z.iso.datetime().nullable().optional(), validTo: z.iso.datetime().nullable().optional(), evseId: z.number().int().nullable().optional(), isActive: z.boolean().default(false), chargingLimitSource: ChargingLimitSourceEnumSchema.default('CSO').nullable().optional(), chargingSchedule: z.union([ z.tuple([ChargingScheduleSchema]), z.tuple([ChargingScheduleSchema, ChargingScheduleSchema]), z.tuple([ChargingScheduleSchema, ChargingScheduleSchema, ChargingScheduleSchema]), ]), transactionDatabaseId: z.number().int().nullable().optional(), }); export const ChargingProfileProps = ChargingProfileSchema.keyof().enum; export const ChargingProfileCreateSchema = ChargingProfileSchema.omit({ databaseId: true, tenant: true, chargingSchedule: true, transaction: true, updatedAt: true, createdAt: true, }); export const chargingProfileSchemas = { ChargingProfile: ChargingProfileSchema, ChargingProfileCreate: ChargingProfileCreateSchema, }; //# sourceMappingURL=charging.profile.dto.js.map