Заливаем готовую часть #1
@ -11,6 +11,9 @@ class ChExperimentDBExperimentDataRepository:
|
|||||||
def get_by_id(self, id: int) -> ChExperimentDBExperimentData:
|
def get_by_id(self, id: int) -> ChExperimentDBExperimentData:
|
||||||
return self.session.query(ChExperimentDBExperimentData).filter(ChExperimentDBExperimentData.id == id).one_or_none()
|
return self.session.query(ChExperimentDBExperimentData).filter(ChExperimentDBExperimentData.id == id).one_or_none()
|
||||||
|
|
||||||
|
def get_by_file_id(self, file_id: str) -> ChExperimentDBExperimentData:
|
||||||
|
return self.session.query(ChExperimentDBExperimentData).filter(ChExperimentDBExperimentData.file_id == file_id).all()
|
||||||
|
|
||||||
def create(self, ch_experiment_data: ChExperimentDBExperimentData) -> ChExperimentDBExperimentData:
|
def create(self, ch_experiment_data: ChExperimentDBExperimentData) -> ChExperimentDBExperimentData:
|
||||||
max_id_query = select(func.max(ChExperimentDBExperimentData.id))
|
max_id_query = select(func.max(ChExperimentDBExperimentData.id))
|
||||||
max_id_result = self.session.execute(max_id_query).scalar()
|
max_id_result = self.session.execute(max_id_query).scalar()
|
||||||
|
@ -54,6 +54,19 @@ async def get_ch_experimentdb_experiment_data_by_id(id: int):
|
|||||||
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)}")
|
||||||
|
|
||||||
|
|
||||||
|
@router.get('/file_id/{file_id}')
|
||||||
|
async def get_ch_experimentdb_experiment_data_by_file_id(file_id: str):
|
||||||
|
try:
|
||||||
|
record = repository.get_by_file_id(file_id)
|
||||||
|
if record:
|
||||||
|
return record
|
||||||
|
else:
|
||||||
|
raise HTTPException(status_code=404, detail="Запись не найдена")
|
||||||
|
except Exception as e:
|
||||||
|
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
@router.delete('/{id}/delete')
|
@router.delete('/{id}/delete')
|
||||||
async def delete_ch_experimentdb_experiment_data(id: int):
|
async def delete_ch_experimentdb_experiment_data(id: int):
|
||||||
try:
|
try:
|
||||||
|
@ -54,7 +54,7 @@ async def get_by_id_experiment_data(id: int):
|
|||||||
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"An error occurred: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
@router.get('/{file_id}')
|
@router.get('/file_id/{file_id}')
|
||||||
async def get_experiment_data_by_file_id(file_id: str):
|
async def get_experiment_data_by_file_id(file_id: str):
|
||||||
try:
|
try:
|
||||||
result = await get_exp_data_by_file_id(file_id)
|
result = await get_exp_data_by_file_id(file_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user