17 lines
986 B
Plaintext
17 lines
986 B
Plaintext
flowchart TD
|
|
A["ResolveCustomerPrefixAsync(orgId, orgName)"] --> B["Fast-Path:<br/>GetObjectMetadata auf<br/>slug(name)/"]
|
|
B -->|"Marker vorhanden<br/>und org-id passt"| Z1["Fertig — 1 Request"]
|
|
B -->|"fehlt oder<br/>fremde org-id"| C["Kollisions-Fast-Path:<br/>GetObjectMetadata auf<br/>slug(name) (orgId)/"]
|
|
C -->|"Marker vorhanden<br/>und org-id passt"| Z2["Fertig — 2 Requests"]
|
|
C -->|"nicht gefunden"| D["Fallback O(n):<br/>alle Top-Level-Prefixes<br/>auflisten und über<br/>org-id filtern"]
|
|
D -->|"Ordner gefunden"| E["Rename auf<br/>kanonischen Namen"]
|
|
E --> Z3["Fertig — nächster<br/>Lookup ist O(1)"]
|
|
D -->|"kein Ordner"| F["Kundenordner samt<br/>Typ-Unterordnern anlegen"]
|
|
F --> Z4["Fertig — Seite<br/>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
|