# Configuration needed for openedx-event-sink-clickhouse
EVENT_SINK_CLICKHOUSE_BACKEND_CONFIG = {
	"url": "{% if CLICKHOUSE_SECURE_CONNECTION %}https{% else %}http{% endif %}://{{ CLICKHOUSE_HOST }}:{{ CLICKHOUSE_INTERNAL_HTTP_PORT }}",
	"username": "{{ ASPECTS_CLICKHOUSE_CMS_USER }}",
	"password": "{{ ASPECTS_CLICKHOUSE_CMS_PASSWORD }}",
	"database": "{{ ASPECTS_EVENT_SINK_DATABASE }}",
	"timeout_secs": {{ ASPECTS_EVENT_SINK_CLICKHOUSE_TIMEOUT_SECS }}
}
SUPERSET_CONFIG = {
	"service_url": "{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ SUPERSET_HOST }}",
	"username": "{{ SUPERSET_LMS_USERNAME }}",
	"password": "{{ SUPERSET_LMS_PASSWORD }}",
}
EVENT_SINK_CLICKHOUSE_PII_MODELS = {{ EVENT_SINK_PII_MODELS }}

ASPECTS_INSTRUCTOR_DASHBOARDS = {{ ASPECTS_INSTRUCTOR_DASHBOARDS }}
SUPERSET_DASHBOARD_LOCALES = {{ SUPERSET_DASHBOARD_LOCALES }}
{% if ASPECTS_ENABLE_INSTRUCTOR_DASHBOARD_PLUGIN %}
try:
    not OPEN_EDX_FILTERS_CONFIG
except NameError:  # OPEN_EDX_FILTERS_CONFIG is not defined
    OPEN_EDX_FILTERS_CONFIG = {}
if not OPEN_EDX_FILTERS_CONFIG.get("org.openedx.learning.instructor.dashboard.render.started.v1"):
    OPEN_EDX_FILTERS_CONFIG["org.openedx.learning.instructor.dashboard.render.started.v1"] = {
        "fail_silently": False,
        "pipeline": [],
    }
OPEN_EDX_FILTERS_CONFIG["org.openedx.learning.instructor.dashboard.render.started.v1"]["pipeline"].append("platform_plugin_aspects.extensions.filters.AddSupersetTab")
{% endif %}

{% if ASPECTS_ENABLE_EVENT_BUS_PRODUCER %}
# Update the backends to use the event bus
EVENT_TRACKING_BACKENDS["event_transformer"]["ENGINE"] = "eventtracking.backends.event_bus.EventBusRoutingBackend"
# Update backend to send events in sync mode
EVENT_TRACKING_BACKENDS["event_transformer"]["OPTIONS"]["backends"]["xapi"]["ENGINE"] = "event_routing_backends.backends.sync_events_router.SyncEventsRouter"
EVENT_TRACKING_BACKENDS["event_transformer"]["OPTIONS"]["backends"]["caliper"]["ENGINE"] = "event_routing_backends.backends.sync_events_router.SyncEventsRouter"
# Enable the event bus producer
SEND_TRACKING_EVENT_EMITTED_SIGNAL = True
# Update the event bus producer config
EVENT_BUS_PRODUCER_CONFIG.update(
	{
    	"org.openedx.analytics.tracking.event.emitted.v1": {
        	"analytics": {
            	"event_key_field": "tracking_log.name", "enabled": True
         	}
       }
    }
)

INSTALLED_APPS.append("openedx_events")
{% endif %}
