Changed: split functionnality into different mixin

This commit is contained in:
etienne-hd
2025-12-24 13:58:39 +01:00
parent 00cf534191
commit 4e69194821
17 changed files with 138 additions and 124 deletions

35
src/lbc/model/search.py Normal file
View File

@@ -0,0 +1,35 @@
from .ad import Ad
from dataclasses import dataclass
from typing import List, Any
@dataclass
class Search:
total: int
total_all: int
total_pro: int
total_private: int
total_active: int
total_inactive: int
total_shippable: int
max_pages: int
ads: List[Ad]
@staticmethod
def _build(raw: dict, client: Any) -> "Search":
ads: List[Ad] = [
Ad._build(raw=ad, client=client)
for ad in raw.get("ads", [])
]
return Search(
total=raw.get("total"),
total_all=raw.get("total_all"),
total_pro=raw.get("total_pro"),
total_private=raw.get("total_private"),
total_active=raw.get("total_active"),
total_inactive=raw.get("total_inactive"),
total_shippable=raw.get("total_shippable"),
max_pages=raw.get("max_pages"),
ads=ads,
)