Pace comes with team functionality out of the box. After all, what's a SaaS these days without team functionality.
By default, Pace comes with 3 roles:
At the moment, Pace doesn't enforce any permissions or restrictions on these roles. Of course, you can tweak this as you like.
By default, a personal team is created for every user that registers on your application. They will the owner and only member on the team as new members can't be added to a personal team. You can rename the team but you cannot delete it.
You can also create other teams which you can add as many members as you want to. You can find the link to new create teams in the user dropdown menu.
Also, you can rename these teams and unlike personal teams, you can also delete them.
Inviting team members
Pace comes with a robust team invitation system that allows you to invite users to join your team. You can assign a role to the user you inviting.
Also, you can change the user's role of the invitation, resend or even revoke the invitation.
You can manage team members by either changing their roles or removing them from a team.
Current team and switching teams
Since users can belong to many teams, Pace allows you to keep track of a user's current team and a way to switch to a different team.
users table has a
current_team_id column for storing a user's current team ID. There is also a
Team) relationship on the
User model to retrieve a user's current team based on the
In the user dropdown menus, there is a list of teams a user belongs to and from which the user can select any to switch. Upon switching to a different team, the user
currentTeamId property will be updated with the new team ID.