finca_company.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from typing import List
  2. from sqlalchemy.orm import Session
  3. from sqlalchemy.sql.sqltypes import Boolean
  4. from cruds.utils import order_fincas
  5. from models.finca_company import FincaCompany as FincaCompanyModel
  6. from schemas.finca_company import FincaCompany as FincaCompanySchema
  7. def get_finca_company_by_company_id(db: Session, company_id: int) -> FincaCompanyModel:
  8. return (
  9. db.query(FincaCompanyModel)
  10. .filter(FincaCompanyModel.company_id == company_id)
  11. .all()
  12. )
  13. def create_finca_company(
  14. db: Session, finca_company: FincaCompanySchema
  15. ) -> FincaCompanyModel:
  16. db_finca_company = FincaCompanyModel(
  17. company_id=finca_company.company_id,
  18. finca_station_code=finca_company.finca_station_code,
  19. )
  20. db.add(db_finca_company)
  21. db.commit()
  22. db.refresh(db_finca_company)
  23. return db_finca_company
  24. def delete_finca_company(db: Session, company_id: int, station_code: str) -> Boolean:
  25. finca_company = (
  26. db.query(FincaCompanyModel)
  27. .filter(
  28. FincaCompanyModel.company_id == company_id,
  29. FincaCompanyModel.finca_station_code == station_code,
  30. )
  31. .first()
  32. )
  33. db.delete(finca_company)
  34. db.commit()
  35. return True