Files
bigcapital/packages/server/src/services/InviteUsers/InviteSendMailNotificationSubscribe.ts
2023-05-05 00:28:57 +02:00

37 lines
816 B
TypeScript

import { IUserInviteTenantSyncedEventPayload } from '@/interfaces';
import events from '@/subscribers/events';
import { Inject, Service } from 'typedi';
@Service()
export default class InviteSendMainNotificationSubscribe {
@Inject('agenda')
private agenda: any;
/**
* Attaches events with handlers.
* @param bus
*/
public attach(bus) {
bus.subscribe(
events.inviteUser.sendInviteTenantSynced,
this.sendMailNotification
);
}
/**
* Sends mail notification.
* @param {IUserInvitedEventPayload} payload
*/
private sendMailNotification = (
payload: IUserInviteTenantSyncedEventPayload
) => {
const { invite, authorizedUser, tenantId } = payload;
this.agenda.now('user-invite-mail', {
invite,
authorizedUser,
tenantId,
});
};
}