Заливаем готовую часть #1

Merged
Sosees04ka merged 26 commits from modified_db into main 2024-11-05 21:26:38 +04:00
3 changed files with 17 additions and 1 deletions
Showing only changes of commit de0e04fb3a - Show all commits

View File

@ -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()

View File

@ -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:

View File

@ -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)