Files
nexarch/DEVLOG.md
T
sysopsandClaude Sonnet 5 5915a4e7b1 TEN-02: tenant-onboarding-api-self-service
OnboardingService.Onboard: ein API-Aufruf legt Tenant (via bestehendem
Provisioner) UND ersten Administrator-Account (via IAM-01 TenantUserStore)
an. CREATE DATABASE erlaubt keine echte cross-database Transaktion, daher
Saga-Kompensation: schlaegt die Admin-Anlage nach erfolgreichem Provisioning
fehl, wird der Tenant per neuem Provisioner.Deprovision wieder vollstaendig
entfernt (Registry.Delete + DB-Drop).

Provisioner.Provision mappt Duplikat-Faelle (42P04 duplicate_database und
den bei echt parallelen CREATE DATABASE moeglichen 23505-Unique-Konflikt auf
pg_database) jetzt auf ErrTenantExists statt einer rohen Postgres-Fehlermeldung.

Pruefungen (ausgefuehrt auf root@192.168.1.131, go build/vet/test PASS):
1. Onboarding-Vorgang zweimal parallel mit gleichem Slug ausgeloest —
   TestOnboarding_RejectsDuplicateSlugConcurrently: genau ein Erfolg, kein
   Doppel-Tenant, zweiter Aufruf bekommt ErrTenantExists. PASS.
2. Fehleingaben (leere Pflichtfelder, ungueltige E-Mail, ungueltiger Slug) —
   TestOnboarding_ValidationErrors deckt alle vier Faelle mit klaren Fehlern
   ab, bevor irgendein DB-Zugriff stattfindet. PASS.
3. Erfolgreicher Durchlauf von zweiter Person end-to-end nachvollzogen —
   NICHT durchgefuehrt (keine zweite Person in dieser Session verfuegbar).
   Offen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 18:16:54 +02:00

5.2 KiB
Raw Blame History

code Dev Log

2026-08-27 17:17 17:18 (0m)

Beschreibung: Claude Code Session Projekt: nexarch

Commits

Keine Commits in dieser Session.

Geänderte Dateien

Keine Änderungen ermittelbar.


2026-08-27 17:21 17:21 (0m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

Keine Änderungen ermittelbar.


2026-08-27 17:22 17:22 (0m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

Keine Änderungen ermittelbar.


2026-08-27 17:23 17:25 (2m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

Keine Änderungen ermittelbar.


2026-08-27 17:26 17:28 (1m)

Beschreibung: Claude Code Session Projekt: code

Commits

  • c895a67 core: initial Go module skeleton (config, db pool, tenant registry migration)

Geänderte Dateien

  • .gitignore | 2 ++
  • DEVLOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/core/main.go | 33 +++++++++++++++++++++++++++++++++
  • go.mod | 5 +++++
  • internal/config/config.go | 29 +++++++++++++++++++++++++++++
  • internal/db/db.go | 11 +++++++++++
  • migrations/0001_tenant_registry.sql | 10 ++++++++++

2026-08-27 17:28 17:29 (1m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • .gitignore | 2 ++
  • DEVLOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/core/main.go | 33 +++++++++++++++++++++++++++++++++
  • go.mod | 5 +++++
  • internal/config/config.go | 29 +++++++++++++++++++++++++++++
  • internal/db/db.go | 11 +++++++++++
  • migrations/0001_tenant_registry.sql | 10 ++++++++++

2026-08-27 17:31 17:31 (0m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • .gitignore | 2 ++
  • DEVLOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/core/main.go | 33 +++++++++++++++++++++++++++++++++
  • go.mod | 5 +++++
  • internal/config/config.go | 29 +++++++++++++++++++++++++++++
  • internal/db/db.go | 11 +++++++++++
  • migrations/0001_tenant_registry.sql | 10 ++++++++++

2026-08-27 17:36 17:36 (0m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • .gitignore | 2 ++
  • DEVLOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/core/main.go | 33 +++++++++++++++++++++++++++++++++
  • go.mod | 5 +++++
  • internal/config/config.go | 29 +++++++++++++++++++++++++++++
  • internal/db/db.go | 11 +++++++++++
  • migrations/0001_tenant_registry.sql | 10 ++++++++++

2026-08-27 17:36 17:37 (0m)

Beschreibung: Claude Code Session Projekt: code

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • .gitignore | 2 ++
  • DEVLOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/core/main.go | 33 +++++++++++++++++++++++++++++++++
  • go.mod | 5 +++++
  • internal/config/config.go | 29 +++++++++++++++++++++++++++++
  • internal/db/db.go | 11 +++++++++++
  • migrations/0001_tenant_registry.sql | 10 ++++++++++

2026-08-27 17:53 17:57 (4m)

Beschreibung: Claude Code Session Projekt: code

Commits

  • e479330 IAM-01: benutzer-datenmodell-crud

Geänderte Dateien

  • cmd/core/main.go | 11 ++++++++++-
  • go.mod | 9 +++++++++
  • go.sum | 28 ++++++++++++++++++++++++++++
  • internal/user/handler.go | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/user/store_test.go | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/user/superadmin_store.go | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/user/tenant_store.go | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/user/user.go | 42 ++++++++++++++++++++++++++++++++++++++++++
  • internal/user/user_test.go | 24 ++++++++++++++++++++++++
  • migrations/0002_superadmins.down.sql | 1 +
  • migrations/0002_superadmins.up.sql | 14 ++++++++++++++
  • migrations/tenant/0001_users.down.sql | 1 +
  • migrations/tenant/0001_users.up.sql | 16 ++++++++++++++++