from sqlalchemy.orm import Session
from backend.repos import RepositoryHouses
from backend.schemas import HouseCreate, HouseUpdate
from backend.services._base_service import BaseService

class HouseService(BaseService):
  def __init__(self):
    self.repos = RepositoryHouses()

  def create(self, db: Session, house: HouseCreate):
    return self.repos.create(db=db, house=house)

  def get_all(self, skip: int = 0, limit: int = 100):
    return self.repos.get_all(skip=skip, limit=limit)

  def get_all_count(self):
    return self.repos.get_count_all()

  def get_by_id(self, id: str):
    return self.repos.get_by_id(house_id=id)

  def update(self, db: Session, house: HouseUpdate):
    return self.repos.update(db=db, house=house)

  def delete(self, db: Session, house_id: str):
    return self.repos.delete(db=db, house_id=house_id)