Interpret the registration response's tenancy signal. `mode: "single"` (server v1.4.0+) marks a single-tenant deployment and carries the org `role` the identity received; anything else — `"multi"` or a missing field (older servers) — keeps multi-tenant URL semantics. Returns `(single_tenant, role)`.
(data: &serde_json::Value)
| 377 | /// or a missing field (older servers) — keeps multi-tenant URL semantics. |
| 378 | /// Returns `(single_tenant, role)`. |
| 379 | fn parse_tenancy_mode(data: &serde_json::Value) -> (bool, Option<&str>) { |
| 380 | let single = data.get("mode").and_then(|v| v.as_str()) == Some("single"); |
| 381 | let role = data.get("role").and_then(|v| v.as_str()); |
| 382 | (single, role) |
| 383 | } |
| 384 | |
| 385 | #[cfg(test)] |
| 386 | mod tests { |