/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
packages/stateless/src/lib/template/template.interface.ts
71 строка
2 KB
George Djabarov
feat(shared): add Tool channel with PagerDuty, Opsgenie and Webhook providers fixes NV-8284 (#11923)
19 июл 2026, 16:13
Не верифицирован
19 июл 2026, 16:13
05b0395
Код
Авторство
О чём код?
import { ChannelData } from '../provider/channel-data.type'; export interface ITemplate { id: string; themeId?: string; messages: IMessage[]; } export interface IMessageValidator { validate(payload: ITriggerPayload): Promise<boolean> | boolean; } export interface IMessage { subject?: string | ((config: ITriggerPayload) => string); providerId?: string; channel: ChannelTypeEnum; template: string | ((payload: ITriggerPayload) => Promise<string> | string); // used to provide a text version in emails textTemplate?: string | ((payload: ITriggerPayload) => Promise<string> | string); active?: boolean | ((payload: ITriggerPayload) => Promise<boolean> | boolean); validator?: IMessageValidator; } export enum ChannelTypeEnum { EMAIL = 'email', SMS = 'sms', CHAT = 'chat', PUSH = 'push', TOOL = 'tool', } export interface ITriggerPayload { $email?: string; /** * @deprecated */ $phone?: string; $user_id: string; $theme_id?: string; /** * @deprecated use $channelData instead */ $webhookUrl?: string; $channelData?: ChannelData; $attachments?: IAttachmentOptions[]; [key: string]: | string | string[] | ChannelData | boolean | number | undefined | IAttachmentOptions | IAttachmentOptions[] | Record<string, unknown>; } export interface IAttachmentOptions { mime: string; file: Buffer | null; name?: string; channels?: ChannelTypeEnum[]; cid?: string; disposition?: string; } export interface IAttachmentOptionsExtended extends IAttachmentOptions { storagePath: string; }