Заливаем готовую часть #1
@ -12,3 +12,13 @@ async def get_exp_data_by_file_id(file_id: str) -> Sequence[ExperimentData]:
|
|||||||
select(ExperimentData).where(ExperimentData.file_id == file_id)
|
select(ExperimentData).where(ExperimentData.file_id == file_id)
|
||||||
)
|
)
|
||||||
return result.scalars().all()
|
return result.scalars().all()
|
||||||
|
|
||||||
|
|
||||||
|
async def get_all_exp_data(page: int, page_size: int) -> Sequence[ExperimentData]:
|
||||||
|
async with async_session_postgres() as session:
|
||||||
|
offset = (page - 1) * page_size
|
||||||
|
|
||||||
|
result = await session.execute(
|
||||||
|
select(ExperimentData).offset(offset).limit(page_size)
|
||||||
|
)
|
||||||
|
return result.scalars().all()
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
from fastapi import APIRouter, HTTPException
|
import math
|
||||||
|
|
||||||
|
from fastapi import APIRouter, HTTPException, Query
|
||||||
|
|
||||||
from db.crud import *
|
from db.crud import *
|
||||||
from db.models import ExperimentData
|
from db.models import ExperimentData
|
||||||
from db.repositories import get_exp_data_by_file_id
|
from db.repositories import get_exp_data_by_file_id, get_all_exp_data
|
||||||
from network.schemas import ExperimentDataBody
|
from network.schemas import ExperimentDataBody
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
@ -26,14 +28,15 @@ async def create_experiment_data(body: ExperimentDataBody):
|
|||||||
|
|
||||||
|
|
||||||
@router.get('/all')
|
@router.get('/all')
|
||||||
async def get_all_experiment_data():
|
async def get_all_experiment_data(page: int = Query(ge=1, default=1),
|
||||||
|
size: int = Query(ge = 1, le=100, default=15)):
|
||||||
try:
|
try:
|
||||||
result = await get_all(ExperimentData)
|
result = await get_all_exp_data(page, size)
|
||||||
|
return {
|
||||||
if result is not None:
|
"items": result,
|
||||||
return result
|
"page": page,
|
||||||
else:
|
"size": size,
|
||||||
return {"message": "Нет записей в <ExperimentData>"}
|
}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user