public FoodMarkerService(RepositoryPayload repoPayload, IMapper mapper) { _repo = repoPayload.GetFoodMarkerRepository(); _completeFoodDataRepo = repoPayload.GetCompleteFoodDataRepository(); _mapper = mapper; }
public PhotoService(RepositoryPayload repoPayload, IMapper mapper) { _repoImageMeta = repoPayload.GetFoodMarkerImageRepository(); _repoImageFile = repoPayload.GetFileRepository(); _mapper = mapper; }
public ManualUploadController(RepositoryPayload repoPayload) { _repoImageMeta = repoPayload.GetFoodMarkerImageRepository(); _repoImageFile = repoPayload.GetFileRepository(); _repoFoodMarker = repoPayload.GetFoodMarkerRepository(); _repoFoodCategory = repoPayload.GetFoodCategoryRepository(); _repoRestaurant = repoPayload.GetRestaurantRepository(); }
public async Task Repository(DateTimeOffset eventDate, RepositoryPayload payload) { var updater = new DataUpdater(_contextFactory, _mapper); switch (payload.Action) { case "created": case "publicized": case "privatized": case "archived": case "unarchived": await updater.UpdateRepositories(eventDate, new[] { payload.Repository }); break; case "deleted": { // Sync contributors on deletion try { // Use the account links before we delete them var repoActor = _grainFactory.GetGrain <IRepositoryActor>(payload.Repository.Id); await repoActor.ForceSyncAllLinkedAccountRepositories(); } catch (InvalidOperationException) { // If the repo has already been deleted it can't be activated. } catch (OrleansException) { // If the repo has already been deleted it can't be activated. } // Now delete await updater.DeleteRepository(payload.Repository.Id); } break; default: throw new NotImplementedException($"Action '{payload.Action}' is not valid for event {nameof(Repository)}."); } // Sync org members on both creation and deletion if (payload.Action == "created" || payload.Action == "deleted") { if (payload.Repository.Owner.Type == GitHubAccountType.Organization) { var orgActor = _grainFactory.GetGrain <IOrganizationActor>(payload.Repository.Owner.Id); orgActor.ForceSyncAllMemberRepositories().LogFailure(); // Best effort only } } await updater.Changes.Submit(_queueClient); }
public async Task <IActionResult> Payload([FromBody] RepositoryPayload payload) { var repository = await _dbContext.DockerRepositories.FirstOrDefaultAsync( x => x.Repository == payload.Repository.Repo_Full_Name); if (repository != null) { if (payload.Push_Data.Tag == "latest") { _logger.LogWarning($"忽略仓库 {payload.Repository.Repo_Full_Name} 的 latest 版本镜像"); return(Ok()); } var image = $"{repository.Registry}/{payload.Repository.Repo_Full_Name}:{payload.Push_Data.Tag}"; if (!await _dbContext.DockerImages.AnyAsync(x => x.Image == image)) { _dbContext.DockerImages.Add(new DockerImage { Image = image, CreationTime = DateTime.Now, RepositoryId = repository.Id }); await _dbContext.SaveChangesAsync(); _logger.LogInformation($"镜像 {image} 添加成功"); } else { _logger.LogInformation($"镜像 {image} 已经存在"); } } else { _logger.LogWarning($"仓库 {payload.Repository.Repo_Full_Name} 未配置"); } return(Ok()); }
public UserService(RepositoryPayload repo, IMapper mapper) { _mapper = mapper; _repo = repo.GetUserDataRepository(); }
public FoodCategoryService(RepositoryPayload repoPayload, IMapper mapper) { _repo = repoPayload.GetFoodCategoryRepository(); _mapper = mapper; }
public RestaurantService(RepositoryPayload repoPayload, IMapper mapper) { _repo = repoPayload.GetRestaurantRepository(); _mapper = mapper; }