topGdev's picture
add ai similarity
a561338
# app/dependencies/auth.py
from jose import JWTError, jwt
from fastapi import Depends, HTTPException
from fastapi.security import OAuth2PasswordBearer
from motor.motor_asyncio import AsyncIOMotorClient
from bson import ObjectId
from app.config import MONGODB_URI, JWT_SECRET_KEY, JWT_ALGORITHM
# from app.schemas.report_schemas import User
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/auth/login")
async def get_mongo_client():
return AsyncIOMotorClient(MONGODB_URI)
# async def get_current_user(
# token: str = Depends(oauth2_scheme),
# mongo_client: AsyncIOMotorClient = Depends(get_mongo_client),
# ):
# # 1) Decode the JWT
# try:
# payload = jwt.decode(token, JWT_SECRET_KEY, algorithms=[JWT_ALGORITHM])
# user_id: str = payload.get("id")
# if not user_id:
# raise HTTPException(status_code=401, detail="Invalid token payload")
# except JWTError:
# raise HTTPException(status_code=401, detail="Could not validate credentials")
# # 2) Retrieve the user document from MongoDB
# db = mongo_client.get_default_database()
# users_col = db["users"]
# user_doc = await users_col.find_one({"_id": ObjectId(user_id)})
# if not user_doc:
# raise HTTPException(status_code=404, detail="User not found")
# user_doc["id"] = str(user_doc["_id"])
# return User(**user_doc)