A status list with metadata per value: a label, a one-line description of what it means operationally, whether the account is 'managed' (a real client you administer), and its chip styling. Two legacy values that predate the list stay recognised rather than being rewritten. Unrecognised values render honestly as unknown instead of crashing a screen.
Also called: account status · paused account · suspended · banned · scheduled for deletion
- 1ORG_STATUSES defines the settable values; ORG_STATUS_META carries the label, description, managed flag and chip for each.
- 2Legacy values from before the list are marked legacy and kept readable.
- 3isManagedStatus() is the default filter on admin surfaces, so parked test accounts and banned ones stop cluttering the work.
- 4statusMeta() returns a safe fallback for any value this build has never seen.
- 5The status drives routing: a suspended account's subdomain stops resolving, and its branding stops being served.
The module opens by admitting the column's history: it 'is a free-text column with no CHECK constraint, and it already carries two legacy values from before this list existed. Those stay recognized rather than being rewritten — a migration that silently reinterpreted someone's account state would be worse than a slightly longer list.' The managed flag is the practical part: 'MANAGED vs not is the distinction that matters day to day.' Each description is written for an operator rather than a developer — 'paused' means 'temporarily on hold at the client's request — billing paused, data intact'; 'suspended' means 'access cut off by us'.
- A free-text status column meant every screen invented its own interpretation.
- Test and banned accounts cluttered the operator's working list.
- Rewriting historic status values would have silently changed what an account's state meant.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →