37 lines
816 B
TypeScript
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,
|
|
});
|
|
};
|
|
}
|