VORKOUT-6 #11
@ -1,22 +0,0 @@
|
|||||||
import api from '../api/api';
|
|
||||||
import { useUserStore } from '../store/user';
|
|
||||||
import { Auth } from '../types/auth';
|
|
||||||
|
|
||||||
export class AuthService {
|
|
||||||
static async login(auth: Auth) {
|
|
||||||
const token = await api.login(auth);
|
|
||||||
console.log(token);
|
|
||||||
localStorage.setItem('accessToken', token.accessToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
static async logout() {
|
|
||||||
useUserStore.getState().removeUser();
|
|
||||||
localStorage.removeItem('userInfo');
|
|
||||||
localStorage.removeItem('accessToken');
|
|
||||||
}
|
|
||||||
|
|
||||||
static async refresh() {
|
|
||||||
const token = await api.refreshToken();
|
|
||||||
localStorage.setItem('accessToken', token.accessToken);
|
|
||||||
}
|
|
||||||
}
|
|
30
client/src/services/authService.ts
Normal file
30
client/src/services/authService.ts
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import api from '../api/api';
|
||||||
|
import { useAuthStore } from '../store/authStore';
|
||||||
|
import { useUserStore } from '../store/userStore';
|
||||||
|
import { Auth } from '../types/auth';
|
||||||
|
import { UserService } from './userService';
|
||||||
|
|
||||||
|
export class AuthService {
|
||||||
|
static async login(auth: Auth) {
|
||||||
|
const token = await api.login(auth);
|
||||||
|
useAuthStore.getState().setAccessToken(token.accessToken);
|
||||||
|
localStorage.setItem('refreshToken', token.refreshToken);
|
||||||
|
await UserService.getProfile().then((user) => {
|
||||||
|
useUserStore.getState().setUser(user);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
static async logout() {
|
||||||
|
console.log('logout');
|
||||||
|
useUserStore.getState().setUser(null);
|
||||||
|
useAuthStore.getState().setAccessToken(null);
|
||||||
|
localStorage.removeItem('userInfo');
|
||||||
|
localStorage.removeItem('refreshToken');
|
||||||
|
}
|
||||||
|
|
||||||
|
static async refresh() {
|
||||||
|
console.log('refresh');
|
||||||
|
const token = await api.refreshToken();
|
||||||
|
useAuthStore.getState().setAccessToken(token.accessToken);
|
||||||
|
}
|
||||||
|
}
|
@ -3,8 +3,14 @@ import { User } from '../types/user';
|
|||||||
|
|
||||||
export class UserService {
|
export class UserService {
|
||||||
static async getProfile(): Promise<User> {
|
static async getProfile(): Promise<User> {
|
||||||
|
console.log('getProfile');
|
||||||
const user = api.getProfile();
|
const user = api.getProfile();
|
||||||
|
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async getUsers(page: number = 1, limit: number = 10): Promise<any> {
|
||||||
|
const users = api.getUsers(page, limit);
|
||||||
|
return users;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user