New /organizations route under Tenancy. Lists every org in the current tenant (via GET /api/v1/admin/organizations), with per-row Manage members and Settings dialogs. - Members dialog: invite by email, add restricted sub-user, change role, transfer ownership, remove member (owner removal honors the org's on_owner_removal policy server-side) - Settings dialog: edit name, status (active/frozen/pending_deletion), and on_owner_removal policy - app/lib/arcadia/organizations.ts: typed client for the new endpoints - Nav entry added under Tenancy group Tenant admins bypass per-org membership checks via the backend's OrganizationContext plug, so the per-org REST endpoints work for any org in the tenant without an explicit /admin/* surface.
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { type RouteConfig, index, route } from "@react-router/dev/routes"
|
|
|
|
export default [
|
|
index("routes/home.tsx"),
|
|
route("activity", "routes/activity.tsx"),
|
|
route("assistant", "routes/assistant.tsx"),
|
|
route("ai", "routes/ai.tsx"),
|
|
route("library", "routes/library.tsx"),
|
|
route("settings", "routes/settings.tsx"),
|
|
route("profile", "routes/profile.tsx"),
|
|
route("login", "routes/login.tsx"),
|
|
route("login/forgot", "routes/login.forgot.tsx"),
|
|
route("login/reset", "routes/login.reset.tsx"),
|
|
route("login/2fa", "routes/login.2fa.tsx"),
|
|
route("signup", "routes/signup.tsx"),
|
|
route("tenants", "routes/tenants.tsx"),
|
|
route("storage", "routes/storage.tsx"),
|
|
route("users", "routes/users.tsx"),
|
|
route("secrets", "routes/secrets.tsx"),
|
|
route("webhooks", "routes/webhooks.tsx"),
|
|
route("scheduled-tasks", "routes/scheduled-tasks.tsx"),
|
|
route("buckets", "routes/buckets.tsx"),
|
|
route("monitoring", "routes/monitoring.tsx"),
|
|
route("memberships", "routes/memberships.tsx"),
|
|
route("organizations", "routes/organizations.tsx"),
|
|
route("networking", "routes/networking.tsx"),
|
|
route("sso", "routes/sso.tsx"),
|
|
route("announcements", "routes/announcements.tsx"),
|
|
route("status-page", "routes/status-page.tsx"),
|
|
route("search", "routes/search.tsx"),
|
|
// CREMA:ROUTES
|
|
] satisfies RouteConfig
|