import json
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
from .models import Day
from django.conf import settings
import os

def export_days_to_json():
    days = Day.objects.all().order_by('id')
    data = []
    for day in days:
        data.append({
            'id': str(day.id),
            'name': day.name,
            'slug': day.slug,
            'status': day.status.title,
            'created_at': str(day.created_at),
        })
    with open(os.path.join(settings.DATA_CACHE_DIR, 'days.json'), 'w') as f:
        json.dump(data, f, indent=4)

@receiver(post_save, sender=Day)
def save_day_signal(sender, instance, **kwargs):
    export_days_to_json()

@receiver(post_delete, sender=Day)
def delete_day_signal(sender, instance, **kwargs):
    export_days_to_json()
