Someone asking to be let in to a record a mention pointed them at.
A # link to something the reader cannot open tells them it exists and
nothing else. That is only useful if there is a next step, so the redacted
chip offers one: ask the people who own it.
status is a string sentinel per the workspace's soft-delete convention.
A pending request is unique per (requester, resource) — asking twice is
the same ask — but the index is partial, so a denied request never blocks
asking again when circumstances change.
Summary
Types
@type t() :: %PhoenixKit.Mentions.AccessRequest{ __meta__: term(), decided_at: DateTime.t() | nil, decided_by_uuid: UUIDv7.t() | nil, inserted_at: DateTime.t() | nil, note: String.t() | nil, requester_uuid: UUIDv7.t() | nil, resource_type: String.t() | nil, resource_uuid: UUIDv7.t() | nil, source_type: String.t() | nil, source_uuid: UUIDv7.t() | nil, status: String.t() | nil, updated_at: DateTime.t() | nil, uuid: UUIDv7.t() | nil }
Functions
@spec changeset(t(), map()) :: Ecto.Changeset.t()
@spec statuses() :: [String.t()]