# Generated by Django 5.1 on 2024-08-12 03:47 from __future__ import annotations from typing import TYPE_CHECKING import django.db.models.deletion import django.db.models.manager from django.db import migrations, models if TYPE_CHECKING: 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="DropCampaign", fields=[ ("created_at", models.DateTimeField(auto_created=True, null=True)), ("id", models.TextField(primary_key=True, serialize=False)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ("account_link_url", models.URLField(null=True)), ("description", models.TextField(null=True)), ("details_url", models.URLField(null=True)), ("ends_at", models.DateTimeField(null=True)), ("starts_at", models.DateTimeField(null=True)), ("image_url", models.URLField(null=True)), ("name", models.TextField(null=True)), ("status", models.TextField(null=True)), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="Game", fields=[ ("twitch_id", models.TextField(primary_key=True, serialize=False)), ("game_url", models.URLField(null=True)), ("name", models.TextField(null=True)), ("box_art_url", models.URLField(null=True)), ("slug", models.TextField(null=True)), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="Owner", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("name", models.TextField(null=True)), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="Channel", fields=[ ("twitch_id", models.TextField(primary_key=True, serialize=False)), ("display_name", models.TextField(null=True)), ("name", models.TextField(null=True)), ("twitch_url", models.URLField(null=True)), ("live", models.BooleanField(default=False)), ("drop_campaigns", models.ManyToManyField(related_name="channels", to="core.dropcampaign")), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.AddField( model_name="dropcampaign", name="game", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="drop_campaigns", to="core.game", ), ), migrations.AddField( model_name="game", name="org", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="games", to="core.owner", ), ), migrations.CreateModel( name="RewardCampaign", fields=[ ("created_at", models.DateTimeField(auto_created=True, null=True)), ("id", models.TextField(primary_key=True, serialize=False)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ("name", models.TextField(null=True)), ("brand", models.TextField(null=True)), ("starts_at", models.DateTimeField(null=True)), ("ends_at", models.DateTimeField(null=True)), ("status", models.TextField(null=True)), ("summary", models.TextField(null=True)), ("instructions", models.TextField(null=True)), ("reward_value_url_param", models.TextField(null=True)), ("external_url", models.URLField(null=True)), ("about_url", models.URLField(null=True)), ("is_site_wide", models.BooleanField(null=True)), ("sub_goal", models.PositiveBigIntegerField(null=True)), ("minute_watched_goal", models.PositiveBigIntegerField(null=True)), ("image_url", models.URLField(null=True)), ( "game", models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="reward_campaigns", to="core.game", ), ), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="Reward", fields=[ ("id", models.TextField(primary_key=True, serialize=False)), ("name", models.TextField(null=True)), ("banner_image_url", models.URLField(null=True)), ("thumbnail_image_url", models.URLField(null=True)), ("earnable_until", models.DateTimeField(null=True)), ("redemption_instructions", models.TextField(null=True)), ("redemption_url", models.URLField(null=True)), ( "campaign", models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="rewards", to="core.rewardcampaign", ), ), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="TimeBasedDrop", fields=[ ("created_at", models.DateTimeField(auto_created=True, null=True)), ("id", models.TextField(primary_key=True, serialize=False)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ("required_subs", models.PositiveBigIntegerField(null=True)), ("ends_at", models.DateTimeField(null=True)), ("name", models.TextField(null=True)), ("required_minutes_watched", models.PositiveBigIntegerField(null=True)), ("starts_at", models.DateTimeField(null=True)), ( "drop_campaign", models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="drops", to="core.dropcampaign", ), ), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), migrations.CreateModel( name="Benefit", fields=[ ("created_at", models.DateTimeField(auto_created=True, null=True)), ("id", models.TextField(primary_key=True, serialize=False)), ("modified_at", models.DateTimeField(auto_now=True, null=True)), ("twitch_created_at", models.DateTimeField(null=True)), ("entitlement_limit", models.PositiveBigIntegerField(null=True)), ("image_url", models.URLField(null=True)), ("is_ios_available", models.BooleanField(null=True)), ("name", models.TextField(null=True)), ( "time_based_drop", models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name="benefits", to="core.timebaseddrop", ), ), ], options={ "abstract": False, "base_manager_name": "prefetch_manager", }, managers=[ ("objects", django.db.models.manager.Manager()), ("prefetch_manager", django.db.models.manager.Manager()), ], ), ]