Expand description
Group and membership models for shared memory graphs.
This module provides types for organizing memories into groups that can be shared across team members within an organization.
§Overview
Groups exist within an organization scope and allow multiple users to share memories. Each group has:
- A unique identifier within the organization
- Members with roles (admin, write, read)
- Token-based invite system for adding members
§Example
ⓘ
use subcog::models::group::{Group, GroupRole, GroupMember};
let group = Group::new("research-team", "acme-corp", "alice@example.com");
let member = GroupMember::new(group.id.clone(), "bob@example.com", GroupRole::Write);Structs§
- AddMember
Request - Request to add a member to a group.
- Create
Group Request - Request to create a new group.
- Create
Invite Request - Request to create an invite.
- Group
- A group for sharing memories within an organization.
- GroupId
- Unique identifier for a group.
- Group
Invite - An invitation to join a group.
- Group
Member - A member of a group with an assigned role.
- Group
Membership - Summary of a user’s membership in a group.
Enums§
- Group
Role - Role-based access control for group members.
Functions§
- is_
valid_ email - Email validation helper.
- normalize_
email - Normalizes an email address to lowercase.