· 6 years ago · Oct 23, 2019, 07:30 PM
1/**
2 * POST /api/connexion
3 */
4exports.connnexion = (req, res) => {
5 try{
6 var email = req.body.email;
7 var password = req.body.password;
8 //get email and password
9 if( ( (typeof email !== 'undefined') && (email !== '') ) &&
10 ( (typeof password !== 'undefined') &&( password !== '') ) ){
11 //check email if Exist in DB
12 Account.find({email : email},function(err, account){
13 if (err){
14 resultats = {
15 "success": false,
16 "message": "Error : "+err,
17 "result": ''
18 }
19 console.log("error happened while getting info from db, error: ", err);
20 res.json(resultats);
21 }
22 else{
23 if((account[0].google.id)===undefined && (account[0].facebook.id)===undefined){//dont have google & facebook account
24 console.log('connexion classique');
25 if(account.length){
26 //if exist,
27 //get password of this account
28 if(bcrypt.compareSync(password,account[0].password)){//if password ok
29 //create new token
30 try{
31 jwt.sign({
32 account
33 },
34 'secretKey',
35 (err,token) => {
36 if(err){
37 resultats = {
38 "success": false,
39 "message": 'Error : '+ err,
40 "result": ''
41 }
42 res.json(resultats);
43 }
44 resultats = {
45 "success": true,
46 "message": "SUCCESS",
47 "result": token
48 }
49 console.log('success');
50 res.json(resultats);
51 });
52 }catch(e){
53 console.log('error happened in here:', e);
54 resultats = {
55 "success": false,
56 "message": 'Error : '+ e,
57 "result": ''
58 }
59 res.json(resultats);
60 }
61 }
62 else{
63 console.log('password doesn;t match');
64 resultats = {
65 "success": false,
66 "message": "Error, check email/password",
67 "result": ''
68 }
69 res.json(resultats);
70 }
71
72 }
73 else{
74 console.log('no account is found)');
75 resultats = {
76 "success": false,
77 "message": 'Error : check email/password',
78 "result": ''
79 }
80 res.json(resultats);
81 }
82 }
83 else{
84 console.log('impossible de se connecter(google ou facebook)');
85 resultats = {
86 "success": false,
87 "message": "Error, check email/password",
88 "result": ''
89 }
90 res.json(resultats);
91 }
92
93 }
94 });
95 }
96 else{
97 console.log("password or email is invalid");
98 resultats = {
99 "success": false,
100 "message": 'Error : check email/password',
101 "result": ''
102 }
103 res.json(resultats);
104 }
105 }catch(e){
106 console.log("error happened in catch st.: ", e);
107 resultats = {
108 "success": false,
109 "message": 'Error : '+ e,
110 "result": ''
111 }
112 res.json(resultats);
113 }
114}