2023-05-25 07:36:01 +12:00
|
|
|
import sessionReplica from "./SessionReplica";
|
|
|
|
|
2022-12-03 09:37:48 +13:00
|
|
|
class Session {
|
2023-05-25 07:36:01 +12:00
|
|
|
constructor(replica) {
|
|
|
|
this.replica = replica;
|
|
|
|
}
|
|
|
|
|
2022-12-03 09:37:48 +13:00
|
|
|
store(username, token) {
|
|
|
|
localStorage.setItem("user", username);
|
|
|
|
localStorage.setItem("token", token);
|
2023-05-25 07:36:01 +12:00
|
|
|
|
|
|
|
this.replica.store(username, token);
|
2022-12-03 09:37:48 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
reset() {
|
|
|
|
localStorage.removeItem("user");
|
|
|
|
localStorage.removeItem("token");
|
2023-05-25 07:36:01 +12:00
|
|
|
|
|
|
|
this.replica.reset();
|
2022-12-03 09:37:48 +13:00
|
|
|
}
|
|
|
|
|
2022-12-26 16:29:55 +13:00
|
|
|
resetAndRedirect(url) {
|
|
|
|
this.reset();
|
|
|
|
window.location.href = url;
|
|
|
|
}
|
|
|
|
|
2022-12-08 14:44:20 +13:00
|
|
|
exists() {
|
|
|
|
return this.username() && this.token();
|
|
|
|
}
|
|
|
|
|
2022-12-03 09:37:48 +13:00
|
|
|
username() {
|
|
|
|
return localStorage.getItem("user");
|
|
|
|
}
|
|
|
|
|
|
|
|
token() {
|
|
|
|
return localStorage.getItem("token");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-05-25 07:36:01 +12:00
|
|
|
const session = new Session(sessionReplica);
|
2022-12-03 09:37:48 +13:00
|
|
|
export default session;
|