/// <summary> /// Returns all branches (names) from web directly. Slow, but always updated and not so often used /// </summary> /// <param name="projectId"></param> /// <returns></returns> public async Task <IEnumerable <string> > SearchForBranchInProject(int projectId, string searchValue) { var project = await GetProjectByIdAsync(projectId); if (project == null) { return(null); } //TODO: Refactor so this method returns error string and piplines, some validation, maybe move to CiDataService? var dataProvider = _ciDataProviderFactory.CreateForProviderName(project.DataProviderName); var r = await dataProvider.SearchBranchInProject(project.ApiHostUrl, project.ApiAuthenticationToken, project.ApiProjectId, searchValue); return(r); }
private async Task <bool> TestApiCredentials(Project project, string apiHostUrl, ICiDataProviderFactory factory) { var provider = factory.CreateForProviderName(project.DataProviderName); try { var result = await provider.TestApiCredentials(project.ApiHostUrl, project.ApiAuthenticationToken); return(result); } catch (Exception) { return(false); } }