refactor(logging): replace console usage in auth flows
This commit is contained in:
@@ -9,8 +9,11 @@ import { User } from '../types';
|
||||
import { databaseService } from '../services/database';
|
||||
import { authService } from '../services/auth/auth.service';
|
||||
import { tokenStorage } from '../utils/token';
|
||||
import { logger } from '../services/logging';
|
||||
import { normalizeError } from '../utils/error';
|
||||
|
||||
const SESSION_KEY = 'medication_app_session';
|
||||
const AUTH_CONTEXT = 'USER_CONTEXT';
|
||||
|
||||
interface UserContextType {
|
||||
user: User | null;
|
||||
@@ -69,27 +72,23 @@ export const UserProvider: React.FC<{ children: ReactNode }> = ({
|
||||
// Use auth service for password-based login
|
||||
const result = await authService.login({ email, password });
|
||||
|
||||
console.warn('Login result received:', result);
|
||||
console.warn('User from login:', result.user);
|
||||
console.warn('User _id:', result.user._id);
|
||||
|
||||
// Update last login time
|
||||
const updatedUser = { ...result.user, lastLoginAt: new Date() };
|
||||
await databaseService.updateUser(updatedUser);
|
||||
|
||||
console.warn('Updated user with last login:', updatedUser);
|
||||
|
||||
tokenStorage.save({
|
||||
accessToken: result.accessToken,
|
||||
refreshToken: result.refreshToken,
|
||||
});
|
||||
// Set the user from the login result
|
||||
setUser(updatedUser);
|
||||
|
||||
console.warn('User set in context');
|
||||
logger.auth.login('User authenticated with email/password', {
|
||||
userId: updatedUser._id,
|
||||
email: updatedUser.email,
|
||||
});
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('Login error:', error);
|
||||
logger.auth.error('Login error', normalizeError(error), { email });
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@@ -104,7 +103,10 @@ export const UserProvider: React.FC<{ children: ReactNode }> = ({
|
||||
// Don't auto-login after registration, require email verification
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('Registration error:', error);
|
||||
logger.auth.error('Registration error', normalizeError(error), {
|
||||
email,
|
||||
username,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@@ -116,26 +118,26 @@ export const UserProvider: React.FC<{ children: ReactNode }> = ({
|
||||
try {
|
||||
const result = await authService.loginWithOAuth(provider, userData);
|
||||
|
||||
console.warn('OAuth login result received:', result);
|
||||
console.warn('OAuth user:', result.user);
|
||||
console.warn('OAuth user _id:', result.user._id);
|
||||
|
||||
// Update last login time
|
||||
const updatedUser = { ...result.user, lastLoginAt: new Date() };
|
||||
await databaseService.updateUser(updatedUser);
|
||||
|
||||
console.warn('Updated OAuth user with last login:', updatedUser);
|
||||
|
||||
tokenStorage.save({
|
||||
accessToken: result.accessToken,
|
||||
refreshToken: result.refreshToken,
|
||||
});
|
||||
setUser(updatedUser);
|
||||
|
||||
console.warn('OAuth user set in context');
|
||||
logger.auth.login('User authenticated via OAuth', {
|
||||
userId: updatedUser._id,
|
||||
provider,
|
||||
email: updatedUser.email,
|
||||
});
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('OAuth login error:', error);
|
||||
logger.auth.error('OAuth login error', normalizeError(error), {
|
||||
provider,
|
||||
email: userData.email,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@@ -150,16 +152,21 @@ export const UserProvider: React.FC<{ children: ReactNode }> = ({
|
||||
}
|
||||
|
||||
await authService.changePassword(user._id, currentPassword, newPassword);
|
||||
logger.auth.login('User changed password', { userId: user._id });
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error('Password change error:', error);
|
||||
logger.auth.error('Password change error', normalizeError(error), {
|
||||
userId: user?._id,
|
||||
});
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const logout = () => {
|
||||
const currentUserId = user?._id;
|
||||
tokenStorage.clear();
|
||||
setUser(null);
|
||||
logger.auth.logout('User logged out', { userId: currentUserId });
|
||||
};
|
||||
|
||||
const updateUser = async (updatedUser: User) => {
|
||||
@@ -167,8 +174,12 @@ export const UserProvider: React.FC<{ children: ReactNode }> = ({
|
||||
const savedUser = await databaseService.updateUser(updatedUser);
|
||||
setUser(savedUser);
|
||||
} catch (error) {
|
||||
console.error('Failed to update user', error);
|
||||
// Optionally revert state or show error
|
||||
logger.error(
|
||||
'Failed to update user profile',
|
||||
AUTH_CONTEXT,
|
||||
{ userId: updatedUser._id },
|
||||
normalizeError(error)
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user