public async Task HandleAsync(SelfHostBuiltMessage ev) { var build = await _buildsRepository.FindAsync(ev.BuildId); if (build == null) { Logger.Warn($"Build {ev.BuildId} is not found"); return; } build.MarkBuilt(ev.DownloadLink); await _buildsRepository.UnitOfWork.SaveChangesAsync(); }
public async Task <string> FindDownloadLinkAsync(long projectId) { var build = await _buildsRepository.FindAsync(projectId) ?? throw new EntityNotFoundException("Project build not found"); if (build.Status != BuildStatus.Built) { throw new BusinessLogicException("Project build is not ready for downloading"); } return(build.LinkToDownload); }
public async Task <Unit> Handle(RetryBuildProjectCmd request, CancellationToken cancellationToken) { var build = await _buildsRepository.FindAsync(request.BuildId); build.SetLastUpdate(); await _buildsRepository.UnitOfWork.SaveChangesAsync(cancellationToken); if (request.Type == BuildType.SelfHost) { await _mediator.Publish(new MqEventNotification(new RequiresSelfHostBuildingMessage { BuildId = request.BuildId, SelfHostConfiguration = build.SelfHostConfiguration.Value }), cancellationToken); } return(Unit.Value); }
public async Task Process(RetryBuildProjectCmd request, CancellationToken cancellationToken) { await CheckAsync(await _buildsRepository.FindAsync(request.BuildId), cancellationToken); }