forked from Rishav048/KFC.com-Clone
-
Notifications
You must be signed in to change notification settings - Fork 0
/
login.js
125 lines (95 loc) · 3.49 KB
/
login.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
function buildObj(n,e,p,u,m,d){
this.name=n,
this.email=e,
this.password=p,
this.username=u,
this.mobile=m,
this.description=d
};
//this is to send the signup data
async function Register(event){
event.preventDefault();
let name=document.getElementById("name").value;
let email=document.getElementById("email").value;
let password=document.getElementById("password").value;
let username=document.getElementById("username").value;
let mobile=document.getElementById("mobile").value;
let description=document.getElementById("description").value;
let data= new buildObj(name,email,password,username,mobile,description);
console.log("data:",data);
let register_url=`https://masai-api-mocker.herokuapp.com/auth/register`;
try{
let res=await fetch(register_url,{
method:`POST`,
body:JSON.stringify(data),
headers:{
"Content-Type": "application/json",
},
});
let real_data= await res.json();
console.log("real_data",real_data);
if(real_data.error==false){
alert(`Registration Successful-Now Login using your username and password`);
}
}
catch(error){
alert(`Registration failed, user already exists"`);
}
//signup data sent successfully to server.
//till this point the registration is successful , getting successful message from server
};
//now lets login
//here we send login username and password to server , if correct it gives token and successful message,
//else it gives -inavlid login credentials
const login = async(event) => {
event.preventDefault();
let login_data ={
email: document.getElementById("login_username").value,
password: document.getElementById("login_password").value,
};
console.log('login_data:', login_data);
let login_url=`https://expenses-app-tsr1.onrender.com/users`;
try{
let res=await fetch(login_url,{
method:"POST",
body:JSON.stringify(login_data),
headers:{
"Content-Type": "application/json",
},
});
let login_real_data= await res.json();
console.log('login_real_data:', login_real_data);
let token=login_real_data.token;
getUserProfile(login_data.username,token);
if(login_real_data.error == false){
alert(`Login Successful,Welcome to Kings Fried Chicken`);
}
window.location.href="./index.html";
}
catch(error){
alert(`Invalid Login Credentials`);
}
};
//this helps us to get the profile of the registered user
const getUserProfile = async(username,token) => {
let api=`https://masai-api-mocker.herokuapp.com/user/${username}`;
let res=await fetch(api,{
headers:{
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`,
},
});
let real_profile_data= await res.json();
console.log('real_profile_data:', real_profile_data)
localStorage.setItem("UserName",(real_profile_data.name));
};
//getElementByClassName returns an array !
const adminlogin = () => {
event.preventDefault();
let admin_username = document.getElementById("admin_username").value;
let admin_password = document.getElementById("admin_password").value;
if(admin_username==="admin" && admin_password==="admin"){
alert(`Secure Login-Welcome Admin`);
window.location.href="./admin.html";
}
}