--- phase: quick-261008-h3t plan: 01 subsystem: domains tags: [autodns, nameserver, domains, migration] requires: - quick-261008-dts (Modul Domains) provides: - Standard-Nameserver kommen aus dem AutoDNS-Benutzerprofil (GET /user/{user}/{context}/profile) - GET modules/domains/name-servers (Verwalten) affects: - apps/api/src/domains - apps/web Registrieren und Einstellungen tech-stack: added: [] patterns: - tolerante Profilauswertung in einer Funktion (parseProfileNameServers) key-files: created: - apps/api/prisma/migrations/20261008160000_domains_drop_default_nameservers/migration.sql modified: - apps/api/src/domains/autodns-parse.ts - apps/api/src/domains/domain-name.ts - apps/api/src/domains/domains-orders.service.ts - apps/api/src/domains/domains.controller.ts - apps/api/src/domains/domains-settings.service.ts - apps/api/src/domains/dto/domains-order.dto.ts - apps/api/src/domains/dto/domains-settings.dto.ts - apps/api/prisma/schema.prisma - apps/web/src/app/(portal)/modules/domains/components/RegisterTab.tsx - apps/web/src/app/(portal)/modules/domains/components/SettingsTab.tsx - apps/web/src/lib/domains-api.ts - apps/web/src/messages/de.json - apps/web/src/messages/en.json - CHANGELOG.md - docs/anleitung-anwender.md - docs/anleitung-administration.md - docs/mandantentrennung-zugriffsklassifikation.md decisions: - Spalte DomainsConfig.defaultNameServers per Migration entfernt (Modul unveroeffentlicht, Werte wertlos) - Bei Lesefehler eigener Hinweis "nicht aus AutoDNS lesen" statt "keine hinterlegt"; beide sperren die Registrierung - Weniger als zwei erkannte Nameserver gelten als nicht hinterlegt; keine Kuerzung, kein Raten status: complete actuals: tokens: 60000 tasks: 3 commits: 3 plan_head_before: 95d625bd25e6713fb98a29b27bb08b8efe2ab8b0 plan_head_after: 2176f8ecce233a5e3c6416e866f73d2a8823a37e completed: 2026-10-08 --- # Phase quick-261008-h3t Plan 01: Domains, Nameserver aus AutoDNS Summary Tessera liest die Standard-Nameserver der Registrierung aus dem AutoDNS-Benutzerprofil (tolerante Schluessel-Erkennung), zeigt sie nur lesend in AutoDNS-Reihenfolge, speichert sie im Entwurf und sendet sie unveraendert im einen POST /domain; die Tessera-Einstellung samt DB-Spalte ist entfernt. ## Commits | Task | Commit | Beschreibung | | ---- | ------ | ------------ | | 1 (tracer) | 473738d | feat(domains): Standard-Nameserver aus dem AutoDNS-Profil lesen (h3t) | | 2 | 1b20b84 | feat(domains): Registrieren zeigt Nameserver aus AutoDNS nur zur Kontrolle (h3t) | | 3 | 2176f8e | refactor(domains): Einstellung Standard-Nameserver entfernt, Doku angepasst (h3t) | ## Messungen - API-Suite: 135 Dateien, 2498 Tests gruen; Web-Suite: 132 Dateien, 1458 Tests gruen. - tsc (api, web) ohne Fehler; biome check auf den beruehrten Verzeichnissen sauber. - de/en-Schluesselparitaet gruen; kein `defaultNameServers` mehr in apps/*/src; keine firmenspezifischen Nameserver-Namen in Code, Docs, Changelog. - Tracer-Kette (Entwurf -> Bestaetigung -> genau ein POST /domain mit Profil-Nameservern in Profil-Reihenfolge) als Test "Nameserver aus AutoDNS (h3t)" gruen. - Neu gebauter Stack: Migration 20261008160000 angewendet, Spalte in der lokalen DB weg, GET settings ohne Nameserver-Feld, GET name-servers antwortet 409 notConfigured (lokal ist kein AutoDNS-Zugang hinterlegt), GET status 200. ## Deviations from Plan None - plan executed exactly as written. Hinweis: ein einzelner Web-Test (domains-page, "Speichern") fiel in einem Lauf unter Last durch (Zeitueberschreitung) und war im Einzel- und Wiederholungslauf gruen; unveraendert, nicht von dieser Aenderung verursacht. ## Known Stubs None. ## Demo-Checkliste (vom Benutzer mit Demo-Zugang auszufuehren, nicht vom Executor) - H-1 [ASSUMED] Schluesselnamen: Der Reiter Registrieren listet die Standard-Nameserver des Demo-Benutzers in AutoDNS-Reihenfolge. Erscheint stattdessen "In AutoDNS sind keine Standard-Nameserver hinterlegt", obwohl AutoDNS Werte hat, die Warnzeile "Keine Standard-Nameserver im AutoDNS-Profil erkannt" in `docker compose logs api` lesen (sie nennt die Schluesselnamen) und `parseProfileNameServers` anpassen. - H-2 Der AutoDNS-Benutzer darf sein eigenes Profil lesen (kein 403; ein 403 zeigt den Hinweis "nicht aus AutoDNS lesen"). - H-3 Eine Demo-Registrierung sendet die angezeigten Nameserver und AutoDNS akzeptiert sie ausdruecklich. - H-4 Live: die Liste entspricht den vier vom Benutzer genannten Werten in dieser Reihenfolge. - H-x ersetzt Punkt 8 (A8) der Checkliste von 261008-dts, dessen Schritt "Standard-Nameserver in den Einstellungen eintragen" entfaellt. ## Browser-Schritte fuer den Orchestrator (Dunkelmodus) 1. Domains -> Einstellungen: keine Karte "Standard-Nameserver" mehr. 2. Domains -> Registrieren, Domain pruefen: entweder schreibgeschuetzte Nameserver-Liste in AutoDNS-Reihenfolge, oder (lokal ohne Zugang) Hinweis oben mit "Erneut aus AutoDNS lesen" und gesperrtem "Zusammenfassung anzeigen". ## Self-Check: PASSED Commits 473738d, 1b20b84, 2176f8e liegen auf main; Migration und Parser vorhanden.