diff options
Diffstat (limited to 'services/docker/mail-server/aws-sendmail/traffic.ts')
-rw-r--r-- | services/docker/mail-server/aws-sendmail/traffic.ts | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/services/docker/mail-server/aws-sendmail/traffic.ts b/services/docker/mail-server/aws-sendmail/traffic.ts index 87e6dee..f31e9ae 100644 --- a/services/docker/mail-server/aws-sendmail/traffic.ts +++ b/services/docker/mail-server/aws-sendmail/traffic.ts @@ -1,14 +1,21 @@ -import { MailDeliverer } from "./deliver.ts"; -import { DovecotMailDeliverer } from "./delivers/dovecot.ts"; +import { MailDeliverer } from "./mail.ts"; import { AwsContext } from "./aws.ts"; +import { DbService } from "./db.ts"; +import { DovecotMailDeliverer } from "./delivers/dovecot.ts"; import { AwsMailDeliverer } from "./delivers/aws.ts"; -export class MailTrafficHandler { - receiver: MailDeliverer; - sender: MailDeliverer; +export abstract class MailTrafficHandler { + constructor( + public readonly receiver: MailDeliverer, + public readonly sender: MailDeliverer, + ) {} +} - constructor(aws: AwsContext) { - this.receiver = new DovecotMailDeliverer(); - this.sender = new AwsMailDeliverer(aws); +export class AwsRelayTrafficHandler extends MailTrafficHandler { + constructor( + private readonly db: DbService, + private readonly aws: AwsContext, + ) { + super(new DovecotMailDeliverer(), new AwsMailDeliverer(aws)); } } |