<?php
namespace App\Router;
use App\Controller\UsuarioController;
use App\Model\Usuarios;
use App\Controller\TokenController;
use App\Controller\PerfilController;
use App\Model\Perfis;
function addUsuarioRoutes($router) {
$router->mount('/Usuarios', function () use ($router) {
$router->get('/', function () {
$permitido = new TokenController();
$permitido->autorizado();
$usuario = new Usuarios();
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->listarUsuarios();
if(!$resultado){
echo json_encode(["status" => false, "Usuarios" => $resultado,"mensagem"=>"nenhum resultado encontrado"]);
exit;
}else{
echo json_encode(["status" => true, "Usuarios" => $resultado]);
exit;
}
});
$router->get('/([a-z0-9_-]+)', function ($id) {
$permitido = new TokenController();
$permitido->autorizado();
$usuario = new Usuarios();
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->buscarPorId($id);
if(!$resultado){
echo json_encode(["status" => false, "Usuarios" => $resultado,"mensagem"=>"nenhum resultado encontrado"]);
exit;
}else{
echo json_encode(["status" => true, "Usuario" => $resultado]);
exit;
}
});
$router->put('/', function () {
$permitido = new TokenController();
$permitido->autorizado();
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
$usuario->setId(0);
$usuario->setNome(0);
$usuario->setSenha(0);
$usuario->setPerfilId(0);
$usuario->setEmail($body['email']);
$usuario->setAtivo($body['chk']);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->bloquearPorEmail();
echo json_encode(['status' => $resultado]);
});
$router->put('/perfil', function () {
$permitido = new TokenController();
$permitido->autorizado();
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
$usuario->setId(0);
$usuario->setNome(0);
$usuario->setSenha(0);
$usuario->setPerfilId($body['perf']);
$usuario->setEmail($body['email']);
$usuario->setAtivo(0);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->AlterarPerfil();
echo json_encode(['status' => $resultado]);
});
$router->put('/trocasenha', function () {
$permitido = new TokenController();
$permitido->autorizado();
$body = json_decode(file_get_contents('php://input'), true);
$novasenha = $body['resenha'];
$usuario = new Usuarios();
$usuario->setId(0);
$usuario->setNome(0);
$usuario->setSenha($body['resenha']);
$usuario->setPerfilId(0);
$usuario->setEmail($body['email']);
$usuario->setAtivo(0);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->Alterarsenha($body['senha'],$novasenha);
echo json_encode( $resultado);
});
$router->post('/Registrar', function () {
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
$perfil = new Perfis();
$Perfilcontroller = new PerfilController($perfil);
$perfilresultado = $Perfilcontroller->listarPerfis();
foreach($perfilresultado as $value){
if ($value["nome"] === 'comum') {
$usuario->setPerfilId($value["id"]);
}
}
$usuario->setNome($body['nome']);
$usuario->setEmail($body['email']);
$usuario->setSenha($body['senha']);
$usuario->setAtivo(1);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->adicionarUsuario();
echo json_encode(['status' => $resultado]);
});
$router->post('/login', function () {
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
if (isset($body['email'])) {
$usuario->setEmail($body['email']);
$senha=$body['senha'];
$lembrar=$body['lembrar'];
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->login($senha,$lembrar);
if(!$resultado['status']){
echo json_encode(['status' => $resultado['status'], 'message' => $resultado['message']]);
exit;
}
echo json_encode(['status' => $resultado['status'], 'message' => $resultado['message'],'user'=>$resultado['user'],'token'=>$resultado['token']]);
exit;
}
});
$router->post('/recuperarsenha', function () {
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
if (isset($body['email'])) {
$usuario->setEmail($body['email']);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->recupasenha();
if(!$resultado['status']){
echo json_encode(['status' => $resultado['status'], 'message' => $resultado['message']]);
exit;
}
echo json_encode(['status' => $resultado['status'], 'message' => $resultado['message']]);
exit;
}
});
$router->delete('/', function () {
$permitido = new TokenController();
$permitido->autorizado();
$body = json_decode(file_get_contents('php://input'), true);
$usuario = new Usuarios();
$usuario->setEmail($body['email']);
$usuariosController = new UsuarioController($usuario);
$resultado = $usuariosController->removerUsuario();
if(!$resultado){
echo json_encode(['status' => false, 'message' => 'Não pode remover']);
exit;
}
echo json_encode(['status' => true, 'message' => 'Removido com sucesso']);
exit;
});
});
}
|