@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
TypeScript
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;
}