n8n
Version:
n8n Workflow Automation Tool
35 lines (34 loc) • 1.77 kB
TypeScript
import { GlobalConfig } from '@n8n/config';
import type { User } from '../../databases/entities/User';
import type { WorkflowEntity } from '../../databases/entities/WorkflowEntity';
import { UserRepository } from '../../databases/repositories/user.repository';
import { Logger } from '../../Logger';
import { UrlService } from '../../services/url.service';
import type { InviteEmailData, PasswordResetData, SendEmailResult } from './Interfaces';
import { NodeMailer } from './NodeMailer';
type Template = HandlebarsTemplateDelegate<unknown>;
type TemplateName = 'invite' | 'passwordReset' | 'workflowShared' | 'credentialsShared';
export declare class UserManagementMailer {
private readonly logger;
private readonly userRepository;
private readonly urlService;
readonly isEmailSetUp: boolean;
readonly templateOverrides: GlobalConfig['userManagement']['emails']['template'];
readonly templatesCache: Partial<Record<TemplateName, Template>>;
readonly mailer: NodeMailer | undefined;
constructor(globalConfig: GlobalConfig, logger: Logger, userRepository: UserRepository, urlService: UrlService);
invite(inviteEmailData: InviteEmailData): Promise<SendEmailResult>;
passwordReset(passwordResetData: PasswordResetData): Promise<SendEmailResult>;
notifyWorkflowShared({ sharer, newShareeIds, workflow, }: {
sharer: User;
newShareeIds: string[];
workflow: WorkflowEntity;
}): Promise<SendEmailResult>;
notifyCredentialsShared({ sharer, newShareeIds, credentialsName, }: {
sharer: User;
newShareeIds: string[];
credentialsName: string;
}): Promise<SendEmailResult>;
getTemplate(templateName: TemplateName, defaultFilename?: string): Promise<Template>;
}
export {};