2025-02-19 11:59:11 +01:00

37 lines
1.2 KiB
Python

from sqlalchemy.orm import Session
from app.models.owner import Owner
from app.schemas.owner import OwnerCreate, OwnerUpdate
class OwnerRepository:
def __init__(self, db: Session):
self.db = db
def get(self, owner_id: int) -> Owner:
return self.db.query(Owner).filter(Owner.id == owner_id).first()
def get_all(self, skip: int = 0, limit: int = 100) -> list[Owner]:
return self.db.query(Owner).offset(skip).limit(limit).all()
def create(self, owner: OwnerCreate) -> Owner:
db_owner = Owner(**owner.dict())
self.db.add(db_owner)
self.db.commit()
self.db.refresh(db_owner)
return db_owner
def update(self, owner_id: int, owner: OwnerUpdate) -> Owner:
db_owner = self.get(owner_id)
if db_owner:
for key, value in owner.dict().items():
setattr(db_owner, key, value)
self.db.commit()
self.db.refresh(db_owner)
return db_owner
def delete(self, owner_id: int) -> Owner:
db_owner = self.get(owner_id)
if db_owner:
self.db.delete(db_owner)
self.db.commit()
return db_owner