mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 12:20:31 +00:00
- Add missing BullModule queue registration and BullBoardModule to UsersModule - Add invitingUser to event payloads to track who sent the invite - Fix incorrect global variable in SendInviteUsersMailMessage (__views_dir -> __images_dirname) - Use invitingUser as fromUser instead of invited user in email - Update processors to use BullMQ pattern Fixes issues: 1. Email not sending due to missing queue/processor registration 2. Null variables in email (firstName/lastName) because fromUser was the invited user 3. Image attachment failing due to wrong path
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { Processor, WorkerHost } from '@nestjs/bullmq';
|
|
import { Job } from 'bullmq';
|
|
import { Scope } from '@nestjs/common';
|
|
import { ClsService, UseCls } from 'nestjs-cls';
|
|
import {
|
|
SEND_PAYMENT_RECEIVED_MAIL_JOB,
|
|
SEND_PAYMENT_RECEIVED_MAIL_QUEUE,
|
|
} from '../constants';
|
|
import { SendPaymentReceiveMailNotification } from '../commands/PaymentReceivedMailNotification';
|
|
import { SendPaymentReceivedMailPayload } from '../types/PaymentReceived.types';
|
|
|
|
@Processor({
|
|
name: SEND_PAYMENT_RECEIVED_MAIL_QUEUE,
|
|
scope: Scope.REQUEST,
|
|
})
|
|
export class SendPaymentReceivedMailProcessor extends WorkerHost {
|
|
constructor(
|
|
private readonly sendPaymentReceivedMail: SendPaymentReceiveMailNotification,
|
|
private readonly clsService: ClsService,
|
|
) {
|
|
super();
|
|
}
|
|
|
|
@UseCls()
|
|
async process(job: Job<SendPaymentReceivedMailPayload>) {
|
|
const { messageOptions, paymentReceivedId, organizationId, userId } =
|
|
job.data;
|
|
|
|
this.clsService.set('organizationId', organizationId);
|
|
this.clsService.set('userId', userId);
|
|
|
|
try {
|
|
await this.sendPaymentReceivedMail.sendMail(
|
|
paymentReceivedId,
|
|
messageOptions,
|
|
);
|
|
} catch (error) {
|
|
console.error('Failed to process payment received mail job:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
}
|