5_8
This commit is contained in:
parent
493d7579b1
commit
933c8157cf
@ -5,20 +5,22 @@ class AuthService extends ApiService {
|
||||
super('http://localhost:8081/users'); // Указываем базовый URL для аутентификации
|
||||
}
|
||||
|
||||
async registerUser(userInfo) {
|
||||
return this.create(userInfo);
|
||||
}
|
||||
|
||||
async loginUser(credentials) {
|
||||
const users = await this.getAll(); // Получаем всех пользователей
|
||||
const users = await this.getAll();
|
||||
// eslint-disable-next-line max-len
|
||||
const user = users.find((u) => u.email === credentials.email && u.password === credentials.password && u.name === credentials.name);
|
||||
const user = users.find((u) => u.email === credentials.email && u.password === credentials.password);
|
||||
if (!user) {
|
||||
throw new Error('Invalid email or password');
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
async registerUser(userData) {
|
||||
// Вероятно вы хотите здесь сохранять пользователя в базе данных?
|
||||
const registeredUser = await this.create(userData);
|
||||
return registeredUser;
|
||||
}
|
||||
|
||||
async setRole(userId, role) {
|
||||
return this.update(userId, { role });
|
||||
}
|
||||
|
@ -8,9 +8,10 @@ const initialState = {
|
||||
const AuthReducer = (state, action) => {
|
||||
switch (action.type) {
|
||||
case 'LOGIN':
|
||||
case 'REGISTER':
|
||||
return {
|
||||
...state,
|
||||
user: action.payload, // Предполагается, что payload содержит данные пользователя.
|
||||
user: action.payload,
|
||||
};
|
||||
case 'LOGOUT':
|
||||
return {
|
||||
|
@ -15,31 +15,31 @@ const LoginForm = () => {
|
||||
|
||||
const handleSubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
const { user, token } = await AuthService.loginUser(credentials);
|
||||
localStorage.setItem('auth_token', token); // Сохраняем токен в localStorage
|
||||
dispatch({
|
||||
type: 'LOGIN',
|
||||
payload: { user, token }, // Предполагается, что payload содержит объект с user и token
|
||||
});
|
||||
try {
|
||||
const user = await AuthService.loginUser(credentials);
|
||||
dispatch({
|
||||
type: 'LOGIN',
|
||||
payload: user,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Login error', error);
|
||||
}
|
||||
};
|
||||
|
||||
const handleRegister = async (e) => {
|
||||
e.preventDefault();
|
||||
try {
|
||||
const { user, token } = await AuthService.registerUser({ ...credentials, role: 'user' });
|
||||
localStorage.setItem('auth_token', token);
|
||||
const user = await AuthService.registerUser({ ...credentials, role: 'user' });
|
||||
dispatch({
|
||||
type: 'REGISTER',
|
||||
payload: { user, token }, // Предполагается, что payload содержит объект с user и token
|
||||
payload: user,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Register error', error);
|
||||
// Обработать ошибки регистрации
|
||||
}
|
||||
};
|
||||
|
||||
const handleLogout = () => {
|
||||
localStorage.removeItem('auth_token');
|
||||
dispatch({ type: 'LOGOUT' });
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user