Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mongo = require('mongodb');
- var dl = require('delivery');
- var client = require('socket.io').listen(8080).sockets;
- mongo.MongoClient.connect('mongodb://127.0.0.1/WhatUpApp', function(err,db){
- if(err) throw err;
- console.log("Le serveur est prêt.");
- var users_table = new Array();
- client.on('connection', function(socket){
- socket.on('join', function(data){
- var user_email = data.user_email,
- user_name = data.user_name,
- photo_option = data.photo_option,
- fpass = data.fpass,
- cpass = data.cpass;
- // check for empty fields
- if (user_email === '' || cpass === '' || fpass === ''){
- socket.emit('alert', 'Whoops, you missed one!');
- return;
- }
- // check for matching passwords
- if (fpass !== cpass) {
- socket.emit('alert', 'Your passwords don\'t match.');
- return;
- }
- // create a database variable
- var users = db.collection('users');
- // create a variable to hold the data object
- users.find().sort({_id: 1}).toArray(function(err, res){
- if(err) throw err;
- // create a flag variable
- var newUser = user_email;
- var doesUserExist = function(newUser, res) {
- var answer = false;
- if (res.length) {
- for(var i = 0; i < res.length && !answer; i++){
- if(newUser === res[i].user_email){
- answer = true;
- }
- }
- }
- return answer;
- };
- var found = doesUserExist(newUser, res);
- if (!found){
- // if not found, push the user into the db
- users.insert({
- user_email: user_email,
- user_name: user_name,
- photo_option: photo_option,
- password: cpass
- }, function() {
- socket.emit('alert', 'Your account has been created');
- socket.emit('clear-login');
- return found;
- });
- } else {
- socket.emit('alert', 'Username already exists. Please use another one.');
- }
- });
- });
- socket.on('login', function (data) {
- console.log("login");
- var check_email = data.user_email,
- check_password = data.user_password;
- if (check_email === '' || check_password === '') {
- socket.emit('erreur', 'Vous devez renseigner les deux champs.');
- } else {
- var users = db.collection('users');
- users.find({'mail' : check_email}).toArray(function (err, res) {
- if (err) throw err;
- if (res.length){
- if (res[0].password === check_password) {
- if (i = users_table.indexOf(res[0]._id) != -1){
- users_table.push(socket);
- } else {
- users_table[res[0]._id] = new Array(socket);
- }
- socket.emit('ok', res[0]._id);
- return;
- }
- }
- socket.emit('erreur', 'Identifiants incorrects.');
- });
- }
- });
- socket.on('discussions', function (data) {
- if (!Check_id(data.id, socket)){
- return;
- }
- var discussions = db.collection("discussions");
- discussions.find({ "users._id": new mongo.ObjectID(data.id) }).toArray(function (err, res) {
- if (err) throw err;
- if (res.length){
- socket.emit('discussions', res);
- } else {
- console.log("non trouve");
- }
- });
- });
- socket.on('upload_file', function (data) {
- if (!Check_id(data.id, socket)){
- return;
- }
- var delivery = dl.listen(socket);
- delivery.on('receive.start', function(fileUID){
- console.log('receiving a file');
- });
- delivery.on('receive.success', function(file){
- if ()
- }
- });
- socket.on('compte_Update', function (data) {
- if (!Check_id(data.id, socket)){
- return;
- }
- });
- });
- function Check_id (id, socket){
- if (id == null){
- socket.emit('erreur', 'Erreur dans la requête.');
- return (false);
- }
- if (users_table[id].indexOf(socket) == -1){
- socket.emit('erreur', 'Vous avez été dconnecté du serveur.');
- return (false);
- }
- return (true);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement