techprotrade commited on
Commit
b18fa11
·
verified ·
1 Parent(s): 41d3c54

Auth: dual password_hash/hashed_password for User model

Browse files
Files changed (1) hide show
  1. backend/core/auth_endpoints.py +14 -9
backend/core/auth_endpoints.py CHANGED
@@ -170,15 +170,20 @@ async def register_user(user_data: UserCreate, db: Session = Depends(get_db)):
170
  if db.query(User).filter(User.email == user_data.email).first():
171
  raise HTTPException(status_code=400, detail="Email already registered")
172
 
173
- # Create new user (User.password_hash — not hashed_password)
174
- new_user = User(
175
- email=user_data.email,
176
- password_hash=get_password_hash(user_data.password),
177
- first_name=user_data.first_name,
178
- last_name=user_data.last_name,
179
- role=UserRole.MEMBER.value,
180
- status=UserStatus.ACTIVE.value if hasattr(UserStatus.ACTIVE, "value") else UserStatus.ACTIVE,
181
- )
 
 
 
 
 
182
 
183
  db.add(new_user)
184
  db.commit()
 
170
  if db.query(User).filter(User.email == user_data.email).first():
171
  raise HTTPException(status_code=400, detail="Email already registered")
172
 
173
+ # Create new user — support both password_hash and hashed_password column names
174
+ pwd = get_password_hash(user_data.password)
175
+ user_kwargs = {
176
+ "email": user_data.email,
177
+ "first_name": user_data.first_name,
178
+ "last_name": user_data.last_name,
179
+ "role": UserRole.MEMBER.value,
180
+ "status": UserStatus.ACTIVE.value if hasattr(UserStatus.ACTIVE, "value") else UserStatus.ACTIVE,
181
+ }
182
+ if hasattr(User, "password_hash"):
183
+ user_kwargs["password_hash"] = pwd
184
+ if hasattr(User, "hashed_password"):
185
+ user_kwargs["hashed_password"] = pwd
186
+ new_user = User(**user_kwargs)
187
 
188
  db.add(new_user)
189
  db.commit()