Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var multer = require('multer');
- var router = express.Router();
- var connection = require('../config/db');
- var util = require('util');
- var fs = require('fs');
- //var mongojs = require('mongojs')
- var app = express();
- var sha256 = require('../node_modules/sha256');
- app.use(function(req, res, next) {
- res.header("Access-Control-Allow-Origin", "*");
- res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
- next();
- });
- router.get('/getUser', function(req,res,next){
- var lastData = collectionDB.find().toArray(function (err,user) {
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- user.forEach(function(lastUser, index, arrayUsr) {
- if (index === arrayUsr.length - 1) {
- console.log(lastUser);
- res.json(lastUser);
- }
- });
- });
- });
- });
- router.post('/isNewUser/:pseudo', function(req,res,next){
- var pseudo= req.params.pseudo;
- var isNew;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.findOne({pseudo: pseudo},function (err,result) {
- if(err){
- res.send(err);
- }
- if(result == null){
- isNew = true;
- }else{
- isNew = false;
- }
- res.json(isNew);
- });
- });
- });
- router.post('/user', function(req,res,next){
- var user= req.body;
- user.status = "Online";
- user.exist = true;
- user.password = sha256(req.body.password);
- //si le user ne met pas de photo on envoie la photo par default dans la db
- if(user.picture === ''){
- user.picture = 'profile.jpg'
- }
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- //console.log(JSON.stringify(userPseudo));
- //console.log(JSON.stringify(userEmail));
- collectionDB.save(user, function (err,user) {
- if(err){
- res.send(err);
- }
- //console.log(user);
- //console.log(user);
- res.json(user);
- })
- });
- });
- router.post('/uploadFile' , multer({dest: './public/'}).array('public[]', 12) ,function(req,res,next){
- console.log("req.files: "+req.files[0].fieldname);
- console.log("req.files: "+req.files[0].originalname);
- console.log("req.files: "+req.files[req.files[0].filename]);
- //console.log("req.files: "+req.files['public[]'][0]);
- console.log("req.files.type: "+req.files[0].type);
- console.log("req.files.name: "+req.files[0].name);
- console.log("req.files.filePath: "+req.files[0].filePath);
- console.log("req.files.filename: "+req.files[0].filename);
- console.log("req.files.path: "+req.files[0].path);
- // req.files[0].rename(fieldname, filename);
- res.send(req.files);
- });
- //var test = upload.single('file')
- //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
- router.post('/upload' , multer({dest: "./public/"}).array("public[]", 12) ,function(req,res,next){
- res.send(req.files);
- var userPicture= req.files;
- });
- router.get('/contacts', function (req,res,next) {
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.find().toArray(function (err,contacts){
- if(err){
- res.send(err);
- }
- res.json(contacts)
- })
- });
- });
- router.get('/invites', function(req,res,next){
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.find().toArray(function (err,invites){
- if(err){
- res.send(err);
- }
- res.json(invites)
- })
- });
- });
- //on recupere le user correspondant au user tape dans l'input des contacts, qui est passe dans l url recupere ici
- router.get('/contact/:id', function (req,res,next) {
- var myContactId = req.params.id;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.findOne({pseudo : myContactId}, function (err,contact) {
- if(err){
- res.send(err);
- }
- res.json(contact)
- });
- });
- });
- router.post('/newContact/:id', function (req,res,next) {
- var myUserToUpdate = req.params.id;
- var newContact = req.body;
- var newContactPicture = req.body.picture;
- var newContactPseudo = req.body.pseudo;
- var newContactStatus = req.body.status;
- connection(function(err,db) {
- var collectionDB = db.collection('usercollection');
- collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactList":{"pseudo":newContactPseudo,"picture":newContactPicture,"status":newContactStatus}}}, function (err,newContact) {
- //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
- if(err){
- res.send(err);
- }
- //console.log(user);
- //console.log(user);
- res.json(newContact);
- })
- });
- });
- router.post('/newInvite/:id', function (req,res,next) {
- var myUserToUpdate = req.params.id;
- var newContact = req.body;
- var newInvitePicture = req.body.picture;
- var newInvitePseudo = req.body.pseudo;
- var newInvitePseudoReceiver = req.body.pseudoReceiver;
- connection(function(err,db) {
- var collectionDB = db.collection('usercollection');
- collectionDB.update({"pseudo" : myUserToUpdate}, { $push: {"contactInvitesList":{"pseudo":newInvitePseudo,"picture":newInvitePicture,"senderInvite":myUserToUpdate}}}, function (err,newContact) {
- //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
- if(err){
- res.send(err);
- }
- //console.log(user);
- //console.log(user);
- res.json(newContact);
- })
- });
- });
- router.post('/removeInvite/:id', function (req,res,next) {
- var myContactId = req.params.id;
- var invitePseudoToSuppr = req.body.pseudo;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.update({"pseudo":myContactId},{$pull:{"contactInvitesList":{pseudo:invitePseudoToSuppr}}}, function (err,contact) {
- if(err){
- res.send(err);
- }
- res.json(contact)
- });
- });
- });
- router.post('/addRoomToContact/:id', function (req,res,next) {
- var myUserToUpdate = req.params.id;
- var myContactToUpdate = req.body;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.update({"pseudo":myUserToUpdate, "contactList.pseudo":myContactToUpdate.pseudo},{$push:{"contactList.$.room":myContactToUpdate.roomID}}, function (err,newContact) {
- //collectionDB.insert({pseudo : myUserToUpdate, contactList:newContact}, function (err,newContact) {
- if(err){
- res.send(err);
- }
- res.json(newContact);
- });
- });
- });
- router.get('/getContactRoom/:myPseudo/:myContactPseudo',function (req,res,next) {
- var myPseudo = req.params.myPseudo;
- var myContactPseudo = req.params.myContactPseudo;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.findOne({pseudo : myPseudo},{"contactList":{$elemMatch:{"pseudo": myContactPseudo}}}, function (err,roomID) {
- if(err){
- res.send(err);
- }
- //console.log(roomID.contactList[0].room)
- res.json(roomID.contactList[0].room)
- });
- });
- });
- router.post('/removeContact/:id', function (req,res,next) {
- var myUserId = req.params.id;
- var contactToSuppr = req.body.pseudo;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- //je supprime le contact en question de ma contactList
- collectionDB.update({"pseudo":myUserId},{$pull:{"contactList":{pseudo:contactToSuppr}}}, function (err,contactRemovedA) {
- //je me supprime aussi de sa contactList aussi du coup
- collectionDB.update({"pseudo":contactToSuppr},{$pull:{"contactList":{pseudo:myUserId}}}, function (err,contactRemovedB) {
- if(err){
- res.send(err);
- }
- //res.json(contactRemovedA,contactRemovedB)
- });
- });
- });
- });
- //je chope tous les contacts d un user
- router.get('/getContactList/:id', function (req,res,next) {
- var userPseudo = req.params.id;
- connection(function(err,db){
- var collectionDB = db.collection('usercollection');
- collectionDB.findOne({pseudo:userPseudo},{contactList:1}, function (err,contactList) {
- if(err){
- res.json(err);
- }
- else {
- res.json(contactList);
- }
- })
- })
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement