add owner role support (#1340)

This PR adds support to Owner roles.

The owner role has a similar access level as the admin, but it has the power to delete the account.

Besides that, the role has the following constraints:

- The role can only be transferred. So, only a user with the owner role can transfer the owner role to a new user
- It can't be assigned to users being invited
- It can't be assigned to service users
This commit is contained in:
Maycon Santos
2023-12-01 17:24:57 +01:00
committed by GitHub
parent b8c46e2654
commit d7efea74b6
15 changed files with 397 additions and 111 deletions

View File

@ -120,6 +120,8 @@ const (
IntegrationUpdated
// IntegrationDeleted indicates that the user deleted an integration
IntegrationDeleted
// TransferredOwnerRole indicates that the user transferred the owner role of the account
TransferredOwnerRole
)
var activityMap = map[Activity]Code{
@ -178,6 +180,7 @@ var activityMap = map[Activity]Code{
IntegrationCreated: {"Integration created", "integration.create"},
IntegrationUpdated: {"Integration updated", "integration.update"},
IntegrationDeleted: {"Integration deleted", "integration.delete"},
TransferredOwnerRole: {"Transferred owner role", "transferred.owner.role"},
}
// StringCode returns a string code of the activity