UNPKG

@dugongjs/nestjs-microservice-query

Version:

54 lines (53 loc) 2.56 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Injectable } from "@nestjs/common"; import { ClientProxy } from "@nestjs/microservices"; import { firstValueFrom } from "rxjs"; import { GET_AGGREGATE_IDS_TOKEN, GET_AGGREGATE_TOKEN, GET_AGGREGATE_TYPES_TOKEN, GET_DOMAIN_EVENTS_FOR_AGGREGATE_TOKEN } from "../tokens/aggregate-query.tokens.js"; let AggregateQueryClientProxyService = class AggregateQueryClientProxyService { constructor(queryClientProxy) { this.queryClientProxy = queryClientProxy; } async getAggregateTypes() { return await firstValueFrom(this.queryClientProxy.send(GET_AGGREGATE_TYPES_TOKEN, {})); } async getAggregateIds(origin, aggregateType, tenantId) { return await firstValueFrom(this.queryClientProxy.send(GET_AGGREGATE_IDS_TOKEN, [origin, aggregateType, tenantId])); } async getAggregate(origin, aggregateType, aggregateId, tenantId, toSequenceNumber) { const aggregate = await firstValueFrom(this.queryClientProxy.send(GET_AGGREGATE_TOKEN, [ origin, aggregateType, aggregateId, tenantId, toSequenceNumber ])); if (aggregate === null) { return null; } return JSON.parse(aggregate); } async getDomainEventsForAggregate(origin, aggregateType, aggregateId, tenantId) { return await firstValueFrom(this.queryClientProxy.send(GET_DOMAIN_EVENTS_FOR_AGGREGATE_TOKEN, [ origin, aggregateType, aggregateId, tenantId ])); } async close() { await this.queryClientProxy.close(); } }; AggregateQueryClientProxyService = __decorate([ Injectable(), __metadata("design:paramtypes", [ClientProxy]) ], AggregateQueryClientProxyService); export { AggregateQueryClientProxyService };