async getProjects()

in src/app/teamcity/teamcity-service.js [9:28]


  async getProjects(teamcityService) {
    const [projectResponse, buildTypeResponse] = await Promise.all([
      this._fetchTeamcity(teamcityService, 'projects', {
        locator: 'archived:false',
        fields: 'project(id,name,parentProjectId,archived)'
      }),
      this._fetchTeamcity(teamcityService, 'buildTypes', {
        fields: 'buildType(id,name,projectId)'
      })
    ]);

    const projects = projectResponse.project.filter(it => it.id !== '_Root');
    const buildTypes = buildTypeResponse.buildType;

    const projectMap = {};
    projects.forEach(it => (projectMap[it.id] = it));

    const roots = TeamcityService._buildTree(projects, projectMap, buildTypes);
    return TeamcityService._flattenTree(roots);
  }