Saxonberg Server API
    Preparing search index...

    Provider contract. Concrete providers in lib/social/providers/.

    members is the canonical read; roleOf is the canonical role projection. isMember and onChange are optional fast-path / live-notification seams (defaults derive from roleOf and no-op respectively).

    Role projection is mandatory. Every provider projects its native concept into the coarse 'owner' | 'admin' | 'member' vocabulary as best it can — even when the underlying source has no native role hierarchy (mql, contacts), the projection is "everyone in the materialized set is 'member'". Surfacing null is the "not in the group at all" signal. Sources with richer hierarchies (a future guild provider with leader / officer / member) fold their native roles into the coarse vocabulary — the contract is intentionally lossy.

    Writable providers add add / remove / setRole / create / destroy on top — the managed provider has them; mql / contacts don't.

    Implements

    Index

    Constructors

    Properties

    source: "managed" = 'managed'

    First colon-prefix of the GroupRef this provider handles.

    Methods

    • Look up a Group by its unique name. Returns the first match (the name index is unique at the collection level) or null. Used by the AccessRegistry's bootstrap seeding and developer- cache warm path to find well-known groups ('core', 'lounge', 'wizards').

      Parameters

      • name: string

      Returns Promise<Group | null>

    • Notify subscribed listeners that membership of Group id changed. Called by the controller-side helpers after every CRUD mutation (e.g., add, remove, setRole, disband). Internal to the provider — external callers go through the verbs.

      Parameters

      • id: string

      Returns void