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));
        }
Exemple #2
0
        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));
        }