UNPKG

@mediarithmics/plugins-nodejs-sdk

Version:

This is the mediarithmics nodejs to help plugin developers bootstrapping their plugin without having to deal with most of the plugin boilerplate

24 lines (23 loc) 1.34 kB
import { PluginProperty } from '../../api/core/plugin/PluginPropertyInterface'; import { CheckEmailsRequest, EmailRoutingRequest } from '../../api/plugin/emailtemplaterouter/EmailRouterRequestInterface'; import { BasePlugin, PropertiesWrapper } from '../common/BasePlugin'; export interface EmailRouterBaseInstanceContext { properties: PropertiesWrapper; } export interface EmailRoutingPluginResponse { result: boolean; } export interface CheckEmailsPluginResponse { result: boolean; } export declare abstract class EmailRouterPlugin extends BasePlugin<EmailRouterBaseInstanceContext> { instanceContext: Promise<EmailRouterBaseInstanceContext>; constructor(enableThrottling?: boolean); fetchEmailRouterProperties(id: string): Promise<PluginProperty[]>; protected instanceContextBuilder(routerId: string): Promise<EmailRouterBaseInstanceContext>; protected abstract onEmailRouting(request: EmailRoutingRequest, instanceContext: EmailRouterBaseInstanceContext): Promise<EmailRoutingPluginResponse>; protected getInstanceContext(emailRouterId: string): Promise<EmailRouterBaseInstanceContext>; protected abstract onEmailCheck(request: CheckEmailsRequest, instanceContext: EmailRouterBaseInstanceContext): Promise<CheckEmailsPluginResponse>; private initEmailRouting; private initEmailCheck; }