Jelajahi Sumber

fix groups and user creation

abhishek9686 1 tahun lalu
induk
melakukan
c0311d1b98
3 mengubah file dengan 7 tambahan dan 6 penghapusan
  1. 1 0
      controllers/user.go
  2. 3 3
      logic/user_mgmt.go
  3. 3 3
      models/user_mgmt.go

+ 1 - 0
controllers/user.go

@@ -681,6 +681,7 @@ func createUser(w http.ResponseWriter, r *http.Request) {
 			return
 		}
 		uniqueGroupsPlatformRole[userG.PlatformRole] = struct{}{}
+		user.PlatformRoleID = userG.PlatformRole
 	}
 	if len(uniqueGroupsPlatformRole) > 1 {
 		err = errors.New("only groups with same platform role can be assigned to an user")

+ 3 - 3
logic/user_mgmt.go

@@ -83,7 +83,7 @@ func UserRolesInit() {
 // ListRoles - lists user roles permission templates
 func ListRoles() ([]models.UserRolePermissionTemplate, error) {
 	data, err := database.FetchRecords(database.USER_PERMISSIONS_TABLE_NAME)
-	if err != nil {
+	if err != nil && !database.IsEmptyRecord(err) {
 		return []models.UserRolePermissionTemplate{}, err
 	}
 	userRoles := []models.UserRolePermissionTemplate{}
@@ -284,7 +284,7 @@ func CreateUserGroup(g models.UserGroup) error {
 // GetUserGroup - fetches user group
 func GetUserGroup(gid models.UserGroupID) (models.UserGroup, error) {
 	d, err := database.FetchRecord(database.USER_GROUPS_TABLE_NAME, gid.String())
-	if err == nil {
+	if err != nil {
 		return models.UserGroup{}, err
 	}
 	var ug models.UserGroup
@@ -298,7 +298,7 @@ func GetUserGroup(gid models.UserGroupID) (models.UserGroup, error) {
 // ListUserGroups - lists user groups
 func ListUserGroups() ([]models.UserGroup, error) {
 	data, err := database.FetchRecords(database.USER_GROUPS_TABLE_NAME)
-	if err != nil {
+	if err != nil && !database.IsEmptyRecord(err) {
 		return []models.UserGroup{}, err
 	}
 	userGroups := []models.UserGroup{}

+ 3 - 3
models/user_mgmt.go

@@ -113,9 +113,9 @@ type UserGroup struct {
 type User struct {
 	UserName       string                              `json:"username" bson:"username" validate:"min=3,max=40,in_charset|email"`
 	Password       string                              `json:"password" bson:"password" validate:"required,min=5"`
-	IsAdmin        bool                                `json:"isadmin" bson:"isadmin"`
-	IsSuperAdmin   bool                                `json:"issuperadmin"`
-	RemoteGwIDs    map[string]struct{}                 `json:"remote_gw_ids"` // deprecated
+	IsAdmin        bool                                `json:"isadmin" bson:"isadmin"` // deprecated
+	IsSuperAdmin   bool                                `json:"issuperadmin"`           // deprecated
+	RemoteGwIDs    map[string]struct{}                 `json:"remote_gw_ids"`          // deprecated
 	UserGroups     map[UserGroupID]struct{}            `json:"user_group_ids"`
 	PlatformRoleID UserRole                            `json:"platform_role_id"`
 	NetworkRoles   map[NetworkID]map[UserRole]struct{} `json:"network_roles"`