1- from fastapi import APIRouter , Depends
1+ from fastapi import APIRouter , Depends , HTTPException
22from sqlalchemy .ext .asyncio import AsyncSession
3- from sqlalchemy .orm import Session
4- from app .schemas .user import UserCreate
5- from app .crud .user import create_user
3+ from sqlalchemy .future import select
4+
5+ from app .schemas .overlay import OverlaySchema , OverlayCreate
6+ from app .crud .overlay import Overlay
67from app .db .session import get_db
78
89router = APIRouter ()
910
10- @router .get ("/" , response_model = list [Overlay ])
11+ @router .get ("/" , response_model = list [OverlaySchema ])
1112async def get_overlays (session : AsyncSession = Depends (get_db )):
12- result = await session .execute (select (Overlay ))
13- overlays = result .scalars ().all ()
14- return [Overlay (riotId = overlay .riotId , hdevApiKey = overlay .hdevApiKey , uuid = overlay .uuid ) for overlay in overlays ]
13+ return get_overlays (session )
1514
1615@router .get ("/{overlay_id}" , response_model = OverlaySchema )
1716async def get_overlay (overlay_id : str , session : AsyncSession = Depends (get_db )):
18- result = await session .execute (select (Overlay ).filter (Overlay .uuid == overlay_id ))
19- overlay = result .scalars ().first ()
20- if overlay is None :
21- raise HTTPException (status_code = 404 , detail = "Overlay not found" )
22- return overlay
17+ return get_overlay (overlay_id , session )
2318
24- @router .post ("/" )
19+ @router .post ("/" , response_model = OverlaySchema )
2520async def add_overlay (overlay : OverlayCreate , session : AsyncSession = Depends (get_db )):
26- overlay = Overlay (riotId = overlay .riotId , hdevApiKey = overlay .hdevApiKey )
27- session .add (overlay )
28- await session .commit ()
29- await session .refresh (overlay )
30- return overlay
21+ return add_overlay (overlay , session )
0 commit comments