Răsfoiți Sursa

add user as admin when creating project

Mohammed Nafees 3 ani în urmă
părinte
comite
3a4776c977

+ 9 - 1
api/server/handlers/project/create.go

@@ -147,7 +147,7 @@ func createDefaultProjectRoles(projectID, userID uint, repo repository.Repositor
 			return err
 		}
 
-		_, err = repo.ProjectRole().CreateProjectRole(&models.ProjectRole{
+		role, err := repo.ProjectRole().CreateProjectRole(&models.ProjectRole{
 			UniqueID:  fmt.Sprintf("%d-%s", projectID, kind),
 			ProjectID: projectID,
 			PolicyUID: policy.UniqueID,
@@ -157,6 +157,14 @@ func createDefaultProjectRoles(projectID, userID uint, repo repository.Repositor
 		if err != nil {
 			return err
 		}
+
+		if kind == types.RoleAdmin {
+			err := repo.ProjectRole().UpdateUsersInProjectRole(projectID, role.UniqueID, []uint{userID})
+
+			if err != nil {
+				return err
+			}
+		}
 	}
 
 	return nil

+ 1 - 1
internal/repository/gorm/project_role.go

@@ -48,7 +48,7 @@ func (repo *ProjectRoleRepository) ListProjectRoles(projectID uint) ([]*models.P
 func (repo *ProjectRoleRepository) ListAllRolesForUser(projectID, userID uint) ([]*models.ProjectRole, error) {
 	projectRoles := []*models.ProjectRole{}
 
-	if err := repo.db.Where("project_id = ?", userID).Find(&projectRoles).Error; err != nil {
+	if err := repo.db.Where("project_id = ?", projectID).Find(&projectRoles).Error; err != nil {
 		return nil, err
 	}