Files
tessera-ctl/apps/api/src/auth/password-reset-token.ts
T
schalli 32441d77c7
Tessera CI/CD / Lint & Type Check (push) Successful in 48s
Tessera CI/CD / Tests (push) Successful in 1m18s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 18s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m11s
feat(users): Willkommensmail mit Wellen-Kopf und Logo, Spalte Letzte Anmeldung
POST /users/:id/welcome-mail (gleiche Rechte wie Bearbeiten, jederzeit sendbar),
GET /users/welcome-mail/status; HTML-Mail (Tabellenlayout, Inline-Stile,
Kopfbild als CID-PNG aus assets/mail/welcome-header.svg, erzeugt mit
scripts/render-mail-header.mjs) plus Textfassung. Verzeichniskonten: Hinweis
auf Windows-Passwort; lokale Konten: Link Passwort festlegen (7 Tage, einmalig).
Neue Spalte User.welcomeMailSentAt (Migration 20260930120000). Benutzerliste:
Spalte Letzte Anmeldung, Zeilenaktionen als Symbole. Dockerfile kopiert
apps/api/assets. Lokal per MailHog nachgewiesen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 15:28:52 +02:00

19 lines
923 B
TypeScript

/**
* Gueltigkeit eines Kennwort-Tokens (`PasswordResetToken`, T-02-13): eine
* Stunde, einmal verwendbar. Gemeinsam genutzt vom Weg "Passwort
* vergessen" (`AuthService.requestPasswordReset`) und vom Link "Passwort
* festlegen" der Willkommensmail (`WelcomeMailService`) — beide legen
* dieselbe Art Token an und fuehren auf dieselbe Seite
* `/reset-password/<token>`, deshalb gilt dieselbe Frist.
*/
export const PASSWORD_RESET_TOKEN_TTL_MS = 60 * 60 * 1000;
/**
* Gueltigkeit des Links "Passwort festlegen" in der Willkommensmail: 7 Tage.
* Neue Mitarbeiter lesen die Mail oft erst Tage spaeter; eine Stunde wie bei
* "Passwort vergessen" (dort fordert der Benutzer den Link selbst an und
* nutzt ihn sofort) waere hier fast immer abgelaufen. Einmal verwendbar
* bleibt der Link trotzdem, und jede neue Willkommensmail legt einen neuen an.
*/
export const WELCOME_TOKEN_TTL_MS = 7 * 24 * 60 * 60 * 1000;