SplatNet-Backend/routes/equipment/equipment_history.py
red binder ca8090d20d
Some checks failed
backend / docker (push) Failing after 10s
update more routes
2026-06-21 23:40:21 +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 = 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 []