Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.37 KB | None | 0 0
  1. var express = require('express');
  2. var multer = require('multer');
  3. var router = express.Router();
  4. var connection = require('../config/db');
  5. var util = require('util');
  6. var fs = require('fs');
  7. //var mongojs = require('mongojs')
  8. var app = express();
  9. var sha256 = require('../node_modules/sha256');
  10.  
  11. app.use(function(req, res, next) {
  12. res.header("Access-Control-Allow-Origin", "*");
  13. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  14. next();
  15. });
  16.  
  17.  
  18.  
  19. router.get('/getUser', function(req,res,next){
  20.  
  21. var lastData = collectionDB.find().toArray(function (err,user) {
  22.  
  23. connection(function(err,db){
  24. var collectionDB = db.collection('usercollection');
  25.  
  26. user.forEach(function(lastUser, index, arrayUsr) {
  27. if (index === arrayUsr.length - 1) {
  28. console.log(lastUser);
  29. res.json(lastUser);
  30. }
  31. });
  32.  
  33. });
  34.  
  35. });
  36. });
  37.  
  38. router.post('/isNewUser/:pseudo', function(req,res,next){
  39.  
  40. var pseudo= req.params.pseudo;
  41.  
  42. var isNew;
  43.  
  44.  
  45. connection(function(err,db){
  46. var collectionDB = db.collection('usercollection');
  47.  
  48. collectionDB.findOne({pseudo: pseudo},function (err,result) {
  49. if(err){
  50. res.send(err);
  51. }
  52. if(result == null){
  53. isNew = true;
  54. }else{
  55. isNew = false;
  56. }
  57. res.json(isNew);
  58. });
  59.  
  60. });
  61. });
  62.  
  63.  
  64. router.post('/user', function(req,res,next){
  65.  
  66.  
  67. var user= req.body;
  68.  
  69. user.status = "Online";
  70. user.exist = true;
  71. user.password = sha256(req.body.password);
  72.  
  73.  
  74.  
  75. //si le user ne met pas de photo on envoie la photo par default dans la db
  76. if(user.picture === ''){
  77. user.picture = 'profile.jpg'
  78. }
  79.  
  80. connection(function(err,db){
  81. var collectionDB = db.collection('usercollection');
  82. //console.log(JSON.stringify(userPseudo));
  83. //console.log(JSON.stringify(userEmail));
  84.  
  85.  
  86. collectionDB.save(user, function (err,user) {
  87. if(err){
  88. res.send(err);
  89. }
  90. //console.log(user);
  91. //console.log(user);
  92.  
  93. res.json(user);
  94. })
  95.  
  96.  
  97. });
  98. });
  99.  
  100. router.post('/uploadFile' , multer({dest: './public/'}).array('public[]', 12) ,function(req,res,next){
  101.  
  102. console.log("req.files: "+req.files[0].fieldname);
  103. console.log("req.files: "+req.files[0].originalname);
  104. console.log("req.files: "+req.files[req.files[0].filename]);
  105. //console.log("req.files: "+req.files['public[]'][0]);
  106.  
  107. console.log("req.files.type: "+req.files[0].type);
  108. console.log("req.files.name: "+req.files[0].name);
  109. console.log("req.files.filePath: "+req.files[0].filePath);
  110. console.log("req.files.filename: "+req.files[0].filename);
  111. console.log("req.files.path: "+req.files[0].path);
  112.  
  113. // req.files[0].rename(fieldname, filename);
  114.  
  115. res.send(req.files);
  116.  
  117. });
  118.  
  119. //var test = upload.single('file')
  120. //post qui va stocker la photo du user ajoute dans le register , multer permet de definir le dossier serveur dans lequel seront stockes les photos
  121. router.post('/upload' , multer({dest: "./public/"}).array("public[]", 12) ,function(req,res,next){
  122.  
  123. res.send(req.files);
  124.  
  125. var userPicture= req.files;
  126.  
  127. });
  128.  
  129. router.get('/contacts', function (req,res,next) {
  130.  
  131. connection(function(err,db){
  132. var collectionDB = db.collection('usercollection');
  133. collectionDB.find().toArray(function (err,contacts){
  134. if(err){
  135. res.send(err);
  136. }
  137. res.json(contacts)
  138. })
  139. });
  140. });
  141.  
  142. router.get('/invites', function(req,res,next){
  143.  
  144. connection(function(err,db){
  145. var collectionDB = db.collection('usercollection');
  146. collectionDB.find().toArray(function (err,invites){
  147. if(err){
  148. res.send(err);
  149. }
  150. res.json(invites)
  151. })
  152. });
  153.  
  154. });
  155. //on recupere le user correspondant au user tape dans l'input des contacts, qui est passe dans l url recupere ici
  156. router.get('/contact/:id', function (req,res,next) {
  157.  
  158. var myContactId = req.params.id;
  159.  
  160.  
  161. connection(function(err,db){
  162. var collectionDB = db.collection('usercollection');
  163. collectionDB.findOne({pseudo : myContactId}, function (err,contact) {
  164. if(err){
  165. res.send(err);
  166. }
  167. res.json(contact)
  168. });
  169. });
  170. });
  171.  
  172.  
  173. router.post('/newContact/:id', function (req,res,next) {
  174.  
  175. var myUserToUpdate = req.params.id;
  176. var newContact = req.body;
  177. var newContactPicture = req.body.picture;
  178. var newContactPseudo = req.body.pseudo;
  179. var newContactStatus = req.body.status;
  180.  
  181.  
  182. connection(function(err,db) {
  183. var collectionDB = db.collection('usercollection');
  184. collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactList":{"pseudo":newContactPseudo,"picture":newContactPicture,"status":newContactStatus}}}, function (err,newContact) {
  185. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  186. if(err){
  187. res.send(err);
  188. }
  189. //console.log(user);
  190. //console.log(user);
  191.  
  192. res.json(newContact);
  193. })
  194. });
  195. });
  196.  
  197. router.post('/newInvite/:id', function (req,res,next) {
  198.  
  199. var myUserToUpdate = req.params.id;
  200. var newContact = req.body;
  201. var newInvitePicture = req.body.picture;
  202. var newInvitePseudo = req.body.pseudo;
  203. var newInvitePseudoReceiver = req.body.pseudoReceiver;
  204.  
  205.  
  206. connection(function(err,db) {
  207. var collectionDB = db.collection('usercollection');
  208. collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactInvitesList":{"pseudo":newInvitePseudo,"picture":newInvitePicture,"senderInvite":myUserToUpdate}}}, function (err,newContact) {
  209. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  210. if(err){
  211. res.send(err);
  212. }
  213. //console.log(user);
  214. //console.log(user);
  215.  
  216. res.json(newContact);
  217. })
  218. });
  219. });
  220.  
  221. router.post('/removeInvite/:id', function (req,res,next) {
  222. var myContactId = req.params.id;
  223. var invitePseudoToSuppr = req.body.pseudo;
  224.  
  225.  
  226.  
  227. connection(function(err,db){
  228. var collectionDB = db.collection('usercollection');
  229. collectionDB.update({"pseudo":myContactId},{$pull:{"contactInvitesList":{pseudo:invitePseudoToSuppr}}}, function (err,contact) {
  230. if(err){
  231. res.send(err);
  232. }
  233. res.json(contact)
  234. });
  235. });
  236. });
  237.  
  238. router.post('/addRoomToContact/:id', function (req,res,next) {
  239. var myUserToUpdate = req.params.id;
  240. var myContactToUpdate = req.body;
  241.  
  242. connection(function(err,db){
  243. var collectionDB = db.collection('usercollection');
  244. collectionDB.update({"pseudo":myUserToUpdate, "contactList.pseudo":myContactToUpdate.pseudo},{$push:{"contactList.$.room":myContactToUpdate.roomID}}, function (err,newContact) {
  245. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  246. if(err){
  247. res.send(err);
  248. }
  249.  
  250.  
  251. res.json(newContact);
  252. });
  253. });
  254. });
  255.  
  256. router.get('/getContactRoom/:myPseudo/:myContactPseudo',function (req,res,next) {
  257.  
  258. var myPseudo = req.params.myPseudo;
  259. var myContactPseudo = req.params.myContactPseudo;
  260.  
  261.  
  262. connection(function(err,db){
  263. var collectionDB = db.collection('usercollection');
  264. collectionDB.findOne({pseudo : myPseudo},{"contactList":{$elemMatch:{"pseudo": myContactPseudo}}}, function (err,roomID) {
  265. if(err){
  266. res.send(err);
  267. }
  268. //console.log(roomID.contactList[0].room)
  269. res.json(roomID.contactList[0].room)
  270. });
  271. });
  272. });
  273.  
  274. router.post('/removeContact/:id', function (req,res,next) {
  275. var myUserId = req.params.id;
  276. var contactToSuppr = req.body.pseudo;
  277.  
  278.  
  279.  
  280. connection(function(err,db){
  281. var collectionDB = db.collection('usercollection');
  282.  
  283. //je supprime le contact en question de ma contactList
  284. collectionDB.update({"pseudo":myUserId},{$pull:{"contactList":{pseudo:contactToSuppr}}}, function (err,contactRemovedA) {
  285. //je me supprime aussi de sa contactList aussi du coup
  286. collectionDB.update({"pseudo":contactToSuppr},{$pull:{"contactList":{pseudo:myUserId}}}, function (err,contactRemovedB) {
  287. if(err){
  288. res.send(err);
  289. }
  290. //res.json(contactRemovedA,contactRemovedB)
  291. });
  292. });
  293. });
  294. });
  295.  
  296. //je chope tous les contacts d un user
  297. router.get('/getContactList/:id', function (req,res,next) {
  298. var userPseudo = req.params.id;
  299. connection(function(err,db){
  300. var collectionDB = db.collection('usercollection');
  301. collectionDB.findOne({pseudo:userPseudo},{contactList:1}, function (err,contactList) {
  302.  
  303. if(err){
  304. res.json(err);
  305. }
  306. else {
  307. res.json(contactList);
  308. }
  309. })
  310. })
  311. });
  312.  
  313.  
  314. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement