kundencenter/apps/api/package.json
Kundencenter a68b4cf6ec feat: SMTP-Stack mit konfigurierbaren Mailvorlagen
Bisher gab es nur zwei fest im Code verdrahtete E-Mails (Einladung,
Passwort-Reset) und die SMTP-Verbindung kam ausschließlich aus
Umgebungsvariablen. Jetzt:

- SMTP-Verbindung unter Einstellungen > E-Mail konfigurierbar (Host,
  Port, Verschlüsselung, Zugangsdaten verschlüsselt gespeichert,
  Absender), mit Testmail-Versand. Die Mail-Logik wandert dafür nach
  @kc/platform/mail, damit API und Worker sie gemeinsam nutzen.
- Mailvorlagen-Verwaltung: jedes Ereignis hat eine feste "Definition"
  (Name, Auslöser, verfügbare Platzhalter/Daten), Betreff/Text sind
  editierbar, je Vorlage einzeln aktivierbar, mit Testversand anhand
  von Beispieldaten. Unbekannte Platzhalter werden beim Speichern
  abgelehnt.
- Neue Ereignisse verdrahtet: Ticket erstellt (Bestätigung an Kunde),
  Personal antwortet auf Ticket (Benachrichtigung an Kunde), Rechnung
  ausgestellt, sowie die zuvor zurückgestellte Funktion "Panel-
  Zugangsdaten per E-Mail senden" nach einem Passwort-Reset. Diese
  laufen über die Jobqueue (mail.template), analog zu discord.notify.
- Versandprotokoll (letzte 100 Versuche, ohne Inhalte) einsehbar unter
  Einstellungen > E-Mail.
- Migration 022, Rechte email.read (Admin+) / email.write (Superadmin).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 12:53:29 +02:00

38 lines
1,006 B
JSON

{
"name": "@kc/api",
"private": true,
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "tsx watch src/server.ts",
"start": "node dist/server.js",
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"migrate": "tsx src/cli/migrate.ts",
"cli": "tsx src/cli/index.ts",
"test": "vitest run"
},
"dependencies": {
"@fastify/cookie": "^11.1.2",
"@fastify/helmet": "^13.1.1",
"@fastify/multipart": "^10.1.2",
"@fastify/rate-limit": "^11.2.0",
"@kc/connector-sdk": "workspace:*",
"@kc/connectors": "workspace:*",
"@kc/platform": "workspace:*",
"@node-rs/argon2": "^2.2.1",
"fastify": "^5.12.5",
"mysql2": "^3.24.4",
"otpauth": "^9.5.2",
"pdfkit": "^0.20.2",
"zod": "^4.6.5"
},
"devDependencies": {
"@kc/connector-mock": "workspace:*",
"@types/node": "^26.6.3",
"@types/pdfkit": "^0.17.6",
"tsx": "^4.23.15",
"typescript": "^7.0.2",
"vitest": "^5.0.2"
}
}