Exemple #1
0
        private static IUsersApiClient GenerateUsersApiClient(ILogger logger, StaticHttpClientFactory httpClientFactory, EnvironmentConfiguration environmentConfiguration)
        {
            Func <HttpClient> httpClientFunc = new Func <HttpClient>(() =>
            {
                HttpClient httpClient = new HttpClient();
                httpClient.Timeout    = new TimeSpan(0, 10, 0);

                SetDefaultApiOptions(httpClient, new ApiClientConfigurationOptions()
                {
                    ApiEndpoint = environmentConfiguration.UsersBaseUrl,
                    ApiKey      = environmentConfiguration.ApiKey,
                });

                return(httpClient);
            });

            httpClientFactory.AddClient(HttpClientKeys.Users, httpClientFunc);

            return(new UsersApiClient(httpClientFactory, logger, null));
        }
Exemple #2
0
        public async Task ApplyPermissions(UserPermission userPermission)
        {
            List <UserPermission> userPermissions = new List <UserPermission>()
            {
                userPermission
            };

            StaticHttpClientFactory httpClientFactory = new StaticHttpClientFactory();
            IUsersApiClient         usersClient       = GenerateUsersApiClient(logger, httpClientFactory, environmentConfiguration);

            PermissionService permissionService = new PermissionService(usersClient, logger);
            var result = await permissionService.ApplyPermissions(userPermissions);

            var failedRequests = result.Values.Where(r => r.StatusCode != System.Net.HttpStatusCode.OK);

            if (failedRequests.Any())
            {
                throw new Exception($"Failed to Set Permissions on {failedRequests.Count()} Users");
            }
        }