コード例 #1
0
        public async Task TestChangeUserRole()
        {
            var userNew = new UserNew().SetDefaults();

            userNew.Password = "******";
            userNew.Role     = Role.User;
            userNew.Username = "******" + new Guid().ToString();

            var createUserRequest  = new CreateUserRequest(userNew);
            var createUserResponse = await SkyManager.ApiClient.ExecuteRequestAsync(createUserRequest);

            var userId = createUserResponse.Content.Id;

            var userRoleChange = new ChangeUserRoleBody().SetDefaults();

            userRoleChange.Role = Role.Manager;

            Assert.NotNull(userRoleChange.ToJson());
            Assert.NotNull(userRoleChange.ToString());
            await SkyManager.ApiClient.ExecuteRequestAsync(new ChangeUserRoleRequest(userRoleChange, userId));

            var getUserResponse = await SkyManager.ApiClient.ExecuteRequestAsync(new GetUserRequest(userId));

            Assert.Equal(Role.Manager, getUserResponse.Content.Role);

            await SkyManager.ApiClient.ExecuteRequestAsync(new DeleteUserRequest(userId));
        }
コード例 #2
0
        static async Task ChangeUserRole(string userId, Role role)
        {
            //@skydocs.start(users.updaterole)
            //This is the body of information for updating the user role
            var updateUserRoleBody = new ChangeUserRoleBody {
                Role = role
            };

            //Create an API request for updating a user
            var updateUserRoleRequest = new Skylight.Api.Authentication.V1.UsersRequests.ChangeUserRoleRequest(updateUserRoleBody, userId);

            //Execute the API request
            var result = await SkyManager.ApiClient.ExecuteRequestAsync(updateUserRoleRequest);

            //Handle the resulting status code appropriately
            switch (result.StatusCode)
            {
            case System.Net.HttpStatusCode.Forbidden:
                Console.Error.WriteLine("Error updating user role: Permission forbidden.");
                break;

            case System.Net.HttpStatusCode.NotFound:
                Console.Error.WriteLine("Error updating user role: User not found.");
                break;

            case System.Net.HttpStatusCode.Unauthorized:
                Console.Error.WriteLine("Error updating user role: Method call was unauthenticated.");
                break;

            case System.Net.HttpStatusCode.NoContent:
                Console.WriteLine("User role successfully updated.");
                break;

            default:
                Console.Error.WriteLine("Unhandled user role update status code: " + result.StatusCode);
                break;
            }
            //@skydocs.end()
        }