UNPKG

@citrineos/data

Version:

The OCPP data module which includes all persistence layer implementation.

85 lines (84 loc) 4.62 kB
import { ChargingLimitSourceEnum, ChargingProfileKindEnum, ChargingProfilePurposeEnum, ChargingRateUnitEnum, OCPP2_0_1, RecurrencyKindEnum, type ChargingProfileDto, type ChargingScheduleDto } from '@citrineos/base'; /** * Input type for creating/updating a ChargingProfile via the repository. * Mirrors OCPP2_0_1.ChargingProfileType but uses native enum types. */ export interface ChargingProfileInput { id: number; stackLevel: number; chargingProfilePurpose: keyof typeof ChargingProfilePurposeEnum; chargingProfileKind: keyof typeof ChargingProfileKindEnum; recurrencyKind?: keyof typeof RecurrencyKindEnum | null; validFrom?: string | null; validTo?: string | null; chargingSchedule: [ChargingScheduleInput] | [ChargingScheduleInput, ChargingScheduleInput] | [ChargingScheduleInput, ChargingScheduleInput, ChargingScheduleInput]; transactionId?: string | null; } /** * Input type for creating a ChargingSchedule via the repository. * Mirrors OCPP2_0_1.ChargingScheduleType but uses native enum types. */ export interface ChargingScheduleInput { id: number; startSchedule?: string | null; duration?: number | null; chargingRateUnit: keyof typeof ChargingRateUnitEnum; chargingSchedulePeriod: [ChargingSchedulePeriodInput, ...ChargingSchedulePeriodInput[]]; minChargingRate?: number | null; salesTariff?: SalesTariffInput | null; } export interface ChargingSchedulePeriodInput { startPeriod: number; limit: number; numberPhases?: number | null; phaseToUse?: number | null; } export interface SalesTariffInput { id: number; salesTariffDescription?: string | null; numEPriceLevels?: number | null; salesTariffEntry: [OCPP2_0_1.SalesTariffEntryType, ...OCPP2_0_1.SalesTariffEntryType[]]; } /** * Input type for creating a CompositeSchedule via the repository. * Mirrors OCPP2_0_1.CompositeScheduleType but uses native enum types. */ export interface CompositeScheduleInput { chargingSchedulePeriod: [ChargingSchedulePeriodInput, ...ChargingSchedulePeriodInput[]]; evseId: number; duration: number; scheduleStart: string; chargingRateUnit: keyof typeof ChargingRateUnitEnum; } export declare class ChargingProfileMapper { static toChargingProfileKindEnumType(kind: keyof typeof ChargingProfileKindEnum): OCPP2_0_1.ChargingProfileKindEnumType; static fromChargingProfileKindEnumType(kind: OCPP2_0_1.ChargingProfileKindEnumType): keyof typeof ChargingProfileKindEnum; static toChargingProfilePurposeEnumType(purpose: keyof typeof ChargingProfilePurposeEnum): OCPP2_0_1.ChargingProfilePurposeEnumType; static fromChargingProfilePurposeEnumType(purpose: OCPP2_0_1.ChargingProfilePurposeEnumType): keyof typeof ChargingProfilePurposeEnum; static toRecurrencyKindEnumType(kind?: keyof typeof RecurrencyKindEnum | null): OCPP2_0_1.RecurrencyKindEnumType | undefined; static fromRecurrencyKindEnumType(kind?: OCPP2_0_1.RecurrencyKindEnumType | null): keyof typeof RecurrencyKindEnum | undefined; static toChargingRateUnitEnumType(unit: keyof typeof ChargingRateUnitEnum): OCPP2_0_1.ChargingRateUnitEnumType; static fromChargingRateUnitEnumType(unit: OCPP2_0_1.ChargingRateUnitEnumType): keyof typeof ChargingRateUnitEnum; static toChargingLimitSourceEnumType(source?: keyof typeof ChargingLimitSourceEnum | null): OCPP2_0_1.ChargingLimitSourceEnumType | undefined; static fromChargingLimitSourceEnumType(source?: OCPP2_0_1.ChargingLimitSourceEnumType | null): keyof typeof ChargingLimitSourceEnum | undefined; /** * Converts OCPP2_0_1.ChargingProfileType to a native ChargingProfileInput. */ static fromChargingProfileType(chargingProfile: OCPP2_0_1.ChargingProfileType): ChargingProfileInput; /** * Converts OCPP2_0_1.ChargingScheduleType to a native ChargingScheduleInput. */ static fromChargingScheduleType(schedule: OCPP2_0_1.ChargingScheduleType): ChargingScheduleInput; /** * Converts OCPP2_0_1.CompositeScheduleType to a native CompositeScheduleInput. */ static fromCompositeScheduleType(compositeSchedule: OCPP2_0_1.CompositeScheduleType): CompositeScheduleInput; /** * Converts a native ChargingProfile (Sequelize model) to OCPP2_0_1.ChargingProfileType. */ static toChargingProfileType(chargingProfile: ChargingProfileDto, transactionId?: string | null): OCPP2_0_1.ChargingProfileType; /** * Converts a native ChargingScheduleDto to OCPP2_0_1.ChargingScheduleType. */ static toChargingScheduleType(schedule: ChargingScheduleDto): OCPP2_0_1.ChargingScheduleType; }