Coverage for  / usr / local / lib / python3.14 / site-packages / twinpad_backend / responses.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.12.0, created at 2025-12-08 09:12 +0000

1from typing import TypeVar, Generic 

2from pydantic import BaseModel 

3 

4DataT = TypeVar("DataT") 

5 

6 

7class ListResponse(BaseModel, Generic[DataT]): 

8 limit: int 

9 offset: int 

10 sort_by: str 

11 items: list[DataT] 

12 total: int 

13 

14 def to_dict(self, exclude=None): 

15 """Excludes field on items""" 

16 if exclude is None: 

17 exclude = {} 

18 dict_ = self.model_dump(exclude={"items"}) 

19 dict_["items"] = [i.to_dict(exclude=exclude) for i in self.items] 

20 return dict_