"""Signal receivers wiring reports → feedback channels.

When a report is published, seed a ReportReview channel so stakeholders have
a dedicated intake for comments on that specific report version.
"""
from __future__ import annotations

import logging

from django.dispatch import receiver

from apps.mel.reports.signals import mel_report_published

logger = logging.getLogger(__name__)


@receiver(mel_report_published, dispatch_uid="mel.feedback.seed_report_review_channel")
def on_report_published(sender, report=None, **kwargs):
    if report is None:
        return
    from apps.mel.feedback.services import ensure_report_review_channel

    channel = ensure_report_review_channel(report)
    logger.info("mel.feedback seeded report review channel report=%s slug=%s", report.pk, channel.slug)
