from datetime import date from typing import Optional from apollo_utils.job.clients.base.client import BaseApiClient from juno_monitoring.clients.base_config import ApiConfig from juno_monitoring.constants import APOLLO_KEY, Service class ApolloClientConfig(ApiConfig): service = Service.APOLLO class ApolloClient(ApolloClientConfig, BaseApiClient): def get_last_date(self) -> Optional[date]: result = self.send_request("api/values/", get_json=True, key=APOLLO_KEY) if not result or not result["value"]: return None return date.fromisoformat(result["value"]) def set_last_date(self, value: date) -> dict: return self.send_request("api/values/", method="PUT", get_json=True, key=APOLLO_KEY, value=value.isoformat())