"""Task to create or update existing report_payment_group_payment record.""" from lib.constants import PAYMENT_GROUP_PAYMENT_REPORT_TYPES from lib.utils import ows from tasks.payments_generate_export import helpers def upsert_report_task(dag_run: dict, **kwargs): """Create or update an existing report_payment_group_payment with path to report on S3. Args: dag_run (dict): a dag's config """ event = helpers.get_event_from_params(dag_run, **kwargs) payment_group_payment = ows.get_payment_group_payment_details(event.target_id) report_s3_path = helpers.build_report_summary_location( payment_group_payment.get('payment_group_payment_id'), payment_group_payment.get('payment_name') ) ows.create_or_update_report_payment_group_payment( payment_group_payment.get('payment_group_payment_id'), report_s3_path.url, PAYMENT_GROUP_PAYMENT_REPORT_TYPES.SUMMARY )