public function doPost() { $r = UsuarioResource::getInstance(); $usuario = Usuario::fromArray($r->getRequest()); if ($usuario->getEmail()) { if ($usuario->getSenha()) { if ($usuario->getUsername()) { $m = UsuarioController::cadastrar($usuario); if ($m) { created_header(); echo $usuario->getJson("nome,username,email,codigo"); } else { exception_header(); UsuarioController::print_exception("cadastrar"); } } else { bad_request_header(); } } else { UsuarioController::porEmail($usuario->getEmail()); ok_header(); if (UsuarioController::get("id")) { echo UsuarioController::$usuario->getJson("id,nome,username,email,codigo,status,departamento"); } else { echo $usuario->getJson("email"); } } } else { bad_request_header(); } }
public static function autenticar($token) { require PROJECT_ADDRESS . "/lib/util/JWT.php"; $m = JWT::from_token($token, jwt_secret_key()); if ($m) { $usuario = Usuario::fromJSON($m->getPayload(), "email,codigo"); SessaoController::doUsuario($usuario); if (SessaoController::get("id")) { UsuarioController::porEmail($usuario->getEmail()); } else { SessaoController::defineException("autenticar", "Sessão inválida!"); } } else { SessaoController::defineException("autenticar", "Token inválido!"); } }
public static function cadastrar(Usuario $u) { UsuarioController::porEmail($u->getEmail()); if (UsuarioController::get("id")) { $e = "E-mail já cadastrado."; UsuarioController::defineException("cadastrar", $e); } else { UsuarioController::porUsername($u->getUsername()); if (UsuarioController::get("id")) { $e = "Nome de usuário já utilizado."; UsuarioController::defineException("cadastrar", $e); } else { require_once PROJECT_ADDRESS . "/lib/util/code.php"; require_once PROJECT_ADDRESS . "/lib/util/proteger.php"; $codigo = get_codigo(5); $senha = embaralhar($u->getSenha(), $codigo); $u->setCodigo($codigo); $u->setSenha($senha); $o = $u->persistir(); } } return $o; }