"""Requests to ows-moneyhub.""" from typing import Any from typing import ClassVar from src.connectors.ows_service import OwsService class OwsMoneyhub(OwsService): """OwsMoneyhub client for fetching request.""" _service: ClassVar[str] = 'ows-moneyhub' @classmethod def get_account_activity(cls, account_id: int) -> dict[str, Any]: """Get an account's activity. Args: account_id (int): ID of the account. Returns: dict: Account activity """ path = f'/account/{account_id}/activity' return cls.get(path) @classmethod def get_report_custom(cls, report_custom_id: int) -> dict[str, Any]: """Get a custom report. Args: report_custom_id (int): ID of the report. Returns: dict: Report data. """ path = f'/reports/custom/{report_custom_id}' return cls.get(path) @classmethod def update_report_custom( cls, report_custom_id: int, **body: str | int | None ) -> dict[str, Any]: """Update a custom report. Args: report_custom_id (int): ID of the report. body: the body for the request. Returns: dict: Report data. """ path = f'/reports/custom/{report_custom_id}' return cls.put(path, **body)