Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var router = express.Router();
- var multer = require('multer');
- var storage = multer.diskStorage({
- destination: function (req, file, callback) {
- callback(null, './uploads');
- },
- filename: function (req, file, callback) {
- callback(null, file.fieldname + '-' + Date.now());
- }
- });
- var upload = multer({ storage: storage }).single('file');
- // All possible mongo db objects
- var Db = require('mongodb').Db,
- MongoClient = require('mongodb').MongoClient,
- Server = require('mongodb').Server,
- ReplSetServers = require('mongodb').ReplSetServers,
- ObjectID = require('mongodb').ObjectID,
- Binary = require('mongodb').Binary,
- GridStore = require('mongodb').GridStore,
- Grid = require('mongodb').Grid,
- Code = require('mongodb').Code,
- assert = require('assert');
- var myJsonVal = require('/home/andrew/Git/E-learn/templates/user.json'); // having trouble find the file via includes, will fix later
- // GET home pages .
- // if we go the jade route, otherwise we dont need an engine
- router.get('/', function (req, res, next) {
- res.render('index', { title: 'Home Page' });
- });
- router.get('/shoppingcart', function (req, res, next) {
- res.render('shoppingcart', { title: 'Shopping cart' });
- });
- router.get('/contact', function (req, res, next) {
- res.render('contact', { title: 'Contact page' });
- });
- router.get('/fourm', function (req, res, next) {
- res.render('fourm', { title: 'Fourm page' });
- });
- router.get('/ticket', function (req, res, next) {
- res.render('ticket', { title: 'Support Ticket' });
- });
- router.get('/login', function (req, res, next) {
- res.render('login', { title: 'Login page' });
- });
- router.get('/createAccount', function (req, res, next) {
- res.render('createAccount', { title: 'Create Account' });
- });
- router.get('/fileUpload', function (req, res, next) {
- res.render('file-upload', { title: 'File upload page' });
- });
- // Listen for Seach collection request
- router.post('/loginRequest', function (req, res) {
- var databaseName = "E-learn", collection = "Accounts";
- var username = req.body.username, password = req.body.password;
- console.log("req: " + req);
- console.log("username: " + username + "password: " + password);
- var db = new Db(databaseName, new Server('localhost', 27017));
- db.open(function (err, db) {
- console.log(databaseName + ": opened");
- console.log(db);
- //var cursor = db.collection(collection).find( { "username":username,"password": password } );
- // cannot apply cursor methods to the result of findOne() because a single document is returned.
- db.collection(collection).findOne({ "username": username, "password": password }, function (err, doc) {
- assert.equal(null, err);
- if (doc != null) {
- console.log("Found");
- res.json("Login sucess");
- } else {
- console.log("Not Found");
- res.json("Lofin Failed");
- }
- db.close();
- });
- });
- });
- // Listen for Account request
- router.post('/accountRequest', function (req, res) {
- var data = req.body;
- var newUser = makeUser(myJsonVal, data);
- var db = new Db('E-learn', new Server('localhost', 27017));
- db.open(function (err, db) {
- // Insert a document in the capped collection
- db.collection('Accounts').insert(newUser, { w: 1 }, function (err, result) {
- assert.equal(null, err);
- console.log("New user added");
- //res.json("Test");
- db.close();
- });
- });
- });
- // Listen for Upload file
- router.post('/uploadFile', function (req, res) {
- upload(req, res, function (err) {
- if (err) {
- console.log("Error uploading file");
- } else {
- //var databaseName = "E-learn", collection = "Accounts";
- var username = req.body.username ;
- var fileName = req.file.filename ;
- var filePath = req.file.path ;
- console.log(username);
- console.log("GET " + req.file.fieldname);
- console.log("GET " + req.file.filename);
- console.log("GET " + req.file.orignalName);
- console.log("GET " + req.file.path);
- var result = findOne(username);
- res.json(result);
- }
- });
- });
- function iterateUser(user, myVal) {
- for (var key in myVal) {
- // skip loop if the property is from prototype
- if (!myVal.hasOwnProperty(key)) {
- continue;
- }
- var obj = myVal[key];
- for (var prop in obj) {
- // skip loop if the property is from prototype
- if (obj.hasOwnProperty(prop) == false) {
- continue;
- } else {
- console.log(obj[prop]);
- }
- }
- }
- }
- function makeUser(myVal, data) {
- myVal.firstName = data.firstName;
- myVal.lastName = data.lastName;
- myVal.username = data.username;
- myVal.email = data.email;
- myVal.phone = data.phone;
- myVal.address.street = data.street;
- myVal.address.suite = data.suite;
- myVal.address.city = data.city;
- myVal.address.zipcode = data.zip;
- myVal.address.suite = data.suite;
- myVal.address.website = data.website;
- myVal.company.name = data.company;
- var obj = myVal;
- return obj;
- }
- function findOne(username){
- var databaseName = "E-learn", collection = "Accounts";
- var db = new Db(databaseName, new Server('localhost', 27017));
- db.open(function (err, db) {
- console.log(databaseName + ": opened");
- console.log(db);
- db.collection(collection).findOne({username:username}, function (err, doc) {
- assert.equal(null, err);
- if (doc != null) {
- console.log("Found");
- // db.close();
- return "Found" ;
- } else {
- console.log("Not Found");
- // db.close();
- return "Not found";
- }
- db.close();
- });
- });
- console.log("Did not open")
- db.close();
- return 0 ; // Should not be called
- }
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement