Merge branch 'feature/ten-05-tenant-verwaltungsoberflaeche' into feature/qa-02-pruefgate-identitaet-mandanten

# Conflicts:
#	internal/tenant/registry.go
This commit is contained in:
sysops
2026-08-29 00:09:28 +02:00
28 changed files with 1902 additions and 6 deletions
+5 -6
View File
@@ -38,14 +38,13 @@ func (r *Registry) GetBySlug(ctx context.Context, slug string) (Tenant, error) {
// previous_status/deletion_scheduled_at werden mitgelesen, damit TEN-04
// (internal/tenant/lifecycle.go) den vollstaendigen Lebenszyklus-Zustand
// ueber GetBySlug ansehen kann, statt eine eigene Abfrage zu duplizieren.
var t Tenant
row := r.pool.QueryRow(ctx, `
SELECT id, slug, name, db_name, db_dsn, status, created_at, previous_status, deletion_scheduled_at
FROM tenants WHERE slug = $1
`, slug)
if err := row.Scan(&t.ID, &t.Slug, &t.Name, &t.DBName, &t.DBDSN, &t.Status, &t.CreatedAt,
&t.PreviousStatus, &t.DeletionScheduledAt); err != nil {
t, err := scanTenantWithLifecycle(row)
if err != nil {
return Tenant{}, fmt.Errorf("tenant laden: %w", err)
}
return t, nil
@@ -63,7 +62,7 @@ func (r *Registry) Delete(ctx context.Context, id string) error {
func (r *Registry) List(ctx context.Context) ([]Tenant, error) {
rows, err := r.pool.Query(ctx, `
SELECT id, slug, name, db_name, db_dsn, status, created_at
SELECT id, slug, name, db_name, db_dsn, status, created_at, previous_status, deletion_scheduled_at
FROM tenants ORDER BY created_at
`)
if err != nil {
@@ -73,8 +72,8 @@ func (r *Registry) List(ctx context.Context) ([]Tenant, error) {
var out []Tenant
for rows.Next() {
var t Tenant
if err := rows.Scan(&t.ID, &t.Slug, &t.Name, &t.DBName, &t.DBDSN, &t.Status, &t.CreatedAt); err != nil {
t, err := scanTenantWithLifecycle(rows)
if err != nil {
return nil, fmt.Errorf("tenant lesen: %w", err)
}
out = append(out, t)