diff --git a/pkg/service/security.go b/pkg/service/security.go index 87a83fb..6f6ac58 100644 --- a/pkg/service/security.go +++ b/pkg/service/security.go @@ -28,8 +28,10 @@ var ( type GroupRole int32 var ( // has ScriptWrite - RoleQuat GroupRole = 240 - RolesQuat Roles = RolesScriptWrite|RolesSubmissionPublish|RolesSubmissionReview|RolesMapDownload + RoleQuat GroupRole = 255 + RoleItzaname GroupRole = 254 + RoleStagingDeveloper GroupRole = 240 + RolesAll Roles = RolesScriptWrite|RolesSubmissionPublish|RolesSubmissionReview|RolesMapDownload // has SubmissionPublish RoleMapAdmin GroupRole = 128 RolesMapAdmin Roles = RolesSubmissionPublish|RolesSubmissionReview|RolesMapDownload @@ -103,22 +105,22 @@ func (usr UserInfoHandle) GetRoles() (Roles, error) { SessionID: usr.sessionId, }) - var rolesBitflag = RolesEmpty; if err != nil { - return rolesBitflag, err + return RolesEmpty, err } // map roles into bitflag + rolesBitflag := RolesEmpty; for _, r := range roles.Roles { switch GroupRole(r.Rank){ - case RoleQuat: - rolesBitflag|=RolesQuat; - case RoleMapAdmin: - rolesBitflag|=RolesMapAdmin; - case RoleMapCouncil: - rolesBitflag|=RolesMapCouncil; - case RoleMapAccess: - rolesBitflag|=RolesMapAccess; + case RoleQuat, RoleItzaname, RoleStagingDeveloper: + rolesBitflag|=RolesAll + case RoleMapAdmin: + rolesBitflag|=RolesMapAdmin + case RoleMapCouncil: + rolesBitflag|=RolesMapCouncil + case RoleMapAccess: + rolesBitflag|=RolesMapAccess } } return rolesBitflag, nil