lib/docs/MEMBERS_TRACK_RELATIONSHIP_...

34 lines
1.5 KiB
Markdown

# Members Track relationship clients
Date: 2026-07-24
Provider source: Members draft PR
[#40](https://github.com/vernonkeenan/members/pull/40), commit `6b48a56`.
The generated Members client exposes:
- `GET /tracktopics` and `POST /tracktopics` for tenant-bounded,
immutable Track-to-Topic associations.
- `GET /trackusers` and `POST /trackusers` for tenant-bounded
Track-to-User assignments.
- `PUT /trackusers` for role-only optimistic updates.
The provider requires compound machine API-key plus native member-session
authentication and an exact operation scope. Owners and Managers may create or
update; Contributors may read only relationships beneath Tracks they created.
Topics must exist in authoritative Research. Users must be active with active
membership in the configured tenant. TrackUser role is restricted to
`Attendee`, `Moderator`, or `Presenter`.
TrackTopic identity and keys are immutable. TrackUser TrackID and UserID are
immutable. Neither client exposes delete because a recovery-safe removal
workflow is not yet governed. There is no broad manage scope, Salesforce,
sf-gate, Cache, credential-bearing model, or direct-database client surface.
Generation note: Lib `main` already contains additional Members spec paths
whose generated clients belong to separate pending slices. This draft pins the
updated spec hash but includes only the TrackTopic/TrackUser artifacts and root
wiring generated with go-swagger v0.35.0. A future all-service regeneration
must reconcile those independent slices; this draft does not silently absorb
them.