SplatNet-Backend/routes/equipment/equipment_history.py
red binder 0b5e56b69b
Some checks failed
backend / docker (push) Failing after 10s
rewrite for new account oauth
2026-06-21 23:37:29 +02:00

38 lines
No EOL
1.3 KiB
Python

from fastapi import APIRouter, Request, Depends, HTTPException
from sqlalchemy.orm import Session as DBSession
from database import SessionLocal, User, Session as UserSession, Equipment
from services import auth
from config import cipher
import json
router = APIRouter()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@router.get("/me/equipment/history")
async def get_history(request: Request, db: DBSession = Depends(get_db)):
session_id = request.cookies.get("session_id")
db_session = db.query(UserSession).filter(UserSession.id == session_id).first()
if not db_session:
raise HTTPException(status_code=401)
user = db.query(User).filter(User.username == db_session.username).first()
try:
decrypted_pass = cipher.decrypt(user.spfn_pass_enc.encode()).decode()
token_data = auth.get_token(user.username, decrypted_pass)
profile = json.loads(auth.get_profile(token_data["access_token"]))
pid_val = int(profile.get("pid"))
print(f"Fetching History for PID: {pid_val}")
results = db.query(Equipment).filter(Equipment.PId == pid_val).all()
return results
except Exception as e:
print(f"Error in history route: {e}")
return []