feat: roles SPA Users, Profile, API keys, Activity
This commit is contained in:
1 parent
3db490a615
commit
34dffe222f
98 files changed
+4957
-434
No files matched your search
@@ -6,16 +6,18 @@ import (
|
||||
)
|
||||
|
||||
type Access struct {
|
||||
Role role.Role
|
||||
Permissions []role.Grant
|
||||
Role role.Role
|
||||
Permissions []role.Grant
|
||||
RoleAssignedBy *RoleAssigner
|
||||
}
|
||||
|
||||
type GetMyAccessUseCase struct {
|
||||
roles role.Repository
|
||||
users user.Repository
|
||||
}
|
||||
|
||||
func NewGetMyAccessUseCase(roles role.Repository) *GetMyAccessUseCase {
|
||||
return &GetMyAccessUseCase{roles: roles}
|
||||
func NewGetMyAccessUseCase(roles role.Repository, users user.Repository) *GetMyAccessUseCase {
|
||||
return &GetMyAccessUseCase{roles: roles, users: users}
|
||||
}
|
||||
|
||||
func resolveRole(roles role.Repository, account user.User) (role.Role, error) {
|
||||
@@ -30,5 +32,10 @@ func (u *GetMyAccessUseCase) Get(account user.User) (Access, error) {
|
||||
if err != nil {
|
||||
return Access{}, err
|
||||
}
|
||||
return Access{Role: resolved, Permissions: resolved.EffectiveGrants()}, nil
|
||||
access := Access{Role: resolved, Permissions: resolved.EffectiveGrants()}
|
||||
access.RoleAssignedBy, err = resolveRoleAssigner(u.users, account.RoleAssignedByID)
|
||||
if err != nil {
|
||||
return Access{}, err
|
||||
}
|
||||
return access, nil
|
||||
}
|
||||
Reference in new issue
Block a user