# Generated by Django 5.0.2 on 2024-02-29 07:47 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="Plan", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("active", models.BooleanField(default=True)), ("deleted", models.BooleanField(default=False)), ("created_on", models.DateTimeField(auto_now_add=True)), ("modified_on", models.DateTimeField(auto_now=True)), ("title", models.CharField(max_length=255)), ("days", models.PositiveIntegerField()), ( "created_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_created", to=settings.AUTH_USER_MODEL, ), ), ( "modified_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_modified", to=settings.AUTH_USER_MODEL, ), ), ], options={ "db_table": "plan", }, ), migrations.CreateModel( name="Subscription", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("active", models.BooleanField(default=True)), ("deleted", models.BooleanField(default=False)), ("created_on", models.DateTimeField(auto_now_add=True)), ("modified_on", models.DateTimeField(auto_now=True)), ("title", models.CharField(max_length=255)), ( "amount", models.DecimalField(decimal_places=2, default=0.0, max_digits=14), ), ( "created_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_created", to=settings.AUTH_USER_MODEL, ), ), ( "modified_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_modified", to=settings.AUTH_USER_MODEL, ), ), ( "plan", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="subscription_plan", to="manage_subscriptions.plan", ), ), ], options={ "db_table": "subscription", }, ), migrations.CreateModel( name="PrincipalSubscription", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("active", models.BooleanField(default=True)), ("deleted", models.BooleanField(default=False)), ("created_on", models.DateTimeField(auto_now_add=True)), ("modified_on", models.DateTimeField(auto_now=True)), ("is_paid", models.BooleanField(default=False)), ("auto_renew", models.BooleanField(default=False)), ( "status", models.CharField( choices=[ ("active", "Active"), ("expired", "Expired"), ("inactive", "Inactive"), ], default="active", max_length=255, ), ), ("start_date", models.DateField()), ("end_date", models.DateField()), ("order_id", models.CharField(blank=True, max_length=255, null=True)), ("cancelled", models.BooleanField(default=False)), ("cancelled_date_time", models.DateTimeField(blank=True, null=True)), ("grace_period_end_date", models.DateField(blank=True, null=True)), ( "stripe_customer_id", models.CharField(blank=True, max_length=255, null=True), ), ( "payment_intent_id", models.CharField(blank=True, max_length=255, null=True), ), ( "payment_intent_client_secret", models.CharField(blank=True, max_length=255, null=True), ), ( "created_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_created", to=settings.AUTH_USER_MODEL, ), ), ( "modified_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="%(class)s_modified", to=settings.AUTH_USER_MODEL, ), ), ( "principal", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="principal_subscription", to=settings.AUTH_USER_MODEL, ), ), ( "subscription", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="subscription_reference", to="manage_subscriptions.subscription", ), ), ], options={ "db_table": "principal_subscription", }, ), ]