code-corps / code-corps/code-corps-api
Add InvitedUser model, policy, and controller
- Dominant language
- Elixir
- Stars
- 234
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
# Problem
We want to add an `InvitedUser` with the following attributes:
- `email` - string; required
- `role` - string; optional
- `name` - string; optional
And the following relationships:
- `invitee` - optional; eventually set to the `user` created from this invite
- `inviter` - required; the `user` who created the invite
- `project` - optional; the project the invite is for
We’ll need create, update, index and show endpoints.
If inviting to a `project`, the policy should check permissions similar to how `ProjectUser` works.
When the invite flow is complete, ie to claim an invite, we’ll need to:
- create a user
- set the `invited_user`’s `invitee_id`
- create a `project_user` for the `project` with the specified `role`
It may make sense to do this on the user create endpoint by specifying the `InvitedUser` `id` as a relationship.
Contributor guide
Assessment
This issue has not been assessed yet.