feat(admin): hero_collab admin pane (Dioxus inspection + management) #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development_sameh_collab_admin"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
hero_collab admin pane (Dioxus)
Adds a full hero_collab admin pane to the shared Dioxus admin shell — inspection and management — bringing collab to parity with the other migrated services (voice/aibroker/whiteboard).
What's here
crate::collabview module (src/collab/mod.rs),<Collab view="…"/>markup dispatcher,lib.rs/markup.rs/main.rswiring.system_metricschips.channel_list({workspace_id})) with create/delete, RBAC role-assignment bar (org_group_assign_role/unassign_role).Wire
collab is all-custom, single
maindomain. RPC goes through the router proxy:call_at("/{proxy}/rpc/api/main/rpc", method, params). Create uses collab's{params}wrapper, delete uses{id}— matching collab's server signatures (not the CrudTable{input}convention; collab is hand-written like the voice/aibroker panes).Verification
Release-built, deployed via
lab build --start, and live-verified end-to-end through the router at?service=hero_collab: all tabs render real data; a full create → delete workspace round-trip succeeded in the browser (count 1→2→1); Diagnostics 6/6 compliant.Opening for review since this touches the shared shell — happy to adjust the markup/module conventions to match house style.
Adds a compiled <Collab> pane to the unified admin (tabs_for hero_collab): Workspaces / Users / RBAC / Stats + Logs. Hand-written panes (the canonical pattern — biz/voice/aibroker/proc all hand-write; only whiteboard uses its own CrudTable helper), calling collab's all-custom methods on its single main domain via router.call_at(/<proxy>/rpc/api/main/rpc, ...). All read methods are zero-arg. Management + drill-down (create/update/delete) is the next tier — also hand- written panes (proc-style ActionBtn) calling collab's {params}-wrapped methods; no shared-CrudTable reuse needed (collab is all-custom per home#309, 0 rootobjects). cargo check: clean (exit 0). Part of home#309 Phase-2 / collab #79.Adds the management tier to the collab admin pane, hand-written + tailored to collab's conventions (create -> {params:{...}} wrapper, delete -> {id} flat) — no CrudTable fork (whiteboard's helper bakes in {input}/{id}; biz uses {data}/ {sid}; there is no single convention, so collab uses its own per the guide's hand-written-pane pattern). Inline create form + per-row delete with 2-click arm-confirm, via spawn + tick-refresh. cargo check clean (exit 0). This proves the management pattern; Users/Channels(drill-down)/RBAC follow the same shape. Refs home#309 Phase-2, collab #79.Users: inline create (name/email/alias -> {params}) + delete arm-confirm. Channels: workspace-selector drill-down (channel_list(workspace_id)) + create ({params}, workspace from selector) + delete. Mirrors the proven Workspaces CRUD pattern (collab's {params}/{id} conventions). cargo check clean. collab admin now covers inspect + management + drill-down for Workspaces/Users/ Channels; RBAC/Stats read-only (RBAC role-assignment mgmt = follow-on, needs user+role selectors). Refs home#309 Phase-2, collab #79.Adds attach/detach a role to an org group (org_group_assign_role / org_group_unassign_role, {params:{group_id, role_id}}) via group+role selectors in the RBAC tab. Completes the collab admin: inspect (Workspaces/Users/Channels/ RBAC/Stats/Logs) + management (Workspaces/Users/Channels CRUD + RBAC assignment) + drill-down (Channels). cargo check clean. Refs home#309 Phase-2, collab #79.Squash-merged to
developmentas5a5e15bafter live verification on a clean development stack (discovery + all tabs + real data + full create→delete round-trip through the router). Closing.Pull request closed