Пример #1
0
        public async Task <IActionResult> GetAzureTableConnStringsAsync()
        {
            try
            {
                var keyValues = await _keyValuesRepository.GetAsync(x => x.Types != null && x.Types.Contains(KeyValueTypes.AzureTableStorage));

                var tableConnStrList = keyValues.Select(x => x.Value).Distinct();

                return(new JsonResult(tableConnStrList));
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return(null);
            }
        }
Пример #2
0
        public async Task <string> RepositoryFile(string repositoryName, string tag, string fileName)
        {
            try
            {
                var repositories = await _repositoriesRepository.GetAllAsync();

                var repositoryEntity = repositories.FirstOrDefault(x =>
                                                                   x.OriginalName == repositoryName &&
                                                                   tag == "" || x.Tag == tag &&
                                                                   x.FileName == fileName &&
                                                                   (fileName.Contains("_git_") ? x.GitUrl.Contains("github.com") : x.FileName.Contains("_bb_")));
                if (repositoryEntity == null)
                {
                    return(null);
                }

                await _connectionUrlHistoryRepository.SaveConnectionUrlHistoryAsync(
                    repositoryEntity.RepositoryId,
                    UserInfo.Ip,
                    Request.Headers["User-Agent"].FirstOrDefault());

                var repository = await _repositoriesRepository.GetAsync(repositoryEntity.RepositoryId);

                if (repository == null)
                {
                    return("Repository not found");
                }

                var correctFileName = repository.UseManualSettings ? MANUAL_FILE_PREFIX + fileName : fileName;

                var jsonData = await _repositoryDataRepository.GetDataAsync(correctFileName);

                var keyValues = await _keyValuesRepository.GetAsync();

                var servTokens = await _serviceTokensRepository.GetAllAsync();

                jsonData = jsonData.SubstituteServiceTokens(servTokens);
                var network = await _networkRepository.GetByIpAsync(UserInfo.Ip);

                var repositoryVersionSeparator = "-";
                jsonData = jsonData.Substitute(
                    keyValues,
                    network?.Id,
                    repositoryVersion: !string.IsNullOrEmpty(repository.Tag)
                        ? repository.Tag + repositoryVersionSeparator
                        : string.Empty);
                //TODO: do we need this?
                jsonData = jsonData.Replace(@"\/", @"/");

                return(jsonData);
            }
            catch (Exception ex)
            {
                var data = new { repositoryName, tag, fileName };
                _log.Error(ex, context: data);
                return(string.Empty);
            }
        }
Пример #3
0
        public async Task <IKeyValueEntity> Get(string id)
        {
            try
            {
                var keyValues = await _keyValuesRepository.GetAsync(x => x.RowKey == id);

                return(keyValues.FirstOrDefault());
            }
            catch (Exception ex)
            {
                _log.Error(ex, context: id);
                return(new KeyValueEntity());
            }
        }
        private async Task <bool> TestKeyValuesRepository(StringBuilder sb)
        {
            try
            {
                await _keyValuesRepository.GetAsync();
            }
            catch (Exception e)
            {
                AddError(sb, $"The 'KeyValuesRepository' throws an error {e}.");
                return(true);
            }

            AddText(sb, "The 'KeyValuesRepository' checked.");
            return(true);
        }