Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions src/controllers/usuarios.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
import usuario from "../models/Usuario";

class UsuarioController
{
//Criar usuario
static async novoUsuario(req, res){
try{
const novoUsuario = await usuario.create(req.body);
res.status(201).json({message: "usuario criado com sucesso", usuario: novoUsuario});
}catch (erro) {
res.status(500).json({message: `${erro.message} - falha ao cadastrar usuario`});
}
};


// puxar todos os usuarios
async buscarUsuarios(req, res)
{
try {
const usuarios = await usuario.find({});
res.status(200).json(usuarios);
} catch (error) {
res.status(500).json({ message: `${error.message} - Falha ao buscar usuários` });
}
};

// Buscar usuario pelo ID
async buscarUsuarioPorId(req, res)
{
try {
const id = req.params.id;
const usuarioPesquisado = await usuario.findById(id);
res.status(200).json(usuarioPesquisado);
} catch (error) {
res.status(500).json({ message: `${error.message} - Falha ao buscar usuário` });
}
};

//atualizar usuario
static async atualizarUsuario(req, res)
{
try
{
const id = req.params.id;
await usuario.findByIdAndUpdate(id, req.body);
res.status(200).json({message: "usuario atualizado"});
}catch(erro){
res.status(500).json({message: `${erro.message} - falha na atualização` });
}
};

static async excluirUsuario(req, res)
{
try
{
const id = req.params.id;
await usuario.findByIdAndDelete(id);
res.status(200).json({message: "Usuario deletado com sucesso"});
}catch(erro){
res.status(500).json({message: `${erro.message} - falha ao deletar`})
}
};

};

export default UsuarioController;
9 changes: 6 additions & 3 deletions src/models/Usuario.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ const usuarioSchema = new mongoose.Schema({
nome: {type: String, required: true},
nick: {type: String, required: true},
email: {type: String, required: true},
senha: {type: String, required: true}
/*localização
tipo de usuario*/
senha: {type: String, required: true},
localizacao: {
cidade: { type: String },
estado: { type: String },
},
tipoUsuario: { type: String, enum: ['Professor', 'Aluno'], default: 'Aluno' }
}, {versionKey: false});

const usuario = mongoose.model("usuarios", usuarioSchema);
Expand Down
11 changes: 11 additions & 0 deletions src/routes/usuario.route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import express from "express";
import UsuarioController from "../controllers/usuarios.controller";

const routes = express.Router();
routes.post("/Usuario", UsuarioController.novoUsuario);
routes.get("/Usuario", UsuarioController.buscarUsuarios);
routes.get("/Usuario/:id", UsuarioController.buscarUsuarioPorId);
routes.put("/Usuario/:id", UsuarioController.atualizarUsuario);
routes.delete("/Usuario/:id", UsuarioController.excluirUsuario);

export default routes;