@citrineos/data
Version:
The OCPP data module which includes all persistence layer implementation.
37 lines (36 loc) • 3.49 kB
TypeScript
import type { BootstrapConfig } from '@citrineos/base';
import { CrudRepository, OCPP2_0_1 } from '@citrineos/base';
import { SequelizeRepository } from './Base.js';
import { type IDeviceModelRepository, type VariableAttributeQuerystring } from '../../../interfaces/index.js';
import { Component, EvseType, Variable, VariableAttribute, VariableCharacteristics, VariableStatus } from '../model/index.js';
import { ComponentVariable } from '../model/DeviceModel/ComponentVariable.js';
import { Sequelize } from 'sequelize-typescript';
import type { ILogObj } from 'tslog';
import { Logger } from 'tslog';
export declare class SequelizeDeviceModelRepository extends SequelizeRepository<VariableAttribute> implements IDeviceModelRepository {
variable: CrudRepository<Variable>;
component: CrudRepository<Component>;
evse: CrudRepository<EvseType>;
variableCharacteristics: CrudRepository<VariableCharacteristics>;
componentVariable: CrudRepository<ComponentVariable>;
variableStatus: CrudRepository<VariableStatus>;
constructor(config: BootstrapConfig, logger?: Logger<ILogObj>, sequelizeInstance?: Sequelize, variable?: CrudRepository<Variable>, component?: CrudRepository<Component>, evse?: CrudRepository<EvseType>, componentVariable?: CrudRepository<ComponentVariable>, variableCharacteristics?: CrudRepository<VariableCharacteristics>, variableStatus?: CrudRepository<VariableStatus>);
createOrUpdateDeviceModelByStationId(tenantId: number, value: OCPP2_0_1.ReportDataType, stationId: string, isoTimestamp: string): Promise<VariableAttribute[]>;
findOrCreateEvseAndComponentAndVariable(tenantId: number, componentType: OCPP2_0_1.ComponentType, variableType: OCPP2_0_1.VariableType, stationId?: string): Promise<[Component, Variable]>;
findOrCreateEvseAndComponent(tenantId: number, componentType: OCPP2_0_1.ComponentType, stationId?: string): Promise<Component>;
createOrUpdateByGetVariablesResultAndStationId(tenantId: number, getVariablesResult: OCPP2_0_1.GetVariableResultType[], stationId: string, isoTimestamp: string): Promise<VariableAttribute[]>;
createOrUpdateBySetVariablesDataAndStationId(tenantId: number, setVariablesData: OCPP2_0_1.SetVariableDataType[], stationId: string, isoTimestamp: string): Promise<VariableAttribute[]>;
updateResultByStationId(tenantId: number, result: OCPP2_0_1.SetVariableResultType, stationId: string, isoTimestamp: string): Promise<VariableAttribute | undefined>;
readAllSetVariableByStationId(tenantId: number, stationId: string): Promise<OCPP2_0_1.SetVariableDataType[]>;
readAllByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise<VariableAttribute[]>;
existByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise<number>;
deleteAllByQuerystring(tenantId: number, query: VariableAttributeQuerystring): Promise<VariableAttribute[]>;
findComponentAndVariable(tenantId: number, componentType: OCPP2_0_1.ComponentType, variableType: OCPP2_0_1.VariableType): Promise<[Component | undefined, Variable | undefined]>;
findEvseByIdAndConnectorId(tenantId: number, id: number, connectorId: number | null): Promise<EvseType | undefined>;
findVariableCharacteristicsByVariableNameAndVariableInstance(tenantId: number, variableName: string, variableInstance: string | null): Promise<VariableCharacteristics | undefined>;
/**
* Private Methods
*/
private createSetVariableDataType;
private constructQuery;
}