blob: 4e92557e5bc84632f1ec4227212a4aa4cb6c4a9b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import { MailDeliverer } from "./mail.ts";
import { DbService } from "./db.ts";
import { DovecotMailDeliverer } from "./dovecot.ts";
import { AwsContext } from "./aws/base.ts";
import { AwsMailDeliverer } from "./aws/deliver.ts";
export abstract class MailTrafficHandler {
constructor(
public readonly receiver: MailDeliverer,
public readonly sender: MailDeliverer,
) {}
}
export class AwsRelayTrafficHandler extends MailTrafficHandler {
constructor(
private readonly db: DbService,
private readonly aws: AwsContext,
) {
super(new DovecotMailDeliverer(), new AwsMailDeliverer(aws));
}
}
|