Admin workspace
The admin panel at /admin is a three-pane browser for the structure of the
deployment. It is where you pick a profile and a table before carrying out an
action; the actions themselves live on dedicated table-definition pages.
The three panes
Section titled “The three panes”- Profiles — lists Global (the shared tables) followed by every profile the caller can see, with its owned-table count. Global tables are browsed under the Global scope rather than repeated under each profile.
- Tables — the tables of the selected profile or scope, showing each table’s dependencies (one entry per link, named by the column carrying it) and its row-display columns. System tables are marked and offer no structural actions.
- Columns — the selected table’s columns in backend order. User columns
come first, system columns trail. Each column shows badges for
system,primary key,nullable/required, andquantity ledger.
Selecting and acting
Section titled “Selecting and acting”Choose a profile, then a table. Once a non-system table is selected, the panel links to the actions that apply to it:
- add columns, rename a column, and delete the table (table-scoped);
- copy the profile and generate tables from an invoice template (profile-scoped);
- read the rename history.
The selection travels to those pages in the query string as ?profile=...& table=..., and each page links back to the panel it came from. See
How table definitions work for the whole area.
Global scope
Section titled “Global scope”The Global scope (__global) is the table catalog’s answer, not the profile
tree’s. The tree repeats global tables under every profile; the panel instead
browses them once under Global, using the catalog for profile_name: None.
This keeps the two pages that derive tables from the tree from hiding shared
tables when no profile exists in the tree.
Related routes
Section titled “Related routes”/admin/workspace renders the same data as an alternate workspace view.
POST /logout is owned by this module and clears the session cookie.