import json

from django.db import models

class EsSessionStartDay(models.Model):
    session_start = models.ForeignKey("api.EsSessionStart", on_delete=models.SET_NULL,null=True)
    day = models.SmallIntegerField(db_comment="0 - Monday, 6 - Sunday")
    created_by = models.BigIntegerField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_by = models.BigIntegerField(null=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        db_table = "es_session_start_day"

    @staticmethod
    def bulk_insert(session_start_id, insert_list: list[str]):
        existing = set(
            EsSessionStartDay.objects.filter(session_start_id=session_start_id)
            .values_list("day", flat=True)
        )

        # remove exists
        new_list = [val for val in insert_list if val not in existing]

        objs = [
            EsSessionStartDay(session_start_id=session_start_id, day=item)
            for item in new_list
        ]
        return EsSessionStartDay.objects.bulk_create(objs)