@ -3,7 +3,7 @@ from typing import List, Optional
from uuid import UUID
from uuid import UUID
from pydantic import BaseModel , Field , model_validator
from pydantic import BaseModel , Field , model_validator
from src . models import DefaultBase, Pagination
from src . models import CommonParams, DefaultBase, Pagination
from src . auth . service import CurrentUser
from src . auth . service import CurrentUser
@ -52,27 +52,5 @@ class MasterDataPagination(Pagination):
items : List [ MasterDataRead ] = [ ]
items : List [ MasterDataRead ] = [ ]
class QueryParams ( DefaultBase ) :
class QueryParams ( CommonParams ) :
items_per_page : int = Field (
pass
5 ,
ge = 1 ,
alias = " items_per_page " ,
description = " Items per page "
)
itemsPerPage : Optional [ int ] = Field (
None ,
ge = 1 ,
description = " Alias for items_per_page "
)
search : Optional [ str ] = Field (
None ,
description = " Search keyword "
)
@model_validator ( mode = " before " )
@classmethod
def resolve_aliases ( cls , data : any ) - > any :
if isinstance ( data , dict ) :
if " itemsPerPage " in data and data [ " itemsPerPage " ] is not None :
data . setdefault ( " items_per_page " , data [ " itemsPerPage " ] )
return data