UNPKG

@citrineos/data

Version:

The OCPP data module which includes all persistence layer implementation.

25 lines (24 loc) 2.35 kB
import { CrudRepository, OCPP2_0_1, BootstrapConfig } from '@citrineos/base'; import { SequelizeRepository } from './Base'; import { IChargingProfileRepository } from '../../../interfaces'; import { Evse } from '../model/DeviceModel'; import { Sequelize } from 'sequelize-typescript'; import { Logger, ILogObj } from 'tslog'; import { ChargingNeeds, ChargingProfile, ChargingSchedule, CompositeSchedule, SalesTariff } from '../model/ChargingProfile'; import { Transaction } from '../model/TransactionEvent'; export declare class SequelizeChargingProfileRepository extends SequelizeRepository<ChargingProfile> implements IChargingProfileRepository { chargingNeeds: CrudRepository<ChargingNeeds>; chargingSchedule: CrudRepository<ChargingSchedule>; salesTariff: CrudRepository<SalesTariff>; transaction: CrudRepository<Transaction>; evse: CrudRepository<Evse>; compositeSchedule: CrudRepository<CompositeSchedule>; constructor(config: BootstrapConfig, logger?: Logger<ILogObj>, sequelizeInstance?: Sequelize, chargingNeeds?: CrudRepository<ChargingNeeds>, chargingSchedule?: CrudRepository<ChargingSchedule>, salesTariff?: CrudRepository<SalesTariff>, transaction?: CrudRepository<Transaction>, evse?: CrudRepository<Evse>, compositeSchedule?: CrudRepository<CompositeSchedule>); createOrUpdateChargingProfile(tenantId: number, chargingProfile: OCPP2_0_1.ChargingProfileType, stationId: string, evseId?: number | null, chargingLimitSource?: OCPP2_0_1.ChargingLimitSourceEnumType, isActive?: boolean): Promise<ChargingProfile>; createChargingNeeds(tenantId: number, chargingNeedsReq: OCPP2_0_1.NotifyEVChargingNeedsRequest, stationId: string): Promise<ChargingNeeds>; findChargingNeedsByEvseDBIdAndTransactionDBId(tenantId: number, evseDBId: number, transactionDataBaseId: number | null): Promise<ChargingNeeds | undefined>; createCompositeSchedule(tenantId: number, compositeSchedule: OCPP2_0_1.CompositeScheduleType, stationId: string): Promise<CompositeSchedule>; getNextChargingScheduleId(tenantId: number, stationId: string): Promise<number>; getNextChargingProfileId(tenantId: number, stationId: string): Promise<number>; getNextStackLevel(tenantId: number, stationId: string, transactionDatabaseId: number | null, profilePurpose: OCPP2_0_1.ChargingProfilePurposeEnumType): Promise<number>; }