mominah commited on
Commit
b5dda41
·
verified ·
1 Parent(s): e2f542f

Update auth.py

Browse files
Files changed (1) hide show
  1. auth.py +11 -19
auth.py CHANGED
@@ -132,22 +132,12 @@ async def get_user_data(
132
  email: Optional[str] = Query(None, description="User email")
133
  ):
134
  # Determine if Authorization header is provided
135
- auth: str = request.headers.get("Authorization", "")
136
  user = None
137
- if auth.startswith("Bearer "):
138
- token = auth.split(" ", 1)[1]
139
  # Authenticated path
140
- try:
141
- payload = jwt.decode(token, SECRET_KEY, algorithms=["HS256"])
142
- user_email: str = payload.get("sub")
143
- if not user_email:
144
- raise HTTPException(status_code=401, detail="Invalid token payload")
145
- user = get_user(user_email)
146
- if not user:
147
- raise HTTPException(status_code=404, detail="User not found")
148
- except JWTError as e:
149
- logger.error(f"[USER DATA] JWT decode failed: {e}")
150
- raise HTTPException(status_code=401, detail="Invalid token")
151
  elif email:
152
  # Public path
153
  user = get_user(email)
@@ -165,18 +155,20 @@ async def get_user_data(
165
  "chat_histories": user.get('chat_histories', [])
166
  }
167
 
168
- @router.put("/user/update")("/user/update")
169
  async def update_user(
170
  request: Request,
171
  name: Optional[str] = Form(None),
172
  email: Optional[str] = Form(None),
173
  password: Optional[str] = Form(None),
174
  avatar: Optional[UploadFile] = File(None),
175
- current_user: dict = Depends(oauth2_scheme)
176
  ):
177
  update_data = {}
178
- if name: update_data['name'] = name
179
- if email: update_data['email'] = email
 
 
180
  if password:
181
  try:
182
  _ = User(name=current_user['name'], email=current_user['email'], password=password)
@@ -194,7 +186,7 @@ async def update_user(
194
  return {"message": "User updated successfully"}
195
 
196
  @router.post("/logout")
197
- async def logout(request: Request, current_user: dict = Depends(oauth2_scheme)):
198
  logger.info(f"User logged out: {current_user['email']}")
199
  return {"message": "User logged out successfully"}
200
 
 
132
  email: Optional[str] = Query(None, description="User email")
133
  ):
134
  # Determine if Authorization header is provided
135
+ auth_header = request.headers.get("Authorization", "")
136
  user = None
137
+ if auth_header.startswith("Bearer "):
138
+ token = auth_header.split(" ", 1)[1]
139
  # Authenticated path
140
+ user = get_current_user(token)
 
 
 
 
 
 
 
 
 
 
141
  elif email:
142
  # Public path
143
  user = get_user(email)
 
155
  "chat_histories": user.get('chat_histories', [])
156
  }
157
 
158
+ @router.put("/user/update")
159
  async def update_user(
160
  request: Request,
161
  name: Optional[str] = Form(None),
162
  email: Optional[str] = Form(None),
163
  password: Optional[str] = Form(None),
164
  avatar: Optional[UploadFile] = File(None),
165
+ current_user: dict = Depends(get_current_user)
166
  ):
167
  update_data = {}
168
+ if name:
169
+ update_data['name'] = name
170
+ if email:
171
+ update_data['email'] = email
172
  if password:
173
  try:
174
  _ = User(name=current_user['name'], email=current_user['email'], password=password)
 
186
  return {"message": "User updated successfully"}
187
 
188
  @router.post("/logout")
189
+ async def logout(request: Request, current_user: dict = Depends(get_current_user)):
190
  logger.info(f"User logged out: {current_user['email']}")
191
  return {"message": "User logged out successfully"}
192