export default class User {
constructor(apiUrl) {
this.apiUrl = apiUrl;
}
async fetchUsers() {
try {
const response = await fetch(`${this.apiUrl}Usuarios.php`);
const data = await response.json();
console.log('Usuários recuperados:', data.usuarios);
return data.usuarios;
} catch (error) {
console.error('Erro ao buscar usuários:', error);
return [];
}
}
async cadastrarUsuario(usuario) {
try {
const usuarioComAcao = {
...usuario,
acao: 'cadastrar'
};
const response = await fetch(`${this.apiUrl}Usuarios.php`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(usuarioComAcao),
});
const data = await response.json();
if(data.status){
console.log('Usuário cadastrado:', data);
return data.status
}else{
alert(data.message)
}
} catch (error) {
console.error('Erro ao cadastrar usuário:', error);
}
};
async buscarFaces() {
try {
const response = await fetch(`${this.apiUrl}Usuarios.php`);
const data = await response.json();
console.log('Usuários recuperados:', data.usuarios);
return data.usuarios;
} catch (error) {
console.error('Erro ao buscar usuários:', error);
return [];
}
};
async buscarUsuariosRelatorio(){
try {
const response = await fetch(`${this.apiUrl}Usuarios.php?relatorio=1`);
const data = await response.json();
console.log('Usuários recuperados:', data.usuarios);
return data.usuarios;
} catch (error) {
console.error('Erro ao buscar usuários:', error);
return [];
}
};
async excluirUsuario (id){
try {
const response = await fetch(`${this.apiUrl}Usuarios.php?id=${id}`, {
method: 'DELETE',
});
const data = await response.json();
console.log('Usuário excluído:', data);
} catch (error) {
console.error('Erro ao excluir usuário:', error);
}
};
async render() {
const users = await this.buscarUsuariosRelatorio();
const container = document.createElement('div');
container.className = 'container';
const title = document.createElement('h1');
title.textContent = 'Usuários Cadastrados';
container.appendChild(title);
const userList = document.createElement('ul');
users.forEach(usuario => {
const userItem = document.createElement('li');
userItem.textContent = `${usuario.nome} (Registro: ${usuario.registro}) `;
const deleteButton = document.createElement('button');
deleteButton.textContent = 'Excluir';
deleteButton.onclick = () => this.confirmarExclusao(usuario);
userItem.appendChild(deleteButton);
userList.appendChild(userItem);
});
container.appendChild(userList);
return container;
}
async confirmarExclusao(usuario) {
if (confirm(`Tem certeza que deseja excluir o usuário ${usuario.nome}?`)) {
await this.excluirUsuario(usuario.id);
document.getElementById('main-container').innerHTML = '';
document.getElementById('main-container').appendChild(await this.render());
}
}
}
|