# Generated by Django 5.0.6 on 2024-07-01 00:08 import django.db.models.deletion import django.db.models.functions.text from django.db import migrations, models from django.db.migrations.operations.base import Operation class Migration(migrations.Migration): initial = True dependencies: list[tuple[str, str]] = [] operations: list[Operation] = [ migrations.CreateModel( name="Game", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("slug", models.TextField(blank=True, null=True)), ( "twitch_url", models.GeneratedField( # type: ignore # noqa: PGH003 db_persist=True, expression=django.db.models.functions.text.Concat( models.Value("https://www.twitch.tv/directory/category/"), "slug", ), output_field=models.TextField(), ), ), ("display_name", models.TextField(blank=True, null=True)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name="Organization", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("name", models.TextField(blank=True, null=True)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name="DropBenefit", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("created_at", models.DateTimeField(blank=True, null=True)), ("entitlement_limit", models.IntegerField(blank=True, null=True)), ("image_asset_url", models.URLField(blank=True, null=True)), ("is_ios_available", models.BooleanField(blank=True, null=True)), ("name", models.TextField(blank=True, null=True)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ( "game", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="twitch_app.game", ), ), ( "owner_organization", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="twitch_app.organization", ), ), ], ), migrations.CreateModel( name="TimeBasedDrop", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("required_subs", models.IntegerField(blank=True, null=True)), ("end_at", models.DateTimeField(blank=True, null=True)), ("name", models.TextField(blank=True, null=True)), ( "required_minutes_watched", models.IntegerField(blank=True, null=True), ), ("start_at", models.DateTimeField(blank=True, null=True)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ("benefits", models.ManyToManyField(to="twitch_app.dropbenefit")), ], ), migrations.CreateModel( name="DropCampaign", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("account_link_url", models.URLField(blank=True, null=True)), ("description", models.TextField(blank=True, null=True)), ("details_url", models.URLField(blank=True, null=True)), ("end_at", models.DateTimeField(blank=True, null=True)), ("image_url", models.URLField(blank=True, null=True)), ("name", models.TextField(blank=True, null=True)), ("start_at", models.DateTimeField(blank=True, null=True)), ("status", models.TextField(blank=True, null=True)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ( "game", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="drop_campaigns", to="twitch_app.game", ), ), ( "owner", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="drop_campaigns", to="twitch_app.organization", ), ), ( "time_based_drops", models.ManyToManyField(to="twitch_app.timebaseddrop"), ), ], ), migrations.CreateModel( name="User", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("added_at", models.DateTimeField(auto_now_add=True, null=True)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ( "drop_campaigns", models.ManyToManyField(to="twitch_app.dropcampaign"), ), ], ), ]