@golemio/parkings
Version:
Golemio Parkings Module
35 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParkingEntrancesRepository = void 0;
const _sch_1 = require("../../schema-definitions");
const EntranceModel_1 = require("../../schema-definitions/models/EntranceModel");
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
class ParkingEntrancesRepository extends integration_engine_1.PostgresModel {
constructor() {
super("ParkingEntrancesRepository", {
outputSequelizeAttributes: EntranceModel_1.EntrancesModel.attributeModel,
pgSchema: _sch_1.Parkings.pgSchema,
pgTableName: EntranceModel_1.EntrancesModel.tableName,
savingType: "insertOrUpdate",
}, new golemio_validator_1.JSONSchemaValidator("ParkingEntrancesRepositoryValidator", EntranceModel_1.EntrancesModel.jsonSchema));
}
async mergeEntrances(entrances, source, processingDate) {
await this.bulkSave(entrances);
if (source) {
await this.sequelizeModel.destroy({
where: {
source: {
[sequelize_1.Op.in]: source,
},
updated_at: {
[sequelize_1.Op.lt]: processingDate,
},
},
});
}
}
}
exports.ParkingEntrancesRepository = ParkingEntrancesRepository;
//# sourceMappingURL=ParkingEntrancesRepository.js.map