UNPKG

@golemio/parkings

Version:
30 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AverageOccupancyRepository = void 0; const _sch_1 = require("../../schema-definitions"); const ParkingAverageOccupancyModel_1 = require("../../schema-definitions/models/ParkingAverageOccupancyModel"); const models_1 = require("@golemio/core/dist/integration-engine/models"); const sequelize_1 = require("@golemio/core/dist/shared/sequelize"); const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator"); class AverageOccupancyRepository extends models_1.PostgresModel { constructor() { super("AverageOccupancyRepository", { pgTableName: ParkingAverageOccupancyModel_1.ParkingAverageOccupancyModel.tableName, pgSchema: _sch_1.Parkings.pgSchema, outputSequelizeAttributes: ParkingAverageOccupancyModel_1.ParkingAverageOccupancyModel.attributeModel, savingType: "insertOnly", }, new golemio_validator_1.JSONSchemaValidator("AverageOccupancyRepository", {})); } /** * Trigger calculate_average_occupancy function to calculate occupancy delta * since last update and add it to average in `parkings_average_occupancy`. */ async calculateAverageOccupancy() { await this.sequelizeModel.sequelize.query(`CALL ${_sch_1.Parkings.pgSchema}.calculate_average_occupancy()`, { plain: true, type: sequelize_1.QueryTypes.SELECT, }); } } exports.AverageOccupancyRepository = AverageOccupancyRepository; //# sourceMappingURL=AverageOccupancyRepository.js.map