Advertisement
Guest User

Untitled

a guest
Jun 6th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.30 KB | None | 0 0
  1. var express = require('express');
  2. var multer = require('multer');
  3. //var upload = multer({ dest: '../client/app/components/register' });
  4. var router = express.Router();
  5. var connection = require('../config/db');
  6. var util = require('util');
  7. var fs = require('fs');
  8. //var mongojs = require('mongojs')
  9. var app = express();
  10. var sha256 = require('../node_modules/sha256');
  11. //collectionDB.find({}).sort({_id:-1}).limit(1 ,function(err,pseudo){
  12.  
  13. app.use(function(req, res, next) {
  14. res.header("Access-Control-Allow-Origin", "*");
  15. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  16. next();
  17. });
  18.  
  19.  
  20.  
  21. router.get('/getUser', function(req,res,next){
  22.  
  23. var lastData = collectionDB.find().toArray(function (err,user) {
  24.  
  25. connection(function(err,db){
  26. var collectionDB = db.collection('usercollection');
  27.  
  28. user.forEach(function(lastUser, index, arrayUsr) {
  29. if (index === arrayUsr.length - 1) {
  30. console.log(lastUser);
  31. res.json(lastUser);
  32. }
  33. });
  34.  
  35. });
  36. /*
  37. //console.log(lastData);
  38. //console.log(util.inspect(lastData));
  39. collectionDB.find(function (err,user) {
  40. var objData = {};
  41. if(err){
  42. res.send(err);
  43. }
  44. objData[user];
  45. //console.log(res.json(objData));
  46. //console.log(JSON.stringify(objData));
  47. // console.log(util.inspect(objData));
  48. res.json(objData[user]);
  49. //console.log(res.json(objData[0]));
  50. })
  51. */
  52. //res.JSON.stringify(objData[0]);
  53. });
  54. });
  55.  
  56. router.post('/isNewUser/:pseudo', function(req,res,next){
  57.  
  58. var pseudo= req.params.pseudo;
  59. //console.log("isnewuser dans register js"+ req.body);
  60. //console.log("isnewuser dans register js"+ pseudo);
  61.  
  62. var isNew;
  63.  
  64. //console.log("req.body "+req.body);
  65.  
  66. connection(function(err,db){
  67. //console.log("debut post de isNew");
  68. var collectionDB = db.collection('usercollection');
  69.  
  70. collectionDB.findOne({pseudo: pseudo},function (err,result) {
  71. if(err){
  72. res.send(err);
  73. }
  74. if(result == null){
  75. isNew = true;
  76. //console.log("cest un newUser "+ isNew);
  77. }else{
  78. isNew = false;
  79. //console.log("cest pas un newUser "+ isNew);
  80. }
  81. res.json(isNew);
  82. });
  83.  
  84. });
  85. });
  86.  
  87.  
  88. router.post('/user', function(req,res,next){
  89.  
  90.  
  91. var user= req.body;
  92.  
  93. user.status = "Online";
  94. user.exist = true;
  95. user.password = sha256(req.body.password);
  96.  
  97. console.log("It's gonna write in the fucking DB");
  98. console.log(user);
  99.  
  100. //si le user ne met pas de photo on envoie la photo par default dans la db
  101. if(user.picture === ''){
  102. user.picture = 'profile.jpg'
  103. }
  104.  
  105. connection(function(err,db){
  106. var collectionDB = db.collection('usercollection');
  107. //console.log(JSON.stringify(userPseudo));
  108. //console.log(JSON.stringify(userEmail));
  109.  
  110.  
  111. collectionDB.save(user, function (err,user) {
  112. if(err){
  113. res.send(err);
  114. }
  115. //console.log(user);
  116. //console.log(user);
  117.  
  118. res.json(user);
  119. })
  120.  
  121. /*
  122. collectionDB.insert({
  123. "username" : userPseudo,
  124. "email" : userEmail
  125. }, function (err, doc) {
  126. if (err) {
  127. // If it failed, return error
  128. res.send("There was a problem adding the information to the database.");
  129.  
  130. }
  131. else{
  132. //And forward to success page
  133. console.log('You add this pseudo to the database : ' , userPseudo);
  134. console.log('You add this email to the database : ' , userEmail);
  135.  
  136. //j'utilise un return pour quitter le post definitivement et afficher le chat proprement
  137. //return res.render('index.html', {collectionDB: userPseudo});
  138. }
  139. });*/
  140. });
  141. });
  142.  
  143. //var test = upload.single('file')
  144. //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
  145. router.post('/upload' , multer({dest: "./public/"}).array("public[]", 12) ,function(req,res,next){
  146.  
  147. res.send(req.files);
  148.  
  149. var userPicture= req.files;
  150.  
  151. console.log("Look the properties of your fucking picture");
  152.  
  153. console.log(userPicture);
  154.  
  155. });
  156.  
  157. router.get('/contacts', function (req,res,next) {
  158.  
  159. connection(function(err,db){
  160. var collectionDB = db.collection('usercollection');
  161. collectionDB.find().toArray(function (err,contacts){
  162. if(err){
  163. res.send(err);
  164. }
  165. res.json(contacts)
  166. })
  167. });
  168. });
  169.  
  170. router.get('/invites', function(req,res,next){
  171.  
  172. connection(function(err,db){
  173. var collectionDB = db.collection('usercollection');
  174. collectionDB.find().toArray(function (err,invites){
  175. if(err){
  176. res.send(err);
  177. }
  178. res.json(invites)
  179. })
  180. });
  181.  
  182. });
  183. //on recupere le user correspondant au user tape dans l'input des contacts, qui est passe dans l url recupere ici
  184. router.get('/contact/:id', function (req,res,next) {
  185.  
  186. var myContactId = req.params.id;
  187. console.log("voici le contact passe dans l'url : "+myContactId);
  188.  
  189. connection(function(err,db){
  190. var collectionDB = db.collection('usercollection');
  191. collectionDB.findOne({pseudo : myContactId}, function (err,contact) {
  192. if(err){
  193. res.send(err);
  194. }
  195. res.json(contact)
  196. });
  197. });
  198. });
  199.  
  200.  
  201. router.post('/newContact/:id', function (req,res,next) {
  202.  
  203. var myUserToUpdate = req.params.id;
  204. var newContact = req.body;
  205. var newContactPicture = req.body.picture;
  206. var newContactPseudo = req.body.pseudo;
  207. var newContactStatus = req.body.status;
  208.  
  209. console.log(newContact)
  210. console.log(newContactPicture)
  211. console.log(newContactPseudo)
  212.  
  213.  
  214. connection(function(err,db) {
  215. var collectionDB = db.collection('usercollection');
  216. collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactList":{"pseudo":newContactPseudo,"picture":newContactPicture,"status":newContactStatus}}}, function (err,newContact) {
  217. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  218. if(err){
  219. res.send(err);
  220. }
  221. //console.log(user);
  222. //console.log(user);
  223.  
  224. res.json(newContact);
  225. })
  226. });
  227. });
  228.  
  229. router.post('/newInvite/:id', function (req,res,next) {
  230.  
  231. var myUserToUpdate = req.params.id;
  232. var newContact = req.body;
  233. var newInvitePicture = req.body.picture;
  234. var newInvitePseudo = req.body.pseudo;
  235. var newInvitePseudoReceiver = req.body.pseudoReceiver;
  236.  
  237. console.log(newInvitePicture)
  238. console.log(newInvitePseudo)
  239. console.log(newInvitePseudoReceiver)
  240.  
  241.  
  242. connection(function(err,db) {
  243. var collectionDB = db.collection('usercollection');
  244. console.log('AJOUT D UNE DEMANDE D AMI DANS L INVIT LIST D UN USER')
  245. collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactInvitesList":{"pseudo":newInvitePseudo,"picture":newInvitePicture,"senderInvite":myUserToUpdate}}}, function (err,newContact) {
  246. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  247. if(err){
  248. res.send(err);
  249. }
  250. //console.log(user);
  251. //console.log(user);
  252.  
  253. res.json(newContact);
  254. })
  255. });
  256. });
  257.  
  258. router.post('/removeInvite/:id', function (req,res,next) {
  259. var myContactId = req.params.id;
  260. var invitePseudoToSuppr = req.body.pseudo;
  261.  
  262. console.log("voici le contact passe dans l'url : "+myContactId);
  263. console.log("voici le contact passe dans l'url : "+invitePseudoToSuppr);
  264.  
  265. connection(function(err,db){
  266. var collectionDB = db.collection('usercollection');
  267. collectionDB.update({"pseudo":myContactId},{$pull:{"contactInvitesList":{pseudo:invitePseudoToSuppr}}}, function (err,contact) {
  268. if(err){
  269. res.send(err);
  270. }
  271. res.json(contact)
  272. });
  273. });
  274. });
  275.  
  276. router.post('/addRoomToContact/:id', function (req,res,next) {
  277. var myUserToUpdate = req.params.id;
  278. var myContactToUpdate = req.body;
  279.  
  280. connection(function(err,db){
  281. var collectionDB = db.collection('usercollection');
  282. collectionDB.update({"pseudo":myUserToUpdate, "contactList.pseudo":myContactToUpdate.pseudo},{$push:{"contactList.$.room":myContactToUpdate.roomID}}, function (err,newContact) {
  283. //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
  284. if(err){
  285. res.send(err);
  286. }
  287. //console.log(user);
  288. //console.log(user);
  289.  
  290. res.json(newContact);
  291. });
  292. });
  293. });
  294.  
  295. router.get('/getContactRoom/:myPseudo/:myContactPseudo',function (req,res,next) {
  296.  
  297. var myPseudo = req.params.myPseudo;
  298. var myContactPseudo = req.params.myContactPseudo;
  299.  
  300. console.log(myPseudo)
  301. console.log('my myContactPseudo ' + myContactPseudo )
  302.  
  303.  
  304. connection(function(err,db){
  305. var collectionDB = db.collection('usercollection');
  306. collectionDB.findOne({pseudo : myPseudo},{"contactList":{$elemMatch:{"pseudo": myContactPseudo}}}, function (err,roomID) {
  307. if(err){
  308. res.send(err);
  309. }
  310. //console.log(roomID.contactList[0].room)
  311. res.json(roomID.contactList[0].room)
  312. });
  313. });
  314. });
  315.  
  316. router.post('/removeContact/:id', function (req,res,next) {
  317. var myUserId = req.params.id;
  318. var contactToSuppr = req.body.pseudo;
  319.  
  320. console.log("voici le contact passe dans l'url : "+myUserId);
  321. console.log("voici le contact passe dans l'url : "+contactToSuppr);
  322.  
  323. connection(function(err,db){
  324. var collectionDB = db.collection('usercollection');
  325.  
  326. //je supprime le contact en question de ma contactList
  327. collectionDB.update({"pseudo":myUserId},{$pull:{"contactList":{pseudo:contactToSuppr}}}, function (err,contactRemovedA) {
  328. //je me supprime aussi de sa contactList aussi du coup
  329. collectionDB.update({"pseudo":contactToSuppr},{$pull:{"contactList":{pseudo:myUserId}}}, function (err,contactRemovedB) {
  330. if(err){
  331. res.send(err);
  332. }
  333. //res.json(contactRemovedA,contactRemovedB)
  334. });
  335. });
  336. });
  337. });
  338.  
  339. //je chope tous les contacts d un user
  340. router.get('/getContactList/:id', function (req,res,next) {
  341. var userPseudo = req.params.id;
  342. connection(function(err,db){
  343. var collectionDB = db.collection('usercollection');
  344. collectionDB.findOne({pseudo:userPseudo},{contactList:1}, function (err,contactList) {
  345.  
  346. if(err){
  347. res.json(err);
  348. }
  349. else {
  350. res.json(contactList);
  351. }
  352. })
  353. })
  354. });
  355.  
  356.  
  357. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement