FRE-696 Wire up API client to mail/contact/attachment endpoints

- Create ProtonMail API client (src/lib/mail/protonmail-client.ts)
- Add tRPC mail router with 8 endpoints (server/trpc/mail-router.ts)
- Wire mail router into appRouter (server/trpc/index.ts)
- Add module exports (src/lib/mail/index.ts)

Endpoints:
- mail.messages, mail.message, mail.send
- mail.contact, mail.contacts, mail.addContact
- mail.attachment, mail.attachmentDownload

Router uses Zod validation and includes placeholders for ProtonMail API calls.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-27 14:35:07 -04:00
parent 9e3a54f508
commit 9583c06473
4 changed files with 243 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import { revisionsRouter } from './revisions-router';
import { scriptsRouter } from './scripts-router';
import { waitlistRouter } from './waitlist-router';
import { betaRouter } from './beta-router';
import { mailRouter } from './mail-router';
import type { TRPCContext } from './types';
import type { TRPCError } from '@trpc/server';
import { t } from './router';
@@ -15,6 +16,7 @@ export const appRouter = t.router({
scripts: scriptsRouter,
waitlist: waitlistRouter,
beta: betaRouter,
mail: mailRouter,
} as const);
export type AppRouter = typeof appRouter;