from google.cloud import bigquery
from dostadmin import app_logger
from config import UNIFIED_DATASOURCE_LOCATION


def delete_admidashboard_records(user_phone, table_name, exp_id):
    client = bigquery.Client()

    conditions = {
        "engagement": f"RIGHT(phone, 10) = '{user_phone}'",
        "user_program": f"id = {exp_id}",
        "experience_pause_log": f"experience_id = {exp_id}",
        "registration": f"RIGHT(user_phone, 10) = '{user_phone}'",
        "campaign": f"experience_id = {exp_id}",
    }

    condition = conditions.get(table_name, f"experience_id = {exp_id}")
    query_to_delete_records = f"""
        DELETE
        FROM `{UNIFIED_DATASOURCE_LOCATION}.{table_name}`
        WHERE data_source = 'admindashboard' AND {condition}
    """
    app_logger.info(
        f"Executing query to delete records from {table_name}: {query_to_delete_records}"
    )

    client.query(query_to_delete_records)
