Join requests for private groups: requesting, listing, approving, rejecting, and cancelling.
Public API is re-exported by Gamend.Groups.
Summary
Functions
Approve a pending join request. Admin only.
Cancel (delete) a pending join request. Only the requesting user can cancel.
List pending join requests for a group (admin only).
List pending join requests sent by a user.
Reject a pending join request. Admin only.
Request to join a private group. Creates a pending join request.
Functions
@spec approve_join_request(Ecto.UUID.t(), Ecto.UUID.t()) :: {:ok, Gamend.Groups.GroupMember.t()} | {:error, atom()}
Approve a pending join request. Admin only.
@spec cancel_join_request(Ecto.UUID.t(), Ecto.UUID.t()) :: {:ok, Gamend.Groups.GroupJoinRequest.t()} | {:error, atom()}
Cancel (delete) a pending join request. Only the requesting user can cancel.
@spec count_join_requests(Ecto.UUID.t()) :: non_neg_integer()
@spec list_join_requests(Ecto.UUID.t(), Ecto.UUID.t(), keyword()) :: {:ok, [Gamend.Groups.GroupJoinRequest.t()]} | {:error, atom()}
List pending join requests for a group (admin only).
@spec list_user_pending_requests(Ecto.UUID.t()) :: [ Gamend.Groups.GroupJoinRequest.t() ]
List pending join requests sent by a user.
@spec reject_join_request(Ecto.UUID.t(), Ecto.UUID.t()) :: {:ok, Gamend.Groups.GroupJoinRequest.t()} | {:error, atom()}
Reject a pending join request. Admin only.
@spec request_join(Ecto.UUID.t(), Ecto.UUID.t()) :: {:ok, Gamend.Groups.GroupJoinRequest.t()} | {:error, atom()}
Request to join a private group. Creates a pending join request.