Advertisement
Guest User

Untitled

a guest
Jan 9th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.06 KB | None | 0 0
  1. var express = require('express');
  2. var router = express.Router();
  3. var multer = require('multer');
  4. var storage = multer.diskStorage({
  5. destination: function (req, file, callback) {
  6. callback(null, './uploads');
  7. },
  8. filename: function (req, file, callback) {
  9. callback(null, file.fieldname + '-' + Date.now());
  10. }
  11. });
  12. var upload = multer({ storage: storage }).single('file');
  13. // All possible mongo db objects
  14. var Db = require('mongodb').Db,
  15. MongoClient = require('mongodb').MongoClient,
  16. Server = require('mongodb').Server,
  17. ReplSetServers = require('mongodb').ReplSetServers,
  18. ObjectID = require('mongodb').ObjectID,
  19. Binary = require('mongodb').Binary,
  20. GridStore = require('mongodb').GridStore,
  21. Grid = require('mongodb').Grid,
  22. Code = require('mongodb').Code,
  23. assert = require('assert');
  24. var myJsonVal = require('/home/andrew/Git/E-learn/templates/user.json'); // having trouble find the file via includes, will fix later
  25. // GET home pages .
  26. // if we go the jade route, otherwise we dont need an engine
  27. router.get('/', function (req, res, next) {
  28. res.render('index', { title: 'Home Page' });
  29. });
  30. router.get('/shoppingcart', function (req, res, next) {
  31. res.render('shoppingcart', { title: 'Shopping cart' });
  32. });
  33. router.get('/contact', function (req, res, next) {
  34. res.render('contact', { title: 'Contact page' });
  35. });
  36. router.get('/fourm', function (req, res, next) {
  37. res.render('fourm', { title: 'Fourm page' });
  38. });
  39. router.get('/ticket', function (req, res, next) {
  40. res.render('ticket', { title: 'Support Ticket' });
  41. });
  42.  
  43. router.get('/login', function (req, res, next) {
  44. res.render('login', { title: 'Login page' });
  45. });
  46.  
  47. router.get('/createAccount', function (req, res, next) {
  48. res.render('createAccount', { title: 'Create Account' });
  49. });
  50.  
  51. router.get('/fileUpload', function (req, res, next) {
  52. res.render('file-upload', { title: 'File upload page' });
  53. });
  54.  
  55. // Listen for Seach collection request
  56. router.post('/loginRequest', function (req, res) {
  57. var databaseName = "E-learn", collection = "Accounts";
  58. var username = req.body.username, password = req.body.password;
  59. console.log("req: " + req);
  60. console.log("username: " + username + "password: " + password);
  61. var db = new Db(databaseName, new Server('localhost', 27017));
  62. db.open(function (err, db) {
  63. console.log(databaseName + ": opened");
  64. console.log(db);
  65. //var cursor = db.collection(collection).find( { "username":username,"password": password } );
  66. // cannot apply cursor methods to the result of findOne() because a single document is returned.
  67. db.collection(collection).findOne({ "username": username, "password": password }, function (err, doc) {
  68. assert.equal(null, err);
  69. if (doc != null) {
  70. console.log("Found");
  71. res.json("Login sucess");
  72.  
  73. } else {
  74. console.log("Not Found");
  75. res.json("Lofin Failed");
  76. }
  77. db.close();
  78. });
  79. });
  80. });
  81.  
  82. // Listen for Account request
  83. router.post('/accountRequest', function (req, res) {
  84. var data = req.body;
  85. var newUser = makeUser(myJsonVal, data);
  86. var db = new Db('E-learn', new Server('localhost', 27017));
  87. db.open(function (err, db) {
  88. // Insert a document in the capped collection
  89. db.collection('Accounts').insert(newUser, { w: 1 }, function (err, result) {
  90. assert.equal(null, err);
  91. console.log("New user added");
  92. //res.json("Test");
  93. db.close();
  94. });
  95. });
  96. });
  97.  
  98. // Listen for Upload file
  99. router.post('/uploadFile', function (req, res) {
  100. upload(req, res, function (err) {
  101. if (err) {
  102. console.log("Error uploading file");
  103. } else {
  104. //var databaseName = "E-learn", collection = "Accounts";
  105. var username = req.body.username ;
  106. var fileName = req.file.filename ;
  107. var filePath = req.file.path ;
  108. console.log(username);
  109. console.log("GET " + req.file.fieldname);
  110. console.log("GET " + req.file.filename);
  111. console.log("GET " + req.file.orignalName);
  112. console.log("GET " + req.file.path);
  113. var result = findOne(username);
  114. res.json(result);
  115. }
  116. });
  117. });
  118.  
  119. function iterateUser(user, myVal) {
  120. for (var key in myVal) {
  121. // skip loop if the property is from prototype
  122. if (!myVal.hasOwnProperty(key)) {
  123. continue;
  124. }
  125. var obj = myVal[key];
  126. for (var prop in obj) {
  127.  
  128. // skip loop if the property is from prototype
  129. if (obj.hasOwnProperty(prop) == false) {
  130. continue;
  131. } else {
  132. console.log(obj[prop]);
  133. }
  134. }
  135. }
  136. }
  137.  
  138. function makeUser(myVal, data) {
  139. myVal.firstName = data.firstName;
  140. myVal.lastName = data.lastName;
  141. myVal.username = data.username;
  142. myVal.email = data.email;
  143. myVal.phone = data.phone;
  144. myVal.address.street = data.street;
  145. myVal.address.suite = data.suite;
  146. myVal.address.city = data.city;
  147. myVal.address.zipcode = data.zip;
  148. myVal.address.suite = data.suite;
  149. myVal.address.website = data.website;
  150. myVal.company.name = data.company;
  151. var obj = myVal;
  152. return obj;
  153. }
  154.  
  155.  
  156. function findOne(username){
  157. var databaseName = "E-learn", collection = "Accounts";
  158. var db = new Db(databaseName, new Server('localhost', 27017));
  159. db.open(function (err, db) {
  160. console.log(databaseName + ": opened");
  161. console.log(db);
  162. db.collection(collection).findOne({username:username}, function (err, doc) {
  163. assert.equal(null, err);
  164. if (doc != null) {
  165. console.log("Found");
  166. // db.close();
  167. return "Found" ;
  168.  
  169. } else {
  170. console.log("Not Found");
  171. // db.close();
  172. return "Not found";
  173. }
  174. db.close();
  175. });
  176. });
  177. console.log("Did not open")
  178. db.close();
  179. return 0 ; // Should not be called
  180. }
  181.  
  182.  
  183. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement