aboutsummaryrefslogtreecommitdiff
path: root/services/docker/mail-server/aws-sendmail/traffic.ts
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-04-30 00:20:23 +0800
committerYuqian Yang <crupest@crupest.life>2025-04-30 23:22:21 +0800
commitee338238805953b505459eac09aa07610865ebf6 (patch)
treeb6a3c9cf0f8beebcb09800087c27979c18722d2f /services/docker/mail-server/aws-sendmail/traffic.ts
parenta58326c5cbe9a73a6b204dac4b9f077d8cf886f4 (diff)
downloadcrupest-ee338238805953b505459eac09aa07610865ebf6.tar.gz
crupest-ee338238805953b505459eac09aa07610865ebf6.tar.bz2
crupest-ee338238805953b505459eac09aa07610865ebf6.zip
HALF WORK!: 2025-4-30 3
Diffstat (limited to 'services/docker/mail-server/aws-sendmail/traffic.ts')
-rw-r--r--services/docker/mail-server/aws-sendmail/traffic.ts23
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));
}
}