зеркало из https://github.com/DeGsoft/meanjs.git
Mongo client commented
This commit is contained in:
Родитель
a55bd4fd9a
Коммит
ffb6bb72a3
|
@ -1,3 +0,0 @@
|
|||
<div>
|
||||
{{ state.title }}
|
||||
</div>
|
|
@ -1,56 +0,0 @@
|
|||
"use strict";
|
||||
(function () {
|
||||
var componentName = "state";
|
||||
angular
|
||||
.module(componentName, ['ui.router', 'ngResource'])
|
||||
.config(stateConfig)
|
||||
.directive(componentName, directive)
|
||||
.service("servicio_"+componentName, service)
|
||||
|
||||
function stateConfig($stateProvider) {
|
||||
$stateProvider
|
||||
.state(componentName, {
|
||||
url: '/' + componentName,
|
||||
template: '<' + componentName + '></' + componentName + '>'
|
||||
});
|
||||
}
|
||||
|
||||
function directive() {
|
||||
return {
|
||||
templateUrl: 'app/states/' + componentName + '/' + componentName + '.html',
|
||||
controller: controller,
|
||||
controllerAs: componentName,
|
||||
bindToController: true,
|
||||
scope: {}
|
||||
}
|
||||
}
|
||||
|
||||
function controller(servicio_state) {
|
||||
var vm = this;
|
||||
vm.title = "Mi Estado";
|
||||
vm.dato = servicio_state.Recurso;
|
||||
}
|
||||
|
||||
function service($resource) {
|
||||
var url = '/api/' + componentName + 's/:id'
|
||||
this.Recurso = $resource(
|
||||
url,
|
||||
{
|
||||
id: '@_id'
|
||||
},
|
||||
{
|
||||
'update':
|
||||
{
|
||||
method: 'PUT'
|
||||
}
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,62 +1,65 @@
|
|||
// Módulo de acceso a datos de movimientos
|
||||
var mongodb = require('mongodb');
|
||||
var MongoClient = mongodb.MongoClient;
|
||||
var ObjectID = mongodb.ObjectID;
|
||||
var ObjectID = mongodb.ObjectID; // para tratar los identificadores autogenerados
|
||||
var mongoUrl = "mongodb://localhost:27017/control_caja";
|
||||
var collection = "movimientos";
|
||||
|
||||
|
||||
module.exports.gettingMovimientos = function (usuario, cb) {
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
db.collection(collection).find({
|
||||
usuario: usuario
|
||||
}).toArray(cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports.gettingMovimiento = function (movId, usuario, cb) {
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
// el _id no es un string, hay que trasnformarlo
|
||||
db.collection(collection).find({
|
||||
_id: new ObjectID(movId) ,
|
||||
_id: new ObjectID(movId),
|
||||
usuario: usuario
|
||||
}).toArray(cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports.postingMovimiento = function (movimiento, cb) {
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
db.collection(collection).insert(movimiento, cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports.puttingMovimiento = function (movimiento, cb) {
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
// atención al cambio de tipo en el _id
|
||||
movimiento._id = new ObjectID(movimiento._id);
|
||||
db.collection(collection).replaceOne({
|
||||
_id: movimiento._id,
|
||||
usuario: movimiento.usuario
|
||||
},movimiento, cb);
|
||||
}
|
||||
});
|
||||
}, movimiento, cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports.gettingTotalUsuario = function (usuario, cb) {
|
||||
|
||||
var query= [
|
||||
// Las consultas más complejas se resuelven con el framework de agregación
|
||||
var query = [
|
||||
{
|
||||
$match: {
|
||||
usuario: usuario
|
||||
|
@ -73,12 +76,23 @@ module.exports.gettingTotalUsuario = function (usuario, cb) {
|
|||
}
|
||||
}
|
||||
];
|
||||
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
db.collection(collection).aggregate(query).toArray(cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// To Do: extraer lógica común a funciones reutilizables
|
||||
|
||||
module.exports.doingSomethingMovimiento = function (movimiento, cb) {
|
||||
MongoClient.connect(mongoUrl, function (err, db) {
|
||||
if (err) {
|
||||
cb(err, null);
|
||||
} else {
|
||||
db.collection(collection).doSomething(movimiento, cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -5,7 +5,9 @@ var app = express();
|
|||
app.use(bodyParser());
|
||||
app.use(express.static(__dirname + '/client'));
|
||||
|
||||
// Modularidad en NodeJS mediante require/export
|
||||
var movimientosData = require('./movimientosData.js');
|
||||
// To Do: un módulo para el API demovimientos y otro para seguridad
|
||||
|
||||
console.log('ready');
|
||||
|
||||
|
@ -39,11 +41,6 @@ app.use('/api/priv/', function (req, res, next) {
|
|||
// API - REST
|
||||
// SECURITY
|
||||
app.route('/api/usuarios')
|
||||
.get(function (req, res, next) {
|
||||
// Esto devuelve la lista completa de usuarios y contraseñas
|
||||
// PELIGRO: Usar sólo a modo de debug mientras desarrollamos
|
||||
res.json(usuarios);
|
||||
})
|
||||
.post(function (req, res, next) {
|
||||
var usuario = req.body;
|
||||
if (existeUsuario(usuario)) {
|
||||
|
@ -58,11 +55,6 @@ app.route('/api/usuarios')
|
|||
|
||||
// Gestión de sesiones: listado y login
|
||||
app.route('/api/sesiones')
|
||||
.get(function (req, res, next) {
|
||||
// Esto devuelve la lista completa de sesiones
|
||||
// PELIGRO: Usar sólo a modo de debug mientras desarrollamos
|
||||
res.json(sesiones);
|
||||
})
|
||||
.post(function (req, res, next) {
|
||||
var usuario = req.body;
|
||||
if (esUsuarioValido(usuario)) {
|
||||
|
@ -119,11 +111,10 @@ app.get('/api/pub/maestros', function (req, res, next) {
|
|||
|
||||
app.route('/api/priv/movimientos')
|
||||
.get(function (req, res, next) {
|
||||
movimientosData.gettingMovimientos(req.usuario, function(err, result){
|
||||
if(err){
|
||||
res.status(500).send(err);
|
||||
}
|
||||
else{
|
||||
movimientosData.gettingMovimientos(req.usuario, function (err, result) {
|
||||
if (err) {
|
||||
res.status(500).send(err);
|
||||
} else {
|
||||
res.json(result);
|
||||
}
|
||||
})
|
||||
|
@ -131,11 +122,10 @@ app.route('/api/priv/movimientos')
|
|||
.post(function (req, res, next) {
|
||||
var movimiento = req.body;
|
||||
movimiento.usuario = req.usuario;
|
||||
movimientosData.postingMovimiento(movimiento,function(err, result){
|
||||
if(err){
|
||||
res.status(500).send(err);
|
||||
}
|
||||
else{
|
||||
movimientosData.postingMovimiento(movimiento, function (err, result) {
|
||||
if (err) {
|
||||
res.status(500).send(err);
|
||||
} else {
|
||||
res.json(movimiento);
|
||||
}
|
||||
})
|
||||
|
@ -145,33 +135,30 @@ app.route('/api/priv/movimientos')
|
|||
app.route('/api/priv/movimientos/:id')
|
||||
.get(function (req, res, next) {
|
||||
var movId = req.params.id;
|
||||
movimientosData.gettingMovimiento(movId,req.usuario, function(err, result){
|
||||
if(err){
|
||||
res.status(500).send(err);
|
||||
}
|
||||
else{
|
||||
movimientosData.gettingMovimiento(movId, req.usuario, function (err, result) {
|
||||
if (err) {
|
||||
res.status(500).send(err);
|
||||
} else {
|
||||
res.json(result[0]);
|
||||
}
|
||||
})
|
||||
}).post(function (req, res, next) {
|
||||
var movId = req.params.id;
|
||||
var nuevoMovimiento = req.body;
|
||||
movimientosData.puttingMovimiento(nuevoMovimiento,function(err, result){
|
||||
if(err){
|
||||
res.status(500).send(err);
|
||||
}
|
||||
else{
|
||||
movimientosData.puttingMovimiento(nuevoMovimiento, function (err, result) {
|
||||
if (err) {
|
||||
res.status(500).send(err);
|
||||
} else {
|
||||
res.json(nuevoMovimiento);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
app.get('/api/priv/total', function (req, res, next) {
|
||||
movimientosData.gettingTotalUsuario(req.usuario, function(err, result){
|
||||
if(err){
|
||||
res.status(500).send(err);
|
||||
}
|
||||
else{
|
||||
movimientosData.gettingTotalUsuario(req.usuario, function (err, result) {
|
||||
if (err) {
|
||||
res.status(500).send(err);
|
||||
} else {
|
||||
res.json(result);
|
||||
}
|
||||
})
|
||||
|
|
Загрузка…
Ссылка в новой задаче