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>
155 lines
5.2 KiB
Markdown
155 lines
5.2 KiB
Markdown
# 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 ++++++++++++++++
|
||
|
||
---
|