Coverage for toardb/auth_user/auth_user.py: 48%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-03 20:32 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-03 20:32 +0000
1from fastapi import APIRouter, Depends, HTTPException, Request, Query
2from typing import List
3from sqlalchemy.orm import Session
5from . import crud, schemas
6from toardb.utils.database import get_db
8router = APIRouter()
10#get all metadata of one person
11@router.get('/auth_user/')
12def get_eduperson(request: Request, eduperson_unique_id: str = None, DoIncr: str = "0,0", db: Session = Depends(get_db)):
13 try:
14 parts = [int(x) for x in DoIncr.split(",")]
15 except ValueError:
16 raise HTTPException(status_code=400, detail="Parameter 'DoIncr' must contain two integers, separated by a comma.")
18 if len(parts) != 2:
19 raise HTTPException(status_code=400, detail="Parameter 'DoIncr' must contain exactly two values.")
20 db_person = crud.get_eduperson_and_roles(request, db, eduperson_unique_id=eduperson_unique_id, DoIncr=parts)
21 if db_person is None:
22 raise HTTPException(status_code=404, detail="Eduperson not found.")
23 return db_person
26#determine increments (number of time series/gridded products of a given request)
27@router.get('/auth_user/increments/')
28def get_increments(request: Request, db: Session = Depends(get_db), user_role=None):
29 return crud.determine_increments(request, db, user_role=user_role)