companies.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from typing import List
  2. from sqlalchemy.orm import Session
  3. from sqlalchemy.sql.sqltypes import Boolean
  4. from models.company import Company as CompanyModel
  5. from schemas.company import Company as CompanySchema
  6. def get_companies(db: Session, skip: int = 0, limit: int = 100) -> List[CompanyModel]:
  7. return db.query(CompanyModel).all()
  8. def get_company_by_id(db: Session, id: int) -> CompanyModel:
  9. return db.query(CompanyModel).filter(CompanyModel.id == id).first()
  10. def get_company_by_title(db: Session, title: str) -> CompanyModel:
  11. return db.query(CompanyModel).filter(CompanyModel.title == title).first()
  12. def create_company(db: Session, company: CompanySchema) -> CompanyModel:
  13. db_company = CompanyModel(id=company.id, title=company.title)
  14. db.add(db_company)
  15. db.commit()
  16. db.refresh(db_company)
  17. return db_company
  18. def delete_company(db: Session, id: str) -> Boolean:
  19. company = db.query(CompanyModel).filter(CompanyModel.id == id).first()
  20. db.delete(company)
  21. db.commit()
  22. return True
  23. def update_company_title(db: Session, id: str, new_title: str) -> CompanyModel:
  24. company = db.query(CompanyModel).filter(CompanyModel.id == id).first()
  25. company.title = new_title
  26. db.commit()
  27. db.refresh(company)
  28. return company