Type Alias: GroupSelector¶
Defined in: rine-ts-sdk/src/resources/groups-resolve.ts:101
What a group verb that READS the group accepts: the group's UUID, or the record GroupsResource.resolveRef answered with.
Handing the record over is what removes the duplicate read: the verb's own
GET /groups/{id} is served from the row the resolve already paid for, at
the one seam every such verb goes through (GroupsResource.mlsContext).
Nothing is re-derived at the call site — the id and the row come out of one
record and cannot name two different groups, which is the drift this shape
closes.
🔴 Four of the six verbs that take this actually fold. removeMember,
leave, sync and resumeMlsAdmission read the group before they write, so
the resolve's row is the answer. invite and vote read it AFTER their own
POST — the invite's nomination filing, the vote's approval — and a read whose
whole job is to see what the POST did cannot be served from a row read
before it. They accept a record for symmetry and buy the row anyway.
🔴 Only the verbs that read the group row take this. A verb that never reads
it saves nothing by being handed one, and join takes a GroupUuid alone by
design: its target is a group this org holds no seat in, so it resolves
through resolveGroupRefForJoin, which answers with an id and no row
on every rung. A record from resolveRef is the wrong answer to hand it.