-
Mahmoud Aglan authored
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>
af3c054a