2
0
abhishek9686 1 жил өмнө
parent
commit
ad4b6f9cfc

+ 9 - 1
pro/controllers/users.go

@@ -452,7 +452,14 @@ func deleteUserGroup(w http.ResponseWriter, r *http.Request) {
 //			Responses:
 //				200: userBodyResponse
 func listRoles(w http.ResponseWriter, r *http.Request) {
-	roles, err := proLogic.ListRoles()
+	platform, _ := url.QueryUnescape(r.URL.Query().Get("platform"))
+	var roles []models.UserRolePermissionTemplate
+	var err error
+	if platform == "true" {
+		roles, err = proLogic.ListPlatformRoles()
+	} else {
+		roles, err = proLogic.ListNetworkRoles()
+	}
 	if err != nil {
 		logic.ReturnErrorResponse(w, r, models.ErrorResponse{
 			Code:    http.StatusInternalServerError,
@@ -460,6 +467,7 @@ func listRoles(w http.ResponseWriter, r *http.Request) {
 		})
 		return
 	}
+
 	logic.ReturnSuccessResponseWithJson(w, r, roles, "successfully fetched user roles permission templates")
 }
 

+ 27 - 3
pro/logic/user_mgmt.go

@@ -96,7 +96,7 @@ func DeleteNetworkRoles(netID string) {
 		}
 	}
 
-	roles, _ := ListRoles()
+	roles, _ := ListNetworkRoles()
 	for _, role := range roles {
 		if role.NetworkID == netID {
 			DeleteRole(role.ID)
@@ -104,8 +104,8 @@ func DeleteNetworkRoles(netID string) {
 	}
 }
 
-// ListRoles - lists user roles permission templates
-func ListRoles() ([]models.UserRolePermissionTemplate, error) {
+// ListNetworkRoles - lists user network roles permission templates
+func ListNetworkRoles() ([]models.UserRolePermissionTemplate, error) {
 	data, err := database.FetchRecords(database.USER_PERMISSIONS_TABLE_NAME)
 	if err != nil && !database.IsEmptyRecord(err) {
 		return []models.UserRolePermissionTemplate{}, err
@@ -117,6 +117,30 @@ func ListRoles() ([]models.UserRolePermissionTemplate, error) {
 		if err != nil {
 			continue
 		}
+		if userRole.NetworkID == "" {
+			continue
+		}
+		userRoles = append(userRoles, userRole)
+	}
+	return userRoles, nil
+}
+
+// ListPlatformRoles - lists user platform roles permission templates
+func ListPlatformRoles() ([]models.UserRolePermissionTemplate, error) {
+	data, err := database.FetchRecords(database.USER_PERMISSIONS_TABLE_NAME)
+	if err != nil && !database.IsEmptyRecord(err) {
+		return []models.UserRolePermissionTemplate{}, err
+	}
+	userRoles := []models.UserRolePermissionTemplate{}
+	for _, dataI := range data {
+		userRole := models.UserRolePermissionTemplate{}
+		err := json.Unmarshal([]byte(dataI), &userRole)
+		if err != nil {
+			continue
+		}
+		if userRole.NetworkID != "" {
+			continue
+		}
 		userRoles = append(userRoles, userRole)
 	}
 	return userRoles, nil