blob: 7ecc405c3260746897adae402ffde8338b8bc30d (
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/context.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));
}
}
|