Skip to content

Gerenciando Usuários

João Victor Oliveira edited this page Jan 18, 2025 · 2 revisions

Gerenciando Usuários

O gerenciando de usuários é simples, bastando você utilizando este código inicial:

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
    }
}

Listando Usuários

Para listar todos os usuários, você precisará chamar a função "listUsers", que retorna um CompletableFuture, do tipo lista de usuários.

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
        CompletableFuture<List<User>> users = userManager.listUsers();
        users.thenAccept(usersList -> usersList.forEach(user -> System.out.println("The user: " + user.getUsername() + " is present"))).exceptionally(throwable -> {
            throw new RuntimeException(throwable);
        });
    }
}

Pegando um Usuário

Para pegar as informações de um usário, você precisará chamar a função "getUser", que retorna um CompletableFuture, do tipo User.

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
        CompletableFuture<User> completableFuture = userManager.getUser(1L);
        completableFuture.thenAccept(user -> System.out.println(user.getUsername())).exceptionally(throwable -> {
            throw new RuntimeException(throwable);
        });
    }
}

Atualizando um Usuário

Para atualizar as informações de um usuário, você precisará chamar a função "updateUser", passando um object user atualizado, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
        CompletableFuture<User> completableFuture = userManager.getUser(1L);
        completableFuture.thenAccept(user -> {
            user.setUsername("New UserName");
            CompletableFuture<JSONObject> completableFutureResponse = userManager.updateUser(user);
            completableFutureResponse.thenAccept(System.out::println).exceptionally(throwable -> {
                throw new RuntimeException(throwable);
            });
        }).exceptionally(throwable -> {
            throw new RuntimeException(throwable);
        });
    }
}

Criando um usuário

Para criar um usuário, você precisará chamar a função "createUser", passando o builder de usuário, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.

⚠️ATENÇÃO

Ao criar um builder, lembre-se de setar o valor em todos os parametros, pois, caso deixe algum nulo, poderá resultar em execessões.

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
        UserBuilder builder = new UserBuilder().appendEmail("[email protected]")
                .appendUsername("example")
                .appendFirstName("john")
                .appendLastName("doe");
        CompletableFuture<JSONObject> completableFuture = userManager.createUser(builder);
        completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
            throw new RuntimeException(throwable);
        });
    }
}

Deletando um usuário

Para deletar um usuário, você precisará chamar a função "deleteUser", passando o ID do usuário, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.

public class Main {
    public static void main(String[] args) {
        PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
        UserManager userManager = PteroAPI.getManager(UserManager.class);
        CompletableFuture<JSONObject> completableFuture = userManager.deleteUser(1L);
        completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
            throw new RuntimeException(throwable);
        });
    }
}