docs: DEVLOG – agent-10 Reseller/Mandantenübersicht
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2022,3 +2022,157 @@ Keine Commits in dieser Session.
|
||||
- frontend/src/pages/TenantsPage.tsx | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
---
|
||||
## 2026-06-23 01:26 – 01:29 (3m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
## 2026-06-23 01:36 – 01:38 (1m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
## 2026-06-23 01:38 – 01:39 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
## 2026-06-23 01:40 – 01:40 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
## 2026-06-23 01:41 – 01:41 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
## 2026-06-23 – agent-10: Reseller-Rolle + Mandantenübersicht (Multimandanten)
|
||||
|
||||
**Ziel:** Mandantenfähigkeit ausbauen – SUPER_ADMIN-Mandantenübersicht + neue
|
||||
RESELLER-Rolle, die selbst angelegte Firmen verwaltet (nur Firmen-Ebene, DSGVO).
|
||||
|
||||
### Commits
|
||||
- 898a81f feat: Reseller-Rolle + SUPER_ADMIN-Mandantenübersicht
|
||||
- 98cb2f8 feat: Mandant/Reseller ohne E-Mail anlegbar (Temp-Passwort statt Einladung)
|
||||
|
||||
### Entscheidungen (mit User abgestimmt)
|
||||
- Reseller = **nur Firmen-Verwaltung** (kein Zugriff auf personenbezogene Zeit-/
|
||||
Abwesenheitsdaten) → DSGVO-sauber
|
||||
- **Eigene Reseller-Oberfläche** (`/reseller`), keine Impersonation
|
||||
- **Nur SUPER_ADMIN** legt Reseller an; Reseller-Firmen gehören automatisch ihm
|
||||
|
||||
### Backend
|
||||
- Neue Rolle `UserRole.RESELLER` (company_id NULL); `companies.reseller_id` + `is_active`
|
||||
- Migration **0034**: Enum-Wert + Spalten + RLS-Policies (companies/users zusätzlich
|
||||
auf `app.reseller_id` gefenced → DB-seitige Mandantenisolation des Resellers)
|
||||
- `get_current_user` setzt `app.reseller_id` + Bypass aus für RESELLER
|
||||
- `tenant_service` (Firma + Erst-Admin), Router `/reseller/*` (Self-Service) und
|
||||
`/admin/*` (SUPER_ADMIN: Mandanten + Reseller); Login-Sperre bei deaktiviertem Mandant
|
||||
- **Ohne E-Mail anlegbar**: interne Login-Kennung `<name>@<slug>.local` + einmaliges
|
||||
Temp-Passwort (kein Mailversand). `LoginRequest.email` → `str` (Kennung muss kein
|
||||
zustellbares Postfach sein; reservierte `.local`-Domains sonst nicht einloggbar)
|
||||
|
||||
### Frontend
|
||||
- `TenantsPage` (`/admin/tenants`): alle Firmen, Reseller zuordnen/anlegen, Aktiv-Toggle
|
||||
- `ResellerCompaniesPage` (`/reseller`): eigene Oberfläche mit Firmen-Kacheln
|
||||
- Rollenbasierte Login-Weiterleitung (RESELLER → `/reseller`); `CredDialog` zeigt
|
||||
Temp-Zugangsdaten einmalig; Nav „Mandanten" für SUPER_ADMIN
|
||||
|
||||
### Tests & Deployment
|
||||
- 5 neue pytest-Cases inkl. **Cross-Reseller-RLS-Isolation** + Anlage ohne E-Mail
|
||||
(173/173 grün); conftest-RLS um Reseller-Policies erweitert
|
||||
- Auf **137 + 164** deployed (Migration 0034, Dienste aktiv, Health ok)
|
||||
- **Live-Smoke-Test** auf beiden Servern bestanden (8 Checks: Anlage ohne E-Mail,
|
||||
Temp-Login, RLS-Isolation, 403-Schutz, Mandanten-Sperre) – Testdaten danach gelöscht
|
||||
|
||||
---
|
||||
## 2026-06-23 01:42 – 01:43 (1m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||||
- backend/app/routers/reseller.py | 8 +++++---
|
||||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/app/schemas/auth.py | 5 ++++-
|
||||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user