소스 검색

feat(user-groups): add color code to user groups

imadtassaoui 3 달 전
부모
커밋
c05db3f06a
3개의 변경된 파일17개의 추가작업 그리고 4개의 파일을 삭제
  1. 12 4
      cli/cmd/user/groups.go
  2. 1 0
      models/user_mgmt.go
  3. 4 0
      pro/logic/user_mgmt.go

+ 12 - 4
cli/cmd/user/groups.go

@@ -30,7 +30,7 @@ var userGroupListCmd = &cobra.Command{
 			functions.PrettyPrint(data)
 		default:
 			table := tablewriter.NewWriter(os.Stdout)
-			h := []string{"ID", "MetaData", "Network Roles"}
+			h := []string{"ID", "Name", "Color", "MetaData", "Network Roles"}
 			table.SetHeader(h)
 			for _, d := range data {
 
@@ -42,7 +42,11 @@ var userGroupListCmd = &cobra.Command{
 					}
 					roleInfoStr += fmt.Sprintf("[%s]: %s", netID, strings.Join(roleList, ","))
 				}
-				e := []string{d.ID.String(), d.MetaData, roleInfoStr}
+				colorCode := d.ColorCode
+				if colorCode == "" {
+					colorCode = "N/A"
+				}
+				e := []string{d.ID.String(), d.Name, colorCode, d.MetaData, roleInfoStr}
 				table.Append(e)
 			}
 			table.Render()
@@ -85,7 +89,7 @@ var userGroupGetCmd = &cobra.Command{
 			functions.PrettyPrint(data)
 		default:
 			table := tablewriter.NewWriter(os.Stdout)
-			h := []string{"ID", "MetaData", "Network Roles"}
+			h := []string{"ID", "Name", "Color", "MetaData", "Network Roles"}
 			table.SetHeader(h)
 			roleInfoStr := ""
 			for netID, netRoleMap := range data.NetworkRoles {
@@ -95,7 +99,11 @@ var userGroupGetCmd = &cobra.Command{
 				}
 				roleInfoStr += fmt.Sprintf("[%s]: %s", netID, strings.Join(roleList, ","))
 			}
-			e := []string{data.ID.String(), data.MetaData, roleInfoStr}
+			colorCode := data.ColorCode
+			if colorCode == "" {
+				colorCode = "N/A"
+			}
+			e := []string{data.ID.String(), data.Name, colorCode, data.MetaData, roleInfoStr}
 			table.Append(e)
 			table.Render()
 		}

+ 1 - 0
models/user_mgmt.go

@@ -151,6 +151,7 @@ type UserGroup struct {
 	Name                       string                                `json:"name"`
 	NetworkRoles               map[NetworkID]map[UserRoleID]struct{} `json:"network_roles"`
 	MetaData                   string                                `json:"meta_data"`
+	ColorCode                  string                                `json:"color_code"`
 }
 
 // User struct - struct for Users

+ 4 - 0
pro/logic/user_mgmt.go

@@ -124,6 +124,7 @@ func UserGroupsInit() {
 		Default:  true,
 		Name:     "All Networks Admin Group",
 		MetaData: "can manage configuration of all networks",
+		ColorCode: "yellow",
 		NetworkRoles: map[models.NetworkID]map[models.UserRoleID]struct{}{
 			models.AllNetworks: {
 				globalNetworksAdminRoleID: {},
@@ -134,6 +135,7 @@ func UserGroupsInit() {
 		ID:      globalNetworksUserGroupID,
 		Name:    "All Networks User Group",
 		Default: true,
+		ColorCode: "indigo",
 		NetworkRoles: map[models.NetworkID]map[models.UserRoleID]struct{}{
 			models.AllNetworks: {
 				globalNetworksUserRoleID: {},
@@ -227,6 +229,7 @@ func CreateDefaultNetworkRolesAndGroups(netID models.NetworkID) {
 		ID:      GetDefaultNetworkAdminGroupID(netID),
 		Name:    fmt.Sprintf("%s Admin Group", netID),
 		Default: true,
+		ColorCode: "yellow"
 		NetworkRoles: map[models.NetworkID]map[models.UserRoleID]struct{}{
 			netID: {
 				GetDefaultNetworkAdminRoleID(netID): {},
@@ -238,6 +241,7 @@ func CreateDefaultNetworkRolesAndGroups(netID models.NetworkID) {
 		ID:      GetDefaultNetworkUserGroupID(netID),
 		Name:    fmt.Sprintf("%s User Group", netID),
 		Default: true,
+		ColorCode: "indigo",
 		NetworkRoles: map[models.NetworkID]map[models.UserRoleID]struct{}{
 			netID: {
 				GetDefaultNetworkUserRoleID(netID): {},