35 lines
911 B
TypeScript
35 lines
911 B
TypeScript
import { MailEventRepository } from './MailEventRepository';
|
|
interface PayloadEvent {
|
|
id: string;
|
|
timestamp: number;
|
|
event: string;
|
|
message: {
|
|
headers: {
|
|
'message-id': string;
|
|
};
|
|
};
|
|
recipient: string;
|
|
}
|
|
interface Payload {
|
|
signature: string;
|
|
mail_events: PayloadEvent[];
|
|
}
|
|
interface Labs {
|
|
isSet(key: string): boolean;
|
|
}
|
|
interface Config {
|
|
get(key: string): any;
|
|
}
|
|
export declare class MailEventService {
|
|
private mailEventRepository;
|
|
private config;
|
|
private labs;
|
|
static readonly LABS_KEY = "mailEvents";
|
|
static readonly CONFIG_KEY_PAYLOAD_SIGNING_KEY = "hostSettings:mailEventsPayloadSigningKey";
|
|
constructor(mailEventRepository: MailEventRepository, config: Config, labs: Labs);
|
|
processPayload(payload: Payload): Promise<void>;
|
|
validatePayload(payload: Payload): void;
|
|
private verifyPayload;
|
|
}
|
|
export {};
|