mgbam commited on
Commit
fd4c462
·
verified ·
1 Parent(s): d63b938

Update services/auth.py

Browse files
Files changed (1) hide show
  1. services/auth.py +9 -16
services/auth.py CHANGED
@@ -19,6 +19,7 @@ def get_user(db: Session, username: str) -> Optional[User]:
19
  user = db.exec(statement).first()
20
  return user
21
 
 
22
  def create_user_in_db(user_data: UserCreate) -> Optional[User]:
23
  hashed_password = get_password_hash(user_data.password)
24
  db_user = User(
@@ -26,28 +27,20 @@ def create_user_in_db(user_data: UserCreate) -> Optional[User]:
26
  hashed_password=hashed_password,
27
  email=user_data.email,
28
  full_name=user_data.full_name
 
29
  )
30
  try:
31
- with get_session_context() as db:
32
- # Check if user already exists
33
  existing_user = get_user(db, user_data.username)
34
  if existing_user:
35
  app_logger.warning(f"User {user_data.username} already exists.")
36
- return None # Or raise an exception
37
 
38
  db.add(db_user)
39
- db.commit() # Commit is handled by context manager, but explicit commit for return
40
- db.refresh(db_user)
41
- return db_user
 
42
  except Exception as e:
43
  app_logger.error(f"Error creating user {user_data.username}: {e}")
44
- return None
45
-
46
- def authenticate_user(username: str, password: str) -> Optional[User]:
47
- with get_session_context() as db:
48
- user = get_user(db, username)
49
- if not user:
50
- return None
51
- if not verify_password(password, user.hashed_password):
52
- return None
53
- return user
 
19
  user = db.exec(statement).first()
20
  return user
21
 
22
+ # In services/auth.py
23
  def create_user_in_db(user_data: UserCreate) -> Optional[User]:
24
  hashed_password = get_password_hash(user_data.password)
25
  db_user = User(
 
27
  hashed_password=hashed_password,
28
  email=user_data.email,
29
  full_name=user_data.full_name
30
+ # The 'chat_sessions' attribute is an empty list by default here, not yet loaded from DB
31
  )
32
  try:
33
+ with get_session_context() as db: # Session starts here
 
34
  existing_user = get_user(db, user_data.username)
35
  if existing_user:
36
  app_logger.warning(f"User {user_data.username} already exists.")
37
+ return None
38
 
39
  db.add(db_user)
40
+ # db.commit() # Commit is handled by context manager
41
+ db.refresh(db_user) # This makes sure all attributes are up-to-date from DB *within this session*
42
+ # Session closes here. db_user is now "detached".
43
+ return db_user # Returning the detached db_user object
44
  except Exception as e:
45
  app_logger.error(f"Error creating user {user_data.username}: {e}")
46
+ return None