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

15 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-11-05 09:52 +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_