PhoenixKitProjects.Schemas.ProjectMember (PhoenixKitProjects v0.21.0)

Copy Markdown View Source

Per-project membership row (phoenix_kit_project_members, chain V3).

A member is a CORE USER (user_uuidphoenix_kit_users) with a project role from the frozen PhoenixKitProjects.Authz.roles/0 enum. Members are the hub's native people layer — staff people/teams/departments remain the optional assignee enrichment, a separate concern.

invited_by_uuid is FK-less best-effort provenance (the activity log is the audit trail). Role changes go through PhoenixKitProjects.Members, which owns the last-owner guard — never update a row's role directly.

Summary

Types

t()

@type t() :: %PhoenixKitProjects.Schemas.ProjectMember{
  __meta__: term(),
  inserted_at: term(),
  invited_by_uuid: term(),
  project_uuid: term(),
  role: term(),
  updated_at: term(),
  user: term(),
  user_uuid: term(),
  uuid: term()
}

Functions

changeset(row, attrs)