Skip to content

Commit

Permalink
att
Browse files Browse the repository at this point in the history
  • Loading branch information
Th0mzzz committed Sep 10, 2024
1 parent d640044 commit fdbc59d
Show file tree
Hide file tree
Showing 6 changed files with 842 additions and 596 deletions.
5 changes: 4 additions & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// ROUTES
var rotas = require("./app/routes/router");
var rotas = require("./app/routes/routerHome");
app.use("/", rotas);

var rotasAdm = require("./app/routes/routerAdm");
Expand All @@ -29,6 +29,9 @@ app.use("/", rotasAdm);
var rotasEditProfile = require("./app/routes/routerEditProfile");
app.use("/", rotasEditProfile);

var rotasConta = require("./app/routes/routerConta");
app.use("/", rotasConta);

app.use((req, res, next) => {
res.status(404).render("pages/error-404.ejs");
});
Expand Down
132 changes: 63 additions & 69 deletions app/controller/usuariosController.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,7 @@ const usuariosController = {
body('usuario')
.isLength({ min: 4 }).withMessage("Usuário deve ter pelo menos 4 caracteres!"),
// mesma coisa do telefone so que para email
body('email')
.isEmail().withMessage('Deve ser um email válido'),
// verifica se a senha tem o tamanho minimo de 8 e no max 30 digitos, se pelo menos 1 caracter especial, 1 maiusculo e 1 minusculo, tudo a partir de regex.

],
regrasValidacaoEntrar: [
// verifica se o usuário tem no minimo 4 caracteres ou no maximo 30.
Expand Down Expand Up @@ -367,85 +365,81 @@ const usuariosController = {
const user = req.session.autenticado ? await usuariosModel.findUserById(req.session.autenticado.id) : new Error("Erro ao acessar o banco")
let errors = validationResult(req)
if (!errors.isEmpty()) {
console.log(errors)
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: errors,
valores: req.body
valores: req.body,
token: null
}
res.render("./pages/edit-profile", jsonResult)
} else {
if (!req.session.autenticado) {
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: null,
valores: req.body
}
console.log("ERROR, usuário não logado")
res.render("./pages/edit-profile", jsonResult)
} else {
const { nome, nascimento, usuario } = req.body
dadosForm = {
NOME_USUARIO: nome,
NICKNAME_USUARIO: usuario,
DATA_NASC_USUARIO: nascimento,
}
try {
const resultados = await usuariosModel.updateUser(dadosForm, req.session.autenticado.id);

if (!resultados.isEmpty) {
const user = await usuariosModel.findUserById(req.session.autenticado.id);
const data = new Date(user[0].DATA_NASC_USUARIO)
const dataFormatada = data.toISOString().split('T')[0];
if (resultados.changedRows == 1) {
req.session.autenticado = {
autenticado: user[0].NOME_USUARIO,
id: user[0].ID_USUARIO,
foto: user[0].CAMINHO_FOTO
}
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: null,
valores: {
nome: user[0].NOME_USUARIO,
nascimento: dataFormatada,
cpf: user[0].CPF_USUARIO,
contato: user[0].CONTATO,
usuario: user[0].NICKNAME_USUARIO,
},
token: { msg: "Perfil atualizado com sucesso!", type: "success" }
}
res.render("./pages/edit-profile", jsonResult)
} else {
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: null,
valores: {
nome: user[0].NOME_USUARIO,
nascimento: dataFormatada,
cpf: user[0].CPF_USUARIO,
contato: user[0].CONTATO,
usuario: user[0].NICKNAME_USUARIO,
},
token: { msg: "Nenhuma alteração feita", type: "" }
}
res.render("./pages/edit-profile", jsonResult)

const { nome, nascimento, usuario } = req.body
dadosForm = {
NOME_USUARIO: nome,
NICKNAME_USUARIO: usuario,
DATA_NASC_USUARIO: nascimento,
}

try {
const resultados = await usuariosModel.updateUser(dadosForm, req.session.autenticado.id);

if (!resultados.isEmpty) {
const user = await usuariosModel.findUserById(req.session.autenticado.id);
const data = new Date(user[0].DATA_NASC_USUARIO)
const dataFormatada = data.toISOString().split('T')[0];
if (resultados.changedRows == 1) {
req.session.autenticado = {
autenticado: user[0].NOME_USUARIO,
id: user[0].ID_USUARIO,
foto: user[0].CAMINHO_FOTO
}
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: null,
valores: {
nome: user[0].NOME_USUARIO,
nascimento: dataFormatada,
cpf: user[0].CPF_USUARIO,
contato: user[0].CONTATO,
usuario: user[0].NICKNAME_USUARIO,
},
token: { msg: "Perfil atualizado com sucesso!", type: "success" }
}
console.log("Perfil atualizado com sucesso!")
res.render("./pages/edit-profile", jsonResult)
} else {
const jsonResult = {
page: "../partial/edit-profile/dados-pessoais",
pageClass: "dadosPessoais",
usuario: user[0],
erros: null,
valores: {
nome: user[0].NOME_USUARIO,
nascimento: dataFormatada,
cpf: user[0].CPF_USUARIO,
contato: user[0].CONTATO,
usuario: user[0].NICKNAME_USUARIO,
},
token: { msg: "Nenhuma alteração feita", type: "" }
}
console.log("Nenhuma alteração feita")

res.render("./pages/edit-profile", jsonResult)
}
} catch (erros) {
console.log(erros)
res.render("pages/error-500")
}
} catch (erros) {
console.log(erros)
res.render("pages/error-500")
}

}


},
attUm: async (req, res, campo, campoBd) => {
let errors = validationResult(req)
Expand Down
104 changes: 104 additions & 0 deletions app/routes/routerConta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
var express = require("express");
var router = express.Router();
// MIDDLEWARES -------------
const middleWares = require("../sessions/middleswares");
// CONTROLLERS -------------
const usuariosController = require("../controller/usuariosController");
const resenhaControl = require("../controller/resenhasController");
// UTIL ---------------
const upload = require("../util/upload");
const uploadCapa = upload("./app/public/img/imagens-servidor/capas-img/", 5, ['jpeg', 'jpg', 'png']);


// Página de falha de autenticação ---------
const destinoDeFalha = {
page: "../partial/template-login/login",
modal: "fechado",
erros: null,
valores: "",
incorreto: ""
}

// ---------------------------------------- GETS --------------------------------------------------



// -------- PÁGINAS DE VISUALIZAÇÃO -------------

// ------------ LOGIN E CADASTRO ---------------

router.get("/entrar", function (req, res) {

if (req.session.autenticado && req.session.autenticado.autenticado && req.session.autenticado.autenticado != null) {
const jsonResult = {
foto: req.session.autenticado ? req.session.autenticado.foto : "perfil-padrao.webp",
page: "../partial/template-home/inicial-home",
classePagina: "inicialHome",
token: {
msg: `Bom te ver de novo`,
usuario: `${req.session.autenticado.autenticado}!`
}
}
res.render("pages/template-home", jsonResult)

} else {
res.render("pages/template-login", destinoDeFalha);
}
});
// pagina de cadastro
router.get("/cadastrar", function (req, res) {
const jsonResult = {
page: "../partial/template-login/cadastro",
modal: "fechado",
erros: null,
valores: ""
}
res.render("pages/template-login", jsonResult);
});
// pagina de esqueceu a senha
router.get("/esqueceuSenha", function (req, res) {
const jsonResult = {
page: "../partial/template-login/esqueceuSenha",
modal: "fechado",
erros: null
}
res.render("pages/template-login", jsonResult);
});
// formulario para enviar email
router.get("/enviarEmail", function (req, res) {
const jsonResult = {
page: "../partial/template-login/esqueceuSenha",
modal: "aberto",
erros: null
}
res.render("pages/template-login", jsonResult);
})
// Link para destruir sessão
router.get("/sair", middleWares.clearSession, function (req, res) {
res.redirect("/")
})

// --------------------------------- POSTS --------------------------------- //

// form para checar se o valor do token é correto
router.post("/checarToken", function (req, res) {
const jsonResult = {
page: "../partial/template-login/redefinir",
modal: "fechado",
erros: null
}
res.render("pages/template-login", jsonResult);
})
// Router do FORM de cadastro que chama o Controle de Usuários e cadastra o usuário

router.post("/criarConta", usuariosController.regrasValidacaoCriarConta, function (req, res) {
usuariosController.criarUsuario(req, res)
});

// Router do FORM de login que chama o controle de usuários e valida e verifica no banco se o usuário digitado existe
router.post("/logarConta", usuariosController.regrasValidacaoEntrar, middleWares.gravarAutenticacao, function (req, res) {
usuariosController.entrar(req, res)
})


module.exports = router;
77 changes: 0 additions & 77 deletions app/routes/router.js → app/routes/routerHome.js
Original file line number Diff line number Diff line change
Expand Up @@ -189,83 +189,6 @@ router.get("/view-ficha", function (req, res) {
res.render("./pages/template-home", jsonResult)
});

// ------------ LOGIN E CADASTRO ---------------
// pagina de login
router.get("/entrar", function (req, res) {

if (req.session.autenticado && req.session.autenticado.autenticado && req.session.autenticado.autenticado != null) {
const jsonResult = {
foto: req.session.autenticado ? req.session.autenticado.foto : "perfil-padrao.webp",
page: "../partial/template-home/inicial-home",
classePagina: "inicialHome",
token: {
msg: `Bom te ver de novo`,
usuario: `${req.session.autenticado.autenticado}!`
}
}
res.render("pages/template-home", jsonResult)

} else {
res.render("pages/template-login", destinoDeFalha);
}
});
// pagina de cadastro
router.get("/cadastrar", function (req, res) {
const jsonResult = {
page: "../partial/template-login/cadastro",
modal: "fechado",
erros: null,
valores: ""
}
res.render("pages/template-login", jsonResult);
});
// pagina de esqueceu a senha
router.get("/esqueceuSenha", function (req, res) {
const jsonResult = {
page: "../partial/template-login/esqueceuSenha",
modal: "fechado",
erros: null
}
res.render("pages/template-login", jsonResult);
});
// formulario para enviar email
router.get("/enviarEmail", function (req, res) {
const jsonResult = {
page: "../partial/template-login/esqueceuSenha",
modal: "aberto",
erros: null
}
res.render("pages/template-login", jsonResult);
})

// Link para destruir sessão
router.get("/sair", middleWares.clearSession, function (req, res) {
res.redirect("/")
})

// --------------------------------- POSTS --------------------------------- //



// form para checar se o valor do token é correto
router.post("/checarToken", function (req, res) {
const jsonResult = {
page: "../partial/template-login/redefinir",
modal: "fechado",
erros: null
}
res.render("pages/template-login", jsonResult);
})
// Router do FORM de cadastro que chama o Controle de Usuários e cadastra o usuário

router.post("/criarConta", usuariosController.regrasValidacaoCriarConta, function (req, res) {
usuariosController.criarUsuario(req, res)
});

// Router do FORM de login que chama o controle de usuários e valida e verifica no banco se o usuário digitado existe
router.post("/logarConta", usuariosController.regrasValidacaoEntrar, middleWares.gravarAutenticacao, function (req, res) {
usuariosController.entrar(req, res)
})

// Form de criação de Resenha
router.post("/criarResenha", uploadCapa("capaResenha"), resenhaControl.validacaoResenha, function (req, res) {
Expand Down
Loading

0 comments on commit fdbc59d

Please sign in to comment.