UNPKG

@golemio/pid

Version:
34 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DelayComputationRedisRepository = void 0; const DelayComputationDtoSchema_1 = require("../../../../schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema"); const const_1 = require("../../../../schema-definitions/vehicle-positions/redis/const"); const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator"); class DelayComputationRedisRepository extends RedisModel_1.RedisModel { constructor() { super("GTFSDelayComputationRedisRepository", { decodeDataAfterGet: JSON.parse, encodeDataBeforeSave: JSON.stringify, isKeyConstructedFromData: true, prefix: DelayComputationRedisRepository.NAMESPACE_PREFIX, }, new golemio_validator_1.JSONSchemaValidator("GTFSDelayComputationRedisRepositoryValidator", DelayComputationDtoSchema_1.DelayComputationDtoSchema)); } async expire(keys, ttlInSeconds) { const pipeline = this.connection.pipeline(); for (const key of keys) { const redisKey = `${this.prefix}:${key}`; pipeline.expire(redisKey, ttlInSeconds); } try { await pipeline.exec(); } catch (err) { throw new golemio_errors_1.GeneralError("Error while expiring keys in Redis", this.constructor.name, err); } } } exports.DelayComputationRedisRepository = DelayComputationRedisRepository; DelayComputationRedisRepository.NAMESPACE_PREFIX = const_1.GTFS_DELAY_COMPUTATION_NAMESPACE_PREFIX; //# sourceMappingURL=DelayComputationRedisRepository.js.map