UNPKG

nodemailer-sequelize-queue

Version:
45 lines (44 loc) 1.46 kB
import { AddQueueModelAttributes, IQueueModel, IQueueModelStatic } from './QueueModel'; import { Sequelize, Model, Dialect } from 'sequelize'; export default class NodemailerSequelizeQueue implements INodemailerSequelizeQueue { queueModel: IQueueModelStatic; private sequelize; private dbInisializated; private scheduled; private smtpCredentials; private options; private mailer; constructor(dbConfigInstance: DbCongifInstance, smtpCredentials: any, options?: Options); private initDatabase; initScheduler({ queueLimit }: InitSchedulerProps): Promise<void>; initModels(): Promise<void>; queueMail(data: AddQueueModelAttributes): Promise<IQueueModel | void>; } export interface INodemailerSequelizeQueue { queueModel: IQueueModelStatic; queueMail(data: AddQueueModelAttributes): Promise<Model<any, any> | void>; initScheduler(props?: { queueLimit?: number; }): Promise<void>; } export declare type DbConfig = { username: string; password: string; database: string; host: string; dialect: Dialect; logging?: boolean | ((sql: string, timing?: number) => void); }; export declare type DbCongifInstance = { config?: DbConfig; sequelize?: Sequelize; }; export declare type Options = { maxAttempts?: number; expression?: string; logging?: boolean; sendImmidiatly?: boolean; }; export declare type InitSchedulerProps = { queueLimit?: number; };