added authorization stores and fixed http client

This commit is contained in:
Fran Jurmanović
2021-05-29 17:11:21 +02:00
parent f835c76b39
commit f0d2e7b06d
23 changed files with 473 additions and 24 deletions

View File

@@ -0,0 +1,54 @@
import { AppService } from "core/services";
import { AuthService } from "services/";
class AuthStore {
private _token;
private _userDetails;
private authService: AuthService;
constructor(private appService: AppService) {
this.token = localStorage.getItem("token");
this.authService = new AuthService(this.appService);
}
get token() {
return this._token;
}
set token(token) {
this._token = token;
localStorage.setItem("token", token);
}
get user() {
return this._userDetails;
}
set user(userDetails) {
this._userDetails = userDetails;
}
userLogin = async (formObject) => {
try {
const response = await this.authService.login(formObject);
if (response?.token) {
this.token = response.token;
} else {
this.token = null;
localStorage.removeItem("token");
}
return response;
} catch (err) {
throw err;
}
};
userRegister = async (formObject) => {
try {
await this.authService.register(formObject);
} catch (err) {
throw err;
}
};
}
export default AuthStore;