from datetime import date from apollo_utils.job.clients.base.client import BaseApiClient from juno_monitoring import config from juno_monitoring.clients.base_config import ApiConfig from juno_monitoring.constants import Service, TTL, USER_DATA_HEADER class UserDataClientConfig(ApiConfig): service = Service.USER_DATA class UserDataClient(UserDataClientConfig, BaseApiClient): def post_event(self, previous_date: date, current_date: date) -> dict: body = { "public": config.EVENT_IS_PUBLIC, "code": "juno_updated", "ttl": TTL, "meta": {"domain": "juno"}, "data": { "previous_date": previous_date.isoformat() if previous_date else None, "current_date": current_date.isoformat(), }, } return self.send_request( "api/service/events/", method="POST", data=body, headers=USER_DATA_HEADER, get_json=True )