feat(orgs): the manager is where organisations are run, end to end
The mobile app has no org management (owner decision 2026-10-26), so the
organizations module now covers everything an org owner, admin or staff needs:
- Settings: name, description, tag (2-5, unique, case-blind), sticker hue
(the game's families only), join policy, games, member invites; logo and
banner to the public org-logos / org-banners buckets (type, size and
minimum dimensions checked before anything is saved; a replaced or removed
image is deleted from storage).
- Platform decisions (staff only): capacity tier (free 500, event 5,000,
partner unlimited) or an explicit cap never below the member count,
verification badge, suspend / lift suspension through org_set_suspended
(revokes every live code in the same call, reason required), soft delete.
- Members: add by username, role change, mute for a period or until lifted,
kick (status left, never deleted), ban with a reason (closes the player's
pending applications through decide_application), unban, reactivate; the
last active owner cannot be kicked, banned or demoted; the 5-org limit,
capacity and bans are refused as the database functions refuse them. Each
action notifies the player (org_* bell types) and lands in
org_activity_log, shown on the org page in Arabic.
- Reports against orgs (org_reports): a platform queue and a per-org tab,
with status and resolution.
OrgScope now also checks the action, not just the module, for org-scoped
accounts: org_manager can look, draft and create codes but cannot change
members or settings, decide applications, revoke or reverse codes, or
publish. The views hide what the role cannot do.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
Showing
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment