"""Templates for PLynx Hubs and utils."""
from abc import abstractmethod
from dataclasses import dataclass
from typing import Any, Dict, Optional
from dataclasses_json import dataclass_json
@dataclass_json
@dataclass
[docs]class Query:
"""Hub search query entry"""
[docs] per_page: int = 30
[docs] user_id: Optional[str] = None
[docs]class BaseHub:
"""Base Hub class"""
def __init__(self):
pass
@abstractmethod
[docs] def search(self, query: Query) -> Dict[str, Any]:
"""Search for items given a query"""