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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 16x 16x 16x 1x 1x 1x | import { Injectable } from '@nestjs/common';
import {
MessageTasks,
MessageType,
QueueService,
type PaymentReleasePayload,
type TaskHandler,
} from '@amalia/kernel/queue/core';
import { CompaniesService } from '@amalia/tenants/companies/core';
/**
* This event is called by the scheduler to generate one payment release message per active company.
*/
@Injectable()
export class SchedulePaymentReleaseHandler implements TaskHandler<PaymentReleasePayload> {
public constructor(
private readonly companiesService: CompaniesService,
private readonly queueService: QueueService,
) {}
public async handle() {
const companies = await this.companiesService.getActiveCompanies();
await Promise.all(
companies.map((c) =>
this.queueService.sendToQueue({ type: MessageType.TASK, taskIdentifier: MessageTasks.RELEASE_PAYMENTS }, {
companyId: c.id,
} as PaymentReleasePayload),
),
);
}
}
|