file_repository.py 950 B

1234567891011121314151617181920212223242526272829303132
  1. from sqlalchemy import select
  2. from sqlalchemy.orm import Session
  3. from models import ToolFile, UploadFile
  4. from .models import File
  5. def get_upload_file(*, session: Session, file: File):
  6. if file.related_id is None:
  7. raise ValueError("Missing file related_id")
  8. stmt = select(UploadFile).filter(
  9. UploadFile.id == file.related_id,
  10. UploadFile.tenant_id == file.tenant_id,
  11. )
  12. record = session.scalar(stmt)
  13. if not record:
  14. raise ValueError(f"upload file {file.related_id} not found")
  15. return record
  16. def get_tool_file(*, session: Session, file: File):
  17. if file.related_id is None:
  18. raise ValueError("Missing file related_id")
  19. stmt = select(ToolFile).filter(
  20. ToolFile.id == file.related_id,
  21. ToolFile.tenant_id == file.tenant_id,
  22. )
  23. record = session.scalar(stmt)
  24. if not record:
  25. raise ValueError(f"tool file {file.related_id} not found")
  26. return record