thread_extra_member
Represents an additional member invited to participate in a thread beyond the default circle participants. Enables cross-circle collaboration by extending thread access.
Fields
| Field | Type | Description |
|---|---|---|
id | uuid | Unique identifier for the extra member entry (auto-generated) |
threadId | uuid | Reference to the thread |
memberId | uuid | Reference to the member being added |
Relationships
Object Relationships
thread— The thread this extra member belongs tomember— The extra member added to the thread
Query Examples
List Extra Members of a Thread
query GetThreadExtraMembers($threadId: uuid!) {
thread_extra_member(where: { threadId: { _eq: $threadId } }) {
id
member {
id
name
}
threadId
}
}
Mutation Examples
Add an Extra Member to a Thread
mutation AddThreadExtraMember {
insert_thread_extra_member_one(
object: { threadId: "thread-id", memberId: "member-id" }
) {
id
threadId
memberId
}
}
Remove an Extra Member
mutation RemoveExtraMember {
delete_thread_extra_member_by_pk(id: "extra-member-id") {
id
memberId
}
}
Permissions
Select (Read)
Users can view thread extra members when they meet any of these conditions:
- They are a participant in the thread’s circle
- They are an extra member of the thread
- For non-private threads, they are a member of the organization
Insert (Create)
Users can add extra members to threads when they meet any of these conditions:
- They are a participant in the thread’s circle
- They are an extra member of the thread
- For non-private threads, they are an organization member with Member, Admin, or Owner role
Delete (Remove)
Users can remove extra members from threads under the same conditions as Insert.
Each member can only be added once per thread (enforced by a unique constraint
on threadId and memberId). Extra members can be removed without affecting
thread content, and thread privacy settings apply to all participants
including extra members.