flowchart TD A["ResolveCustomerPrefixAsync(orgId, orgName)"] --> B["Fast-Path:
GetObjectMetadata auf
slug(name)/"] B -->|"Marker vorhanden
und org-id passt"| Z1["Fertig — 1 Request"] B -->|"fehlt oder
fremde org-id"| C["Kollisions-Fast-Path:
GetObjectMetadata auf
slug(name) (orgId)/"] C -->|"Marker vorhanden
und org-id passt"| Z2["Fertig — 2 Requests"] C -->|"nicht gefunden"| D["Fallback O(n):
alle Top-Level-Prefixes
auflisten und über
org-id filtern"] D -->|"Ordner gefunden"| E["Rename auf
kanonischen Namen"] E --> Z3["Fertig — nächster
Lookup ist O(1)"] D -->|"kein Ordner"| F["Kundenordner samt
Typ-Unterordnern anlegen"] F --> Z4["Fertig — Seite
zeigt leeren Zustand"] style Z1 fill:#d5e8d4,stroke:#82b366 style Z2 fill:#d5e8d4,stroke:#82b366 style Z3 fill:#fff2cc,stroke:#d6b656 style Z4 fill:#fff2cc,stroke:#d6b656 style D fill:#f8cecc,stroke:#b85450