import { core } from '@mediarithmics/plugins-nodejs-sdk';
export class MyEmailRouterPlugin extends core.EmailRouterPlugin {
protected async onEmailRouting(
request: core.EmailRoutingRequest,
instanceContext: core.EmailRouterBaseInstanceContext
): Promise<core.EmailRoutingPluginResponse> {
const identifier = request.user_identifiers.find(identifier => {
identifier.type === 'USER_EMAIL' &&
!!(identifier as core.UserEmailIdentifierInfo).email
}) as core.UserEmailIdentifierInfo;
throw Error('No clear email identifiers were provided');
const payload = this.buildMyEmailRouterPayload(
await this.sendToMyEmailRouter(payload);
protected async onEmailCheck(
request: core.CheckEmailsRequest,
instanceContext: core.EmailRouterBaseInstanceContext
): Promise<core.CheckEmailsPluginResponse> {
// If your router does not have a route to check its status, you can use this
return Promise.resolve({result: true});