[FWA-5] Update Home List Function
This commit is contained in:
@ -12,6 +12,7 @@ from backend.core.config import get_app_settings
|
||||
from backend.db.db_setup import session_context
|
||||
from backend.repos.repository_users import RepositoryUsers
|
||||
from backend.repos.seeder import default_users_init
|
||||
from backend.repos.seeder.init_house import default_house_init
|
||||
|
||||
PROJECT_DIR = Path(__file__).parent.parent.parent
|
||||
|
||||
@ -20,6 +21,7 @@ logger = root_logger.get_logger()
|
||||
def init_db(db) -> None:
|
||||
logger.info("Initializing user data...")
|
||||
default_users_init(db)
|
||||
default_house_init(db)
|
||||
|
||||
def db_is_at_head(alembic_cfg: config.Config) -> bool:
|
||||
settings = get_app_settings()
|
||||
|
@ -9,13 +9,13 @@ class RepositoryHouses:
|
||||
self.areas = Areas()
|
||||
|
||||
def get_all(self, skip: int = 0, limit: int = 100):
|
||||
return self.houses.query.filter_by(deleted_at=None).offset(skip).limit(limit).all()
|
||||
return self.houses.query.filter_by(deleted_at=None).offset(skip*limit).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_count_all(self):
|
||||
return self.houses.query.filter_by(deleted_at=None).count()
|
||||
|
||||
def get_by_id(self, house_id: str):
|
||||
return self.houses.query.filter_by(id=house_id).one()
|
||||
|
@ -1 +1,2 @@
|
||||
from .init_users import default_users_init
|
||||
from .init_house import default_house_init
|
||||
|
26
backend/repos/seeder/init_house.py
Normal file
26
backend/repos/seeder/init_house.py
Normal file
@ -0,0 +1,26 @@
|
||||
from backend.core.config import get_app_settings
|
||||
from backend.core.root_logger import get_logger
|
||||
from backend.repos.repository_houses import RepositoryHouses
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from backend.schemas.house.house import HouseCreate
|
||||
|
||||
|
||||
logger = get_logger("init_house")
|
||||
settings = get_app_settings()
|
||||
|
||||
def dev_houses() -> list[dict]:
|
||||
list = []
|
||||
for x in range(20):
|
||||
list.append({
|
||||
"icon": "IconAccessible",
|
||||
"name": f"Home{x+1}",
|
||||
"address": f"Address{x+1}",
|
||||
"areas": [{"name": f"Area{x+1}", "desc": "Description"}],
|
||||
})
|
||||
return list
|
||||
|
||||
def default_house_init(session: Session):
|
||||
houses = RepositoryHouses()
|
||||
for house in dev_houses():
|
||||
houses.create(session, HouseCreate(**house))
|
@ -12,19 +12,13 @@ settings = get_app_settings()
|
||||
def dev_users() -> list[dict]:
|
||||
return [
|
||||
{
|
||||
"username": "sam",
|
||||
"username": "admin",
|
||||
"password": "admin",
|
||||
"name": "Sam",
|
||||
"is_admin": True,
|
||||
},
|
||||
{
|
||||
"username": "duy",
|
||||
"password": "admin",
|
||||
"name": "Duy",
|
||||
"is_admin": True,
|
||||
},
|
||||
{
|
||||
"username": "sam1",
|
||||
"username": "admin1",
|
||||
"password": "admin",
|
||||
"name": "Sam1",
|
||||
"is_admin": False,
|
||||
|
@ -28,6 +28,6 @@ def create_house(house: HouseCreate, db: db_dependency, current_user: current_us
|
||||
|
||||
@public_router.get("/all", response_model=ReturnValue[HousesListResponse])
|
||||
async def get_all_house(page: int, pageSize: int, current_user: current_user_token) -> ReturnValue[HousesListResponse]:
|
||||
housesCount = house_service.get_all_count(skip=page-1, limit=pageSize)
|
||||
housesCount = house_service.get_all_count()
|
||||
houses = house_service.get_all(skip=page-1, limit=pageSize)
|
||||
return ReturnValue(status=200, data={'total': housesCount, 'list': list(houses)})
|
||||
|
@ -14,4 +14,4 @@ class HouseService(BaseService):
|
||||
return self.repos.get_all(skip=skip, limit=limit)
|
||||
|
||||
def get_all_count(self, skip: int = 0, limit: int = 100):
|
||||
return self.repos.get_count_all(skip=skip, limit=limit)
|
||||
return self.repos.get_count_all()
|
||||
|
Reference in New Issue
Block a user