refactor: Update `QueryParams` to inherit from `DefaultBase` with an `itemsPerPage` alias and inject it as a dependency in the masterdata router.

main^2
MrWaradana 4 days ago
parent aaabe1b8c4
commit 53cf29822b

@ -3,7 +3,7 @@ from fastapi import APIRouter, HTTPException, status, Query
from sqlalchemy import Select from sqlalchemy import Select
from src.manpower_cost.schema import QueryParams from .schema import QueryParams
from .model import MasterData from .model import MasterData
from .schema import ( from .schema import (
MasterDataPagination, MasterDataPagination,
@ -25,7 +25,7 @@ router = APIRouter()
async def get_masterdatas( async def get_masterdatas(
db_session: DbSession, db_session: DbSession,
common: CommonParameters, common: CommonParameters,
params: Annotated[QueryParams, Query()], params: Annotated[QueryParams, Depends()],
): ):
"""Get all documents.""" """Get all documents."""
# return # return

@ -52,10 +52,11 @@ class MasterDataPagination(Pagination):
items: List[MasterDataRead] = [] items: List[MasterDataRead] = []
class QueryParams(BaseModel): class QueryParams(DefaultBase):
items_per_page: Optional[int] = Field( items_per_page: Optional[int] = Field(
5, 5,
ge=1, ge=1,
alias="itemsPerPage",
description="Items per page" description="Items per page"
) )
search: Optional[str] = Field( search: Optional[str] = Field(

Loading…
Cancel
Save