From 295ec3cd8b87b86e97434e333b358b8a9fa74288 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Tue, 25 Mar 2025 19:05:56 -0700
Subject: [PATCH 1/2] submissions: refactor UserInfoHandle.GetRoles

---
 pkg/service/security.go | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/pkg/service/security.go b/pkg/service/security.go
index 87a83fb..678e193 100644
--- a/pkg/service/security.go
+++ b/pkg/service/security.go
@@ -103,22 +103,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:
+			rolesBitflag|=RolesQuat
+		case RoleMapAdmin:
+			rolesBitflag|=RolesMapAdmin
+		case RoleMapCouncil:
+			rolesBitflag|=RolesMapCouncil
+		case RoleMapAccess:
+			rolesBitflag|=RolesMapAccess
 		}
 	}
 	return rolesBitflag, nil
-- 
2.47.1


From 636bb1fb946bf3392f07bd4c0c5cafc42ac32632 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Tue, 25 Mar 2025 19:41:45 -0700
Subject: [PATCH 2/2] submissions: fix roles bug

---
 pkg/service/security.go | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkg/service/security.go b/pkg/service/security.go
index 678e193..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
@@ -111,8 +113,8 @@ func (usr UserInfoHandle) GetRoles() (Roles, error) {
 	rolesBitflag := RolesEmpty;
 	for _, r := range roles.Roles {
 		switch GroupRole(r.Rank){
-		case RoleQuat:
-			rolesBitflag|=RolesQuat
+		case RoleQuat, RoleItzaname, RoleStagingDeveloper:
+			rolesBitflag|=RolesAll
 		case RoleMapAdmin:
 			rolesBitflag|=RolesMapAdmin
 		case RoleMapCouncil:
-- 
2.47.1