Coverage for microservice_websocket/app/blueprints/api/session.py: 100%
22 statements
« prev ^ index » next coverage.py v7.0.0, created at 2022-12-20 14:31 +0000
« prev ^ index » next coverage.py v7.0.0, created at 2022-12-20 14:31 +0000
1from fastapi import APIRouter, Depends
2from pydantic import BaseModel
4from ...services.database import Reading
5from ...services.jwt import jwt_required
6from ...utils.session import get_session, get_sessions_id
8session_router = APIRouter()
11class GetSessionResponse(BaseModel):
12 readings: list[Reading.Serialized]
15class GetSessionIDsResponse(BaseModel):
16 IDs: list[int]
19@session_router.get(
20 "/session/{sessionID}",
21 dependencies=[Depends(jwt_required)],
22 response_model=GetSessionResponse,
23)
24async def get_reading_session(nodeID: int, sessionID: int):
25 readings = await get_session(nodeID, sessionID)
27 return {"readings": [await x.serialize() for x in readings]}
30@session_router.get(
31 "/session",
32 dependencies=[Depends(jwt_required)],
33 response_model=GetSessionResponse,
34)
35async def get_reading_session_no_sessionID(nodeID: int):
36 readings = await get_session(nodeID, None)
38 return {"readings": [await x.serialize() for x in readings]}
41@session_router.get(
42 "/sessions",
43 dependencies=[Depends(jwt_required)],
44 response_model=GetSessionIDsResponse,
45)
46async def get_sessions_id_route(nodeID: int):
47 sessions_id = await get_sessions_id(nodeID)
49 return {"IDs": sessions_id}