# Generated by Django 3.2.25 on 2026-09-17 14:52

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('xygaming_app', '0003_auto_20260912_1855'),
    ]

    operations = [
        migrations.AddField(
            model_name='couponreedemby',
            name='discount_amount',
            field=models.FloatField(default=0.0),
        ),
        migrations.AddField(
            model_name='couponreedemby',
            name='order',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='coupon_redemptions', to='xygaming_app.order'),
        ),
        migrations.AddField(
            model_name='couponreedemby',
            name='redeemed_at',
            field=models.DateTimeField(auto_now_add=True, null=True),
        ),
        migrations.AddField(
            model_name='coupons',
            name='max_uses',
            field=models.PositiveIntegerField(default=0, help_text='Total usage limit across all users (0 = unlimited)'),
        ),
        migrations.AddField(
            model_name='coupons',
            name='max_uses_per_user',
            field=models.PositiveIntegerField(default=1, help_text='Maximum redemptions per user (default 1)'),
        ),
        migrations.AddField(
            model_name='coupons',
            name='min_purchase_amount',
            field=models.FloatField(default=0.0, help_text='Minimum item amount required to apply'),
        ),
        migrations.AddField(
            model_name='coupons',
            name='products',
            field=models.ManyToManyField(blank=True, related_name='multi_coupons', to='xygaming_app.Product'),
        ),
        migrations.AddField(
            model_name='coupons',
            name='used_count',
            field=models.PositiveIntegerField(default=0, help_text='Total number of times redeemed'),
        ),
        migrations.AddField(
            model_name='order',
            name='coupon',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='xygaming_app.coupons'),
        ),
        migrations.AddField(
            model_name='order',
            name='coupon_code',
            field=models.CharField(blank=True, max_length=255, null=True),
        ),
        migrations.AddField(
            model_name='order',
            name='discount_amount',
            field=models.FloatField(default=0.0),
        ),
        migrations.AlterField(
            model_name='couponreedemby',
            name='coupon',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='redemptions', to='xygaming_app.coupons'),
        ),
        migrations.AlterField(
            model_name='couponreedemby',
            name='user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='coupon_redemptions', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AlterField(
            model_name='coupons',
            name='isactive',
            field=models.BooleanField(default=True),
        ),
        migrations.AlterField(
            model_name='coupons',
            name='product',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='coupons', to='xygaming_app.product'),
        ),
        migrations.AlterField(
            model_name='coupons',
            name='valid_from',
            field=models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True),
        ),
        migrations.AlterField(
            model_name='coupons',
            name='valid_to',
            field=models.DateTimeField(blank=True, null=True),
        ),
    ]
