예제 #1
0
        /// <summary>
        /// Gets commits from specified branch in specified repository.
        /// </summary>
        /// <param name="repository">The repository data.</param>
        /// <param name="branch">The branch data.</param>
        /// <returns>ClientResponse instance with collections of commits.</returns>
        public async Task <ClientResponse <IEnumerable <Commit> > > GetBranchCommits(BasicRepositoryData repository, Branch branch)
        {
            if (repository == null || branch == null)
            {
                var clientResponse = new ClientResponse <IEnumerable <Commit> >()
                {
                    Message = MessagesHelper.EmptyDataMessage,
                    Status  = OperationStatus.EmptyData
                };
                return(clientResponse);
            }

            return(await this.GetBranchCommits(repository.Owner.Login, repository.Name, branch.Name));
        }
예제 #2
0
        /// <summary>
        /// Gets branches list of specified repository.
        /// </summary>
        /// <param name="repositoryData">The data of repository.</param>
        /// <returns>ClientResponse instance with collection of branches.</returns>
        public async Task <ClientResponse <IEnumerable <Branch> > > GetBranchList(BasicRepositoryData repositoryData)
        {
            if (repositoryData == null)
            {
                var clientResponse = new ClientResponse <IEnumerable <Branch> >
                {
                    Message = MessagesHelper.EmptyDataMessage,
                    Status  = OperationStatus.EmptyData
                };
                return(clientResponse);
            }

            return(await this.GetBranchList(repositoryData.Owner.Login, repositoryData.Name));
        }
예제 #3
0
        /// <summary>
        /// Get full repository data based on basic repository data.
        /// </summary>
        /// <param name="repositoryData">Basic repository data.</param>
        /// <returns>Full repository data of specified repository.</returns>
        public async Task <ClientResponse <FullRepositoryData> > GetFullRepositoryData(BasicRepositoryData repositoryData)
        {
            var url = $"/{UrlConstants.RepositoriesUrlPart}/{repositoryData.Owner.Login}/{repositoryData.Name}";
            HttpResponseMessage httpresponse = await this.requestSender.SendGetRequestToGitHubApiAsync(url);

            var clientresponse = new ClientResponse <FullRepositoryData>();

            return(await this.requestSender.ProcessHttpResponse <FullRepositoryData>(
                       httpresponse,
                       MessagesHelper.GenerateUserOrRepositoryNotFoundMessage(repositoryData.Owner.Login, repositoryData.Name)));
        }