UNPKG

@citrineos/data

Version:

The OCPP data module which includes all persistence layer implementation.

36 lines 1.5 kB
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project // // SPDX-License-Identifier: Apache-2.0 import { ChangeConfiguration, SequelizeRepository } from '../index.js'; import { Logger } from 'tslog'; import { Sequelize } from 'sequelize-typescript'; export class SequelizeChangeConfigurationRepository extends SequelizeRepository { constructor(config, logger, sequelizeInstance) { super(config, ChangeConfiguration.MODEL_NAME, logger, sequelizeInstance); } async createOrUpdateChangeConfiguration(tenantId, configuration) { let changeConfiguration; await this.s.transaction(async (sequelizeTransaction) => { const [savedConfig, created] = await this.readOrCreateByQuery(tenantId, { where: { tenantId: tenantId, stationId: configuration.stationId, key: configuration.key, }, defaults: { ...configuration, }, transaction: sequelizeTransaction, }); if (created) { changeConfiguration = savedConfig; } else { changeConfiguration = await savedConfig.update({ ...configuration }, { transaction: sequelizeTransaction }); this.emit('updated', [changeConfiguration]); } }); return changeConfiguration; } } //# sourceMappingURL=ChangeConfiguration.js.map