Пример #1
0
        public async Task <IEnumerable <string> > GetBranchNamesAsync(string url)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl = StoreUrlEncoder.Encode(url);

            return(await client.GetFromJsonAsync <IEnumerable <string> >($"api/branch/v1?url={encodedUrl}"));
        }
Пример #2
0
        public async Task <string> GetInstallUrlAsync(string url)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl = StoreUrlEncoder.Encode(url);

            return(await client.GetStringAsync($"api/github/v1/install-url?url={encodedUrl}"));
        }
Пример #3
0
        public async Task <string?> ReadStringFileAsync(string url, string path)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl  = StoreUrlEncoder.Encode(url);
            string encodedPath = StoreUrlEncoder.Encode(path);

            return(await client.GetStringAsync($"api/store/v1?url={encodedUrl}&path={encodedPath}"));
        }
Пример #4
0
        public async Task <IEnumerable <string> > SearchAsync(string url, string query)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl   = StoreUrlEncoder.Encode(url);
            string encodedQuery = HttpUtility.UrlEncode(query);

            return(await client.GetFromJsonAsync <IEnumerable <string> >($"api/store/v1/search?url={encodedUrl}&query={encodedQuery}"));
        }
Пример #5
0
        public async Task DeleteFileAsync(string url, string path)
        {
            _log.LogInformation($"# Delete : {path}");
            var client = _clientFactory.CreateClient("default");

            string encodedUrl  = StoreUrlEncoder.Encode(url);
            string encodedPath = StoreUrlEncoder.Encode(path);

            await client.DeleteAsync($"api/store/v1?url={encodedUrl}&path={encodedPath}");
        }
Пример #6
0
        public async Task WriteStringFileAsync(string url, string path, string contents)
        {
            var client = _clientFactory.CreateClient("default");

            var command = new
            {
                Url      = StoreUrlEncoder.Encode(url),
                Path     = StoreUrlEncoder.Encode(path),
                Contents = contents
            };

            await client.PutAsJsonAsync("api/store/v1", command);
        }
Пример #7
0
        public async Task PutAsync(StorePutCommand command)
        {
            string decodedUrl  = StoreUrlEncoder.Decode(command.Url);
            string decodedPath = StoreUrlEncoder.Decode(command.Path);

            var store = _storeFactory.Create(decodedUrl);

            if (store == null)
            {
                _logger.LogWarning("No store match for put {0}", decodedUrl);
                throw new NotFoundException("Protocol not registered", decodedUrl);
            }
            await store.WriteStringFileAsync(decodedUrl, decodedPath, command.Contents);
        }
Пример #8
0
        public async Task DeleteAsync(string url, string path)
        {
            string decodedUrl  = StoreUrlEncoder.Decode(url);
            string decodedPath = StoreUrlEncoder.Decode(path);

            var store = _storeFactory.Create(decodedUrl);

            if (store == null)
            {
                _logger.LogWarning("No store match for put {0}", decodedUrl);
                throw new NotFoundException("Protocol not registered", decodedUrl);
            }
            await store.DeleteFileAsync(decodedUrl, decodedPath);
        }
Пример #9
0
        public async Task CreatePullRequestAsync(string url, string name, string targetName)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl = StoreUrlEncoder.Encode(url);

            var request = new
            {
                Url        = encodedUrl,
                Name       = name,
                TargetName = targetName
            };

            await client.PostAsJsonAsync("api/branch/v1/pull-request", request);
        }
Пример #10
0
        public async Task <string?> GetAsync(string url, string path)
        {
            string decodedUrl  = StoreUrlEncoder.Decode(url);
            string decodedPath = StoreUrlEncoder.Decode(path);

            // TODO: User context for repository ID & login
            var store = _storeFactory.Create(decodedUrl);

            if (store == null)
            {
                _logger.LogWarning("No store match for get {0}", decodedUrl);
                throw new NotFoundException("Protocol not registered", decodedUrl);
            }
            return(await store.ReadStringFileAsync(decodedUrl, decodedPath));
        }
Пример #11
0
        public async Task <bool> CreateBranchAsync(string url, string name, string sourceName)
        {
            var client = _clientFactory.CreateClient("default");

            string encodedUrl = StoreUrlEncoder.Encode(url);

            var request = new
            {
                Url        = encodedUrl,
                Name       = name,
                SourceName = sourceName
            };

            var response = await client.PostAsJsonAsync("api/branch/v1/create", request);

            return(response.IsSuccessStatusCode);
        }
Пример #12
0
        public async Task <IEnumerable <string> > SearchAsync([FromServices] ISearchRepositoryQuery searchQuery, string url, string extension)
        {
            string decodedUrl = StoreUrlEncoder.Decode(url);

            return(await searchQuery.SearchAsync(decodedUrl, extension));
        }
Пример #13
0
        public async Task CreatePullRequestAsync(CreatePullRequestCommand command)
        {
            string decodedUrl = StoreUrlEncoder.Decode(command.Url);

            await _service.CreatePullRequestAsync(decodedUrl, command.Name, command.TargetName);
        }
Пример #14
0
        public async Task CreateAsync(BranchCreateCommand command)
        {
            string decodedUrl = StoreUrlEncoder.Decode(command.Url);

            await _service.CreateBranchAsync(decodedUrl, command.Name, command.SourceName);
        }
Пример #15
0
        public async Task <IEnumerable <string> > GetNamesAsync(string url)
        {
            string decodedUrl = StoreUrlEncoder.Decode(url);

            return(await _service.GetBranchNamesAsync(decodedUrl));
        }