# Generated migration for adding video support to Product Reviews

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('producers_products', '0002_initial'),
    ]

    operations = [
        # Convert review_image from ImageField to CharField
        migrations.AlterField(
            model_name='productsreview',
            name='review_image',
            field=models.CharField(
                max_length=255,
                blank=True,
                null=True,
                help_text="Cloudinary public_id for image"
            ),
        ),
        # Add review_video field
        migrations.AddField(
            model_name='productsreview',
            name='review_video',
            field=models.CharField(
                max_length=255,
                blank=True,
                null=True,
                help_text="Cloudinary public_id for video"
            ),
        ),
        # Add video_duration field
        migrations.AddField(
            model_name='productsreview',
            name='video_duration',
            field=models.PositiveIntegerField(
                blank=True,
                null=True,
                help_text="Video duration in seconds"
            ),
        ),
        # Add database constraint for mutual exclusivity
        migrations.AddConstraint(
            model_name='productsreview',
            constraint=models.CheckConstraint(
                check=(
                    models.Q(review_image__isnull=False, review_video__isnull=True) |
                    models.Q(review_image__isnull=True, review_video__isnull=False) |
                    models.Q(review_image__isnull=True, review_video__isnull=True)
                ),
                name='product_review_image_or_video_not_both'
            ),
        ),
    ]
