public ProjectService( IPipelineRepository pipelineRepository, IProjectRepository projectRepository, IValidationService validationService, ICiDataProviderFactory ciDataProviderFactory, ICronJobsManager cronJobsManager, IPanelRepository panelRepository, IStaticBranchPanelRepository staticBranchPanelRepository, IConfiguration configuration, ILogger <ProjectService> logger, IStageRepository stageRepository, IJobRepository jobRepository) { _ciDataProviderFactory = ciDataProviderFactory; _cronJobsManager = cronJobsManager; _validationService = validationService; _projectRepository = projectRepository; _pipelineRepository = pipelineRepository; _panelRepository = panelRepository; _staticBranchPanelRepository = staticBranchPanelRepository; _configuration = configuration; _logger = logger; _stageRepository = stageRepository; _jobRepository = jobRepository; }
public CreateProjectValidator(ICiDataProviderFactory factory) { ValidateTitle(); ValidateApiHostUrl(); ValidateApiProjectId(); ValidateApiAuthenticationToken(); ValidateDataProviderName(); ValidateCiDataUpdateCronExpression(); ValidateApiCredentials(factory); }
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); } }
protected void ValidateApiCredentials(ICiDataProviderFactory factory) { RuleFor(p => p.ApiHostUrl) .MustAsync((project, hostUrl, ct) => TestApiCredentials(project, hostUrl, factory)) .WithMessage("Can't access secured API endpoint with these credentials"); }
public DashboardDataController(IProjectService projectService, ICiDataProviderFactory ciDataProviderFactory, IPanelRepository panelRepository) { _projectService = projectService; _ciDataProviderFactory = ciDataProviderFactory; _panelRepository = panelRepository; }