Skip to content

Decide: membership and admin model without Discord #153

Description

@engleek

Question

Once Discord is not the login, who is allowed to create and edit content, and who is an admin?

Today: canWrite = "is a member of the IC Discord server" (guild 84687138729259008), checked live on every write. isAdmin = "has one of the Admin / Staff / CA / Bureau roles", copied to the database at sign-in and never removed. welcome.jsx tells non-members to join the Discord.

Options

  1. Stored in the database (recommended). A membership flag / role on person, granted by admins from /admin/users. Simple, no platform dependency, works on Workers/D1.
  2. A curated Bluesky list. IC maintains an app.bsky.graph.list; the app checks it through the public API. Decentralised, but public, and writes depend on Bluesky being up.
  3. Hybrid. Database is the source of truth; an admin action imports from the Bluesky list.

Also decide:

  • Default for new sign-ups: can they write immediately, or do they wait for approval?
  • Should adhérent (role 694986277556060271, noted in code as "special status?") become its own status?
  • Does an admin losing their Discord role still need to remove rights? (Today it does not.)

Answer with: the chosen model and the answers above. Unblocks #156.


Part of #162.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedready-for-humanRequires human implementation or decisions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions