|
import apiClient from './apiClient'; |
|
|
|
|
|
|
|
|
|
|
|
class AuthService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async register(userData) { |
|
try { |
|
console.log('AuthService: Registering user', userData); |
|
const response = await apiClient.post('/auth/register', userData); |
|
console.log('AuthService: Registration response', response.data); |
|
return response; |
|
} catch (error) { |
|
console.error('AuthService: Registration error', error); |
|
|
|
if (!error.response) { |
|
throw new Error('Network error - please check your connection'); |
|
} |
|
throw error; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async login(credentials) { |
|
try { |
|
console.log('AuthService: Logging in user', credentials); |
|
const response = await apiClient.post('/auth/login', credentials); |
|
console.log('AuthService: Login response', response.data); |
|
return response; |
|
} catch (error) { |
|
console.error('AuthService: Login error', error); |
|
|
|
if (!error.response) { |
|
throw new Error('Network error - please check your connection'); |
|
} |
|
throw error; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
async logout() { |
|
try { |
|
console.log('AuthService: Logging out user'); |
|
|
|
|
|
|
|
const response = await apiClient.post('/auth/logout'); |
|
console.log('AuthService: Logout response', response.data); |
|
return response; |
|
} catch (error) { |
|
console.warn('AuthService: Logout error (continuing anyway):', error.message); |
|
|
|
|
|
return { data: { success: true, message: 'Logged out successfully' } }; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
async getCurrentUser() { |
|
try { |
|
console.log('AuthService: Getting current user'); |
|
const response = await apiClient.get('/auth/user'); |
|
console.log('AuthService: Get user response', response.data); |
|
return response; |
|
} catch (error) { |
|
console.error('AuthService: Get user error', error); |
|
|
|
if (!error.response) { |
|
throw new Error('Network error - please check your connection'); |
|
} |
|
throw error; |
|
} |
|
} |
|
} |
|
|
|
|
|
export default new AuthService(); |