smartproc-fe/src/auth.js
2023-05-29 10:48:07 +07:00

142 lines
2.7 KiB
JavaScript

const defaultUser = {
email: 'titan@hadiyan.net',
avatarUrl: 'https://js.devexpress.com/Demos/WidgetsGallery/JSDemos/images/employees/06.png'
};
export default {
_user: defaultUser,
loggedIn() {
return !!this._user;
},
async logIn(email, password) {
try {
// Send request
console.log(email, password);
// this._user = { ...defaultUser, email };
// return {
// isOk: true,
// data: this._user
// };
const requestOptions = {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: email, password: password }),
};
const response = await fetch('http://localhost:9090/api/authentication/login', requestOptions);
const data = await response.json();
console.log(data);
//console.log(data.data.length);
// this._user = {
// id: response.data.id,
// email: response.data.role,
// name: response.data.keterangan,
// role_id: response.data.id,
// };
if(data.status == 'sukses') {
const defaultUser = {
email: data.data.email,
avatarUrl: 'https://js.devexpress.com/Demos/WidgetsGallery/JSDemos/images/employees/06.png',
name: data.data.name,
};
this._user = { ...defaultUser };
return {
isOk: true,
data: this._user
};
} else {
//--- jika gagal munculkan pesan gagal
return {
isOk: false,
message: "Authentication failed"
};
}
}
catch {
return {
isOk: false,
message: "Authentication failed"
};
}
},
async logOut() {
this._user = null;
},
async getUser() {
try {
// Send request
return {
isOk: true,
data: this._user
};
}
catch {
return {
isOk: false
};
}
},
async resetPassword(email) {
try {
// Send request
console.log(email);
return {
isOk: true
};
}
catch {
return {
isOk: false,
message: "Failed to reset password"
};
}
},
async changePassword(email, recoveryCode) {
try {
// Send request
console.log(email, recoveryCode);
return {
isOk: true
};
}
catch {
return {
isOk: false,
message: "Failed to change password"
}
}
},
async createAccount(email, password) {
try {
// Send request
console.log(email, password);
return {
isOk: true
};
}
catch {
return {
isOk: false,
message: "Failed to create account"
};
}
}
};