Boa tarde, Estou desenvolvendo uma app com MEAN, muito embora esteja fazendo o meu server (somente API's) totalmente separado (em projetos diferentes) do client (Angular). No entanto, estou com uma dúvida. Tenho os seguintes diretórios no meu server: app/config/express.js - > Configurações do Express app/controllers -> Aqui defino a minhas controllers app/infra -> Conexão com o MongoDB app/models -> Definição dos Schemas app/route -> Definição das Rotas No curso, é utilizado a abordagem que o diretório api fica responsável pela lógica de requisições da app. Creio que seria algo parecido com o diretório controllers que utilizo na minha abordagem. No entanto, tenho algumas dúvidas em qual abordagem devo seguir. Veja alguns exemplos de códigos que utilizo no meu contexto: app/controllers/usuario.js
var Usuario = require('../models/usuario');
...
exports.save = function(usuario, callback){
var usuario = new Usuario(usuario);
usuario.save(function(err, data){
if(err){
callback('Não foi possível adicionar o usuário');
}else{
callback(null, data);
}
});
}
app/models/usuario.js :
var mongoose = require('mongoose');
var UsuarioSchema = new Schema({
nome: {
type: String,
unique: true,
required: true
},
senha: {
type: String,
required: true
},
email: {
type: String,
required: true
}
});
module.exports = mongoose.model('Usuario', UsuarioSchema);
app/routes/usuario.js :
var cors = require('cors');
module.exports = function(app){
app.use(cors());
var usuarioController = app.controllers.usuario;
app.post('/usuario/cadastra', function(req, res){
if(!req.body.nome || !req.body.senha){
res.json('Por favor informe um usuário e uma senha');
}
else{
var usuario = req.body;
usuarioController.save(usuario, function(err, resp){
if(err) return res.status(500).send(err);
res.status(200).json(resp);
});
}
});
...
}
Utilizando dessa forma? Eu consigo melhor separar as coisas? Em questão de manutenção do código, é legal fazer dessa forma? Desempenho?