Exemplo n.º 1
0
 public GetMicrosoftLearnContributorCount(AdvocateService advocateService,
                                          BlobStorageService blobStorageService,
                                          IGitHubApiStatusService gitHubApiStatusService,
                                          GitHubGraphQLApiService gitHubGraphQLApiService)
 {
     _advocateService         = advocateService;
     _blobStorageService      = blobStorageService;
     _gitHubApiStatusService  = gitHubApiStatusService;
     _gitHubGraphQLApiService = gitHubGraphQLApiService;
 }
Exemplo n.º 2
0
        public GetReadmeFunction(QueueClient queueClient,
                                 IHttpClientFactory httpClientFactory,
                                 GitHubRestApiService gitHubApiService,
                                 IGitHubApiStatusService gitHubApiStatusService,
                                 GitHubGraphQLApiService gitHubGraphQLApiService)
        {
            _httpClient = httpClientFactory.CreateClient();

            _cloudQueueClient        = queueClient;
            _gitHubRestApiService    = gitHubApiService;
            _gitHubApiStatusService  = gitHubApiStatusService;
            _gitHubGraphQLApiService = gitHubGraphQLApiService;
        }
        static async Task Main(string[] args)
        {
            var gitHubGraphQLApiService = new GitHubGraphQLApiService();
            var githubToken             = new GitHubToken(_token, "bearer");

            //Get All Repositories
            await foreach (var repositories in gitHubGraphQLApiService.GetRepositories("brminnick", githubToken, CancellationToken.None).ConfigureAwait(false))
            {
                foreach (var repository in repositories)
                {
                    System.Console.WriteLine(repository);
                }
            }

            //Get One Repository
            var gitTrendsRepository = await gitHubGraphQLApiService.GetRepository("brminnick", "GitTrends", githubToken, CancellationToken.None).ConfigureAwait(false);

            System.Console.WriteLine(gitTrendsRepository);
        }
Exemplo n.º 4
0
        protected static async Task AuthenticateUser(GitHubUserService gitHubUserService, GitHubGraphQLApiService gitHubGraphQLApiService)
        {
            var uiTestToken = await Mobile.Shared.AzureFunctionsApiService.GetUITestToken().ConfigureAwait(false);

            await gitHubUserService.SaveGitHubToken(uiTestToken).ConfigureAwait(false);

            var(login, name, avatarUri) = await gitHubGraphQLApiService.GetCurrentUserInfo(CancellationToken.None).ConfigureAwait(false);

            gitHubUserService.Alias     = login;
            gitHubUserService.Name      = name;
            gitHubUserService.AvatarUrl = avatarUri.ToString();
        }
 public GetGitHubReposFunction(GitHubGraphQLApiService gitHubGraphQLApiService) => _gitHubGraphQLApiService = gitHubGraphQLApiService;
 public OpenPullRequestFunction(GitHubRestApiService gitHubApiService, GitHubGraphQLApiService gitHubGraphQLApiService) =>
 (_gitHubRestApiService, _gitHubGraphQLApiService) = (gitHubApiService, gitHubGraphQLApiService);
Exemplo n.º 7
0
        protected static async Task AuthenticateUser(GitHubUserService gitHubUserService, GitHubGraphQLApiService gitHubGraphQLApiService)
        {
            var token = await Mobile.Common.AzureFunctionsApiService.GetTestToken().ConfigureAwait(false);

            if (token.IsEmpty() || string.IsNullOrWhiteSpace(token.AccessToken))
            {
                throw new Exception("Invalid Token");
            }

            await gitHubUserService.SaveGitHubToken(token).ConfigureAwait(false);

            var(login, name, avatarUri) = await gitHubGraphQLApiService.GetCurrentUserInfo(CancellationToken.None).ConfigureAwait(false);

            gitHubUserService.Alias     = login;
            gitHubUserService.Name      = name;
            gitHubUserService.AvatarUrl = avatarUri.ToString();
        }
        static async Task <AdovocatesTotalContributionsModel> GetTotalContributions(AdvocateService advocateService, GitHubGraphQLApiService gitHubGraphQLApiService, ILogger log, DateTime from, DateTime to, string?requestedTeam, CancellationToken cancellationToken)
        {
            int advocateCount = 0, advocateContributorCount = 0;
            var teamContributionCount = new SortedDictionary <string, int>();

            var currentAdvocates = await advocateService.GetCurrentAdvocates(cancellationToken).ConfigureAwait(false);

            foreach (var advocate in currentAdvocates)
            {
                if (requestedTeam is not null && advocate.Team != requestedTeam)
                {
                    continue;
                }

                log.LogInformation($"Found {advocate.Name}");
                advocateCount++;

                var microsoftDocsContributions = await gitHubGraphQLApiService.GetMicrosoftDocsContributionsCollection(advocate.GitHubUsername, from, to).ConfigureAwait(false);

                log.LogInformation($"Team: {advocate.Team}");
                if (!teamContributionCount.ContainsKey(advocate.Team))
                {
                    teamContributionCount.Add(advocate.Team, 0);
                }

                if (microsoftDocsContributions.TotalPullRequestContributions
                    + microsoftDocsContributions.TotalPullRequestReviewContributions
                    + microsoftDocsContributions.TotalCommitContributions > 0)
                {
                    log.LogInformation($"Total Contributions: {microsoftDocsContributions.TotalContributions}");
                    advocateContributorCount++;
                    teamContributionCount[advocate.Team]++;
                }
            }

            return(new AdovocatesTotalContributionsModel(advocateCount, advocateContributorCount, teamContributionCount));
        }