import { INotificationUser } from './user.interface';
/**
* Available notification delivery methods
*/
export enum NotificationMethod {
/**
* Send to user's email
*/
Email,
/**
* Send to user's device
*/
Push,
/**
* Send text to user's mobile
*/
SMS,
}
/**
* Notification object to send to user(s)
*/
export interface INotification {
/**
* Delivery method(s) to use to send notification
*/
methods: NotificationMethod[];
/**
* User or list of users to send to
*/
to: INotificationUser | INotificationUser[];
/**
* Email sender (default used if not given)
*/
from?: string;
/**
* Header item
* @description Optional if SMS
*/
subject?: string;
/**
* Default notification content. Overriden by `emailBody` and `pushBody`.
*/
body?: string;
/**
* Provide specific email content. Overrides `body`.
*/
emailBody?: string;
/**
* Provide specific push content. Overrides `body`.
*/
pushBody?: string;
/**
* Provide specific SMS content. Overrides `body`.
*/
smsBody?: string;
}