Skip to content

Instantly share code, notes, and snippets.

@marce1994
Created January 19, 2018 04:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marce1994/efb1d59016667586988fa2a93d3eee32 to your computer and use it in GitHub Desktop.
Save marce1994/efb1d59016667586988fa2a93d3eee32 to your computer and use it in GitHub Desktop.
bug -> addUpload recibe {} object
var express = require("express");
var path = require('path');
var bodyParser = require('body-parser');
var uploadRepository = require("./uploads_repository")();
var router = express.Router();
router.use(bodyParser.urlencoded({ extended: false, limit: '50mb' }));
router.use(bodyParser.json());
router.get("/lastestuploads", function(req, res){
uploadRepository.listUploads({}, req.query.page, req.query.numxpage, function(obj){
if(obj.err == null){
obj.pages = Math.ceil(obj.count/req.query.numxpage);
obj.currentPage = req.query.page;
}else{
var obj = {};
obj.error = err;
}
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(obj));
});
});
router.post('/upload', function(req, res) {
var Obj = {
title : req.body.title,
description : req.body.description,
img : req.body.img,
tags : req.body.tags,
magnet : req.body.magnet,
};
uploadRepository.addUpload(Obj);
res.send("todo ok wacha");
});
module.exports = router;
module.exports = function () {
var Datastore = require('nedb');
db = {};
db.uploads = new Datastore('./web/web_db/uploads.db');
db.uploads.loadDatabase();
module.addUpload = function (Obj) {
db.uploads.insert(Obj, function (err, newDoc) {
console.log(JSON.stringify(Obj));
if(err != null)
console.log(err);
else
console.log("Insert successfull: " + JSON.stringify(newDoc));
});
};
module.listUploads = function(filter, callback){
db.uploads.find(filter).sort({ timestamp: -1 }, function (error, documents) {
obj = {
err : error,
docs : documents
}
if(err != null)
console.log(err);
callback(obj);
});
};
module.listUploads = function(filter, page, count, callback){
db.uploads.find(filter).sort({ timestamp: -1 }).skip(count * (page-1)).limit(count).exec(function (error, documents){
obj = {}
if(obj.err != null){
console.log(err);
obj.err = err;
}else{
obj.docs = documents.slice(page-1*count,count-1);
obj.count = documents.lenght;
}
callback(obj);
});
};
return module;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment