from typing import List from sqlalchemy.orm import Session from sqlalchemy.sql.sqltypes import Boolean from models.company import Company as CompanyModel from schemas.company import Company as CompanySchema def get_companies(db: Session, skip: int = 0, limit: int = 100) -> List[CompanyModel]: return db.query(CompanyModel).all() def get_company_by_id(db: Session, id: int) -> CompanyModel: return db.query(CompanyModel).filter(CompanyModel.id == id).first() def get_company_by_title(db: Session, title: str) -> CompanyModel: return db.query(CompanyModel).filter(CompanyModel.title == title).first() def create_company(db: Session, company: CompanySchema) -> CompanyModel: db_company = CompanyModel(id=company.id, title=company.title) db.add(db_company) db.commit() db.refresh(db_company) return db_company def delete_company(db: Session, id: str) -> Boolean: company = db.query(CompanyModel).filter(CompanyModel.id == id).first() db.delete(company) db.commit() return True def update_company_title(db: Session, id: str, new_title: str) -> CompanyModel: company = db.query(CompanyModel).filter(CompanyModel.id == id).first() company.title = new_title db.commit() db.refresh(company) return company