public async Task <Response <IOcelotConfiguration> > Get() { var repoConfig = _repo.Get(); if (repoConfig.IsError) { return(new ErrorResponse <IOcelotConfiguration>(repoConfig.Errors)); } if (repoConfig.Data == null) { var creatorConfig = await _creator.Create(); if (creatorConfig.IsError) { return(new ErrorResponse <IOcelotConfiguration>(creatorConfig.Errors)); } _repo.AddOrReplace(creatorConfig.Data); return(new OkResponse <IOcelotConfiguration>(creatorConfig.Data)); } return(new OkResponse <IOcelotConfiguration>(repoConfig.Data)); }
public async Task <Response> Set(FileConfiguration fileConfig) { var response = _repo.Set(fileConfig); if (response.IsError) { return(new ErrorResponse(response.Errors)); } var config = await _configCreator.Create(fileConfig); if (!config.IsError) { _configRepo.AddOrReplace(config.Data); } return(new ErrorResponse(config.Errors)); }