// Importa o cliente Dinamo HSM
const { hsm } = require("@dinamonetworks/hsm-dinamo");

// Define os parâmetros de conexão com o HSM
const options = {
host: "127.0.0.1",
authUsernamePassword: {
username: "master",
password: "12345678",
},
};

async function createNewUser() {
// Connecta ao HSM
const conn = await hsm.connect(options);

// ID do usuário
const userId = "myUser";

// Senha do usuário
const userPassword = "12345678";

// Permissões do usuário. Veja mais na documentação
const userPermissions = [
hsm.enums.USER_PERMISSIONS.USR_LIST, // Listar usuários
hsm.enums.USER_PERMISSIONS.USR_CREATE, // Criar usuários
hsm.enums.USER_PERMISSIONS.USR_DELETE, // Deletar usuários
hsm.enums.USER_PERMISSIONS.USR_REMOTE_LOG, // Log remoto
];

// Cria o novo usuário
const created = await conn.user.create(userId, userPassword, userPermissions);

// Verifica se o usuário foi criado
if (created) {
console.log(`User "${userId}" created successfull`);
} else {
console.log("User not created");
}

// Desconecta do HSM
await conn.disconnect();
}

// Execute a função createNewUser
createNewUser();