[FWA-5] Home Create and List
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
from backend.db.models.houses import Houses
|
||||
from backend.db.models.houses import Houses, Areas
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from backend.schemas.house import HouseCreate
|
||||
@ -6,16 +6,26 @@ from backend.schemas.house import HouseCreate
|
||||
class RepositoryHouses:
|
||||
def __init__(self):
|
||||
self.houses = Houses()
|
||||
self.areas = Areas()
|
||||
|
||||
def get_all(self, skip: int = 0, limit: int = 100):
|
||||
return self.houses.query.offset(skip).limit(limit).all()
|
||||
return self.houses.query.filter_by(deleted_at=None).offset(skip).limit(limit).all()
|
||||
|
||||
def get_all_areas(self, house_id: str, skip: int = 0, limit: int = 100):
|
||||
return self.areas.query.filter_by(deleted_at=None, house_id=house_id).offset(skip).limit(limit).all()
|
||||
|
||||
def get_count_all(self, skip: int = 0, limit: int = 100):
|
||||
return self.houses.query.filter_by(deleted_at=None).offset(skip).limit(limit).count()
|
||||
|
||||
def get_by_id(self, house_id: str):
|
||||
return self.houses.query.filter_by(id=house_id).one()
|
||||
|
||||
def create(self, db: Session, house: HouseCreate):
|
||||
try:
|
||||
db_house = Houses(**house.dict())
|
||||
areas = getattr(house, "areas")
|
||||
db_house = Houses(**house.dict(exclude={"areas"}))
|
||||
for area in areas:
|
||||
db_house.areas.append(Areas(**area.dict()))
|
||||
db.add(db_house)
|
||||
db.commit()
|
||||
except Exception:
|
||||
|
@ -16,21 +16,18 @@ def dev_users() -> list[dict]:
|
||||
"password": "admin",
|
||||
"name": "Sam",
|
||||
"is_admin": True,
|
||||
"is_lock": False,
|
||||
},
|
||||
{
|
||||
"username": "duy",
|
||||
"password": "admin",
|
||||
"name": "Duy",
|
||||
"is_admin": True,
|
||||
"is_lock": False,
|
||||
},
|
||||
{
|
||||
"username": "sam1",
|
||||
"password": "admin",
|
||||
"name": "Sam1",
|
||||
"is_admin": False,
|
||||
"is_lock": False,
|
||||
},
|
||||
]
|
||||
|
||||
|
Reference in New Issue
Block a user