All files / redis-smq-api/src/services queue-time-series.service.ts

100% Statements 15/15
100% Branches 0/0
100% Functions 4/4
100% Lines 15/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47  57x   57x 57x 57x   57x     3x       1x 1x           1x       1x 1x           1x       1x 1x           1x      
import { QueueTimeSeriesRequestDTO } from '../controllers/common/dto/queues/queue-time-series-request.DTO';
import { promisifyAll } from 'bluebird';
import { RedisClient } from 'redis-smq/dist/src/common/redis-client/redis-client';
import { QueueAcknowledgedTimeSeries } from '../plugins/message-rate/consumer/queue-acknowledged-time-series';
import { QueueDeadLetteredTimeSeries } from '../plugins/message-rate/consumer/queue-dead-lettered-time-series';
import { QueuePublishedTimeSeries } from '../plugins/message-rate/producer/queue-published-time-series';
 
export class QueueTimeSeriesService {
  protected redisClient: RedisClient;
  constructor(redisClient: RedisClient) {
    this.redisClient = redisClient;
  }
 
  async acknowledged(args: QueueTimeSeriesRequestDTO) {
    const { ns, queueName, from, to } = args;
    const timeSeries = promisifyAll(
      QueueAcknowledgedTimeSeries(this.redisClient, {
        name: queueName,
        ns,
      }),
    );
    return timeSeries.getRangeAsync(from, to);
  }
 
  async deadLettered(args: QueueTimeSeriesRequestDTO) {
    const { ns, queueName, from, to } = args;
    const timeSeries = promisifyAll(
      QueueDeadLetteredTimeSeries(this.redisClient, {
        name: queueName,
        ns,
      }),
    );
    return timeSeries.getRangeAsync(from, to);
  }
 
  async published(args: QueueTimeSeriesRequestDTO) {
    const { ns, queueName, from, to } = args;
    const timeSeries = promisifyAll(
      QueuePublishedTimeSeries(this.redisClient, {
        name: queueName,
        ns,
      }),
    );
    return timeSeries.getRangeAsync(from, to);
  }
}