Ejemplo n.º 1
0
class Migration(migrations.Migration):

    dependencies = [
        ('decks', '0006_auto_20170824_1413'),
    ]

    operations = [
        migrations.CreateModel(
            name='ClassClusterSnapshot',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('player_class', django_intenum.IntEnumField(default=0, enum=hearthstone.enums.CardClass)),
            ],
        ),
        migrations.CreateModel(
            name='ClusterSetSnapshot',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('as_of', models.DateTimeField(default=django.utils.timezone.now)),
                ('game_format', django_intenum.IntEnumField(default=2, enum=hearthstone.enums.FormatType)),
            ],
            options={
                'get_latest_by': 'as_of',
            },
        ),
        migrations.CreateModel(
            name='ClusterSnapshot',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('cluster_id', models.IntegerField()),
                ('experimental', models.BooleanField(default=False)),
                ('signature', django.contrib.postgres.fields.jsonb.JSONField(default=dict)),
                ('name', models.CharField(blank=True, max_length=250)),
                ('archetype', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='decks.Archetype')),
                ('class_cluster', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.ClassClusterSnapshot')),
            ],
        ),
        migrations.CreateModel(
            name='ClusterSnapshotMember',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('observations', models.IntegerField()),
                ('win_rate', models.FloatField()),
                ('x', models.FloatField()),
                ('y', models.FloatField()),
                ('cluster', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.ClusterSnapshot')),
                ('deck', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.Deck')),
            ],
        ),
        migrations.AddField(
            model_name='classclustersnapshot',
            name='cluster_set',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.ClusterSetSnapshot'),
        ),
    ]
Ejemplo n.º 2
0
class Migration(migrations.Migration):

    dependencies = [
        ('uploads', '0006_auto_20170125_2001'),
    ]

    operations = [
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='refreshing_view_end_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='refreshing_view_start_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='is_materialized_view',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_end_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_start_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AlterField(
            model_name='redshiftstagingtrack',
            name='stage',
            field=django_intenum.IntEnumField(
                default=1, enum=hsreplaynet.uploads.models.RedshiftETLStage),
        ),
        migrations.AlterField(
            model_name='redshiftstagingtracktable',
            name='stage',
            field=django_intenum.IntEnumField(
                default=1, enum=hsreplaynet.uploads.models.RedshiftETLStage),
        ),
    ]
Ejemplo n.º 3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='UploadEvent',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('shortid', hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')),
                ('token_uuid', models.UUIDField(blank=True, db_column='token_id', null=True)),
                ('api_key_id', models.IntegerField(blank=True, db_column='api_key_id', null=True)),
                ('game_id', models.BigIntegerField(blank=True, db_column='game_id', null=True)),
                ('created', models.DateTimeField(auto_now_add=True, db_index=True)),
                ('upload_ip', models.GenericIPAddressField(null=True)),
                ('status', django_intenum.IntEnumField(default=0, enum=hsreplaynet.uploads.models.UploadEventStatus, db_index=True)),
                ('tainted', models.BooleanField(default=False)),
                ('error', models.TextField(blank=True)),
                ('traceback', models.TextField(blank=True)),
                ('test_data', models.BooleanField(default=False)),
                ('canary', models.BooleanField(default=False)),
                ('metadata', models.TextField(blank=True)),
                ('file', models.FileField(null=True, upload_to=hsreplaynet.uploads.models._generate_upload_path)),
                ('user_agent', models.CharField(blank=True, max_length=100)),
                ('log_stream_name', models.CharField(blank=True, max_length=64)),
                ('log_group_name', models.CharField(blank=True, max_length=64)),
                ('updated', models.DateTimeField(auto_now=True)),
            ],
        ),
    ]
Ejemplo n.º 4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Feature',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('description', models.TextField(blank=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('status',
                 django_intenum.IntEnumField(
                     choices=[(0, 'OFF'), (1, 'STAFF_ONLY'),
                              (2, 'IN_PROGRESS'), (3, 'PUBLIC'),
                              (4, 'AUTHORIZED_ONLY')],
                     default=2,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hsreplaynet.features.models.FeatureStatus)
                     ])),
                ('read_only', models.BooleanField(default=False)),
            ],
        ),
    ]
Ejemplo n.º 5
0
class Migration(migrations.Migration):

    dependencies = [
        ('games', '0005_auto_20170304_0335'),
    ]

    operations = [
        migrations.AddField(
            model_name='globalgameplayer',
            name='pegasus_account',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='games.PegasusAccount'),
        ),
        migrations.AlterField(
            model_name='pegasusaccount',
            name='region',
            field=django_intenum.IntEnumField(
                choices=[(-1, 'REGION_UNINITIALIZED'), (0, 'REGION_UNKNOWN'),
                         (1, 'REGION_US'), (2, 'REGION_EU'), (3, 'REGION_KR'),
                         (4, 'REGION_TW'), (5, 'REGION_CN'),
                         (40, 'REGION_LIVE_VERIFICATION'),
                         (41, 'REGION_PTR_LOC'),
                         (52, 'REGION_MSCHWEITZER_BN11'),
                         (53, 'REGION_MSCHWEITZER_BN12'), (60, 'REGION_DEV'),
                         (98, 'REGION_PTR')],
                validators=[
                    django_intenum.IntEnumValidator(
                        hearthstone.enums.BnetRegion)
                ]),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('djstripe', '0001_initial'),
        ('features', '0002_auto_20170303_0721'),
    ]

    operations = [
        migrations.AddField(
            model_name='featureinvite',
            name='subscribe_to',
            field=models.ForeignKey(
                blank=True,
                help_text='Auto subscribe to this Stripe Plan',
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to='djstripe.Plan'),
        ),
        migrations.AlterField(
            model_name='feature',
            name='status',
            field=django_intenum.IntEnumField(
                choices=[(0, 'OFF'), (1, 'STAFF_ONLY'), (2, 'AUTHORIZED_ONLY'),
                         (3, 'LOGGED_IN_USERS'), (4, 'PUBLIC')],
                default=0,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.features.models.FeatureStatus)
                ]),
        ),
    ]
Ejemplo n.º 7
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('games', '0004_globalgame_tainted_decks'),
    ]

    operations = [
        migrations.CreateModel(
            name='PegasusAccount',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('account_hi', models.BigIntegerField(help_text='The region value from account hilo', verbose_name='Account Hi')),
                ('account_lo', models.BigIntegerField(help_text='The account ID value from account hilo', verbose_name='Account Lo')),
                ('region', django_intenum.IntEnumField(verbose_name=hearthstone.enums.BnetRegion)),
                ('battletag', models.CharField(blank=True, max_length=64)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('modified', models.DateTimeField(auto_now=True)),
                ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.RemoveField(
            model_name='globalgameplayer',
            name='user',
        ),
        migrations.AlterUniqueTogether(
            name='pegasusaccount',
            unique_together=set([('account_hi', 'account_lo')]),
        ),
    ]
Ejemplo n.º 8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('cards', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Pack',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('booster_type',
                 django_intenum.IntEnumField(
                     choices=[(0, 'INVALID'), (1, 'CLASSIC'),
                              (9, 'GOBLINS_VS_GNOMES'),
                              (10, 'THE_GRAND_TOURNAMENT'), (11, 'OLD_GODS'),
                              (17, 'FIRST_PURCHASE'), (18, 'SIGNUP_INCENTIVE'),
                              (19, 'MEAN_STREETS'), (20, 'UNGORO')],
                     validators=[
                         django_intenum.IntEnumValidator(
                             hearthstone.enums.Booster)
                     ])),
                ('date', models.DateTimeField()),
                ('account_hi', models.BigIntegerField()),
                ('account_lo', models.BigIntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='PackCard',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('premium', models.BooleanField()),
                ('card',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='cards.Card')),
                ('pack',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='packs.Pack')),
            ],
        ),
        migrations.AddField(
            model_name='pack',
            name='cards',
            field=models.ManyToManyField(through='packs.PackCard',
                                         to='cards.Card'),
        ),
        migrations.AddField(
            model_name='pack',
            name='user',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
Ejemplo n.º 9
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('password', models.CharField(max_length=128, verbose_name='password')),
                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('username', models.CharField(max_length=150, unique=True)),
                ('battletag', models.CharField(blank=True, help_text="The user's primary Battle.net username.", max_length=24)),
                ('is_fake', models.BooleanField(default=False)),
                ('locale', models.CharField(choices=[('enUS', 'English'), ('zhTW', 'Chinese (TW)'), ('zhCN', 'Chinese (CN)'), ('frFR', 'French'), ('deDE', 'German'), ('itIT', 'Italian'), ('jaJP', 'Japanese'), ('koKR', 'Korean'), ('plPL', 'Polish'), ('ptBR', 'Portuguese (BR)'), ('ptPT', 'Portuguese (PT)'), ('ruRU', 'Russian'), ('esES', 'Spanish (ES)'), ('esMX', 'Spanish (MX)'), ('thTH', 'Thai')], default='enUS', help_text="The user's preferred Hearthstone locale for display", max_length=8)),
                ('default_replay_visibility', django_intenum.IntEnumField(choices=[(1, 'Public'), (2, 'Unlisted')], default=1, validators=[django_intenum.IntEnumValidator(hsreplaynet.games.models.Visibility)], verbose_name='Default replay visibility')),
                ('exclude_from_statistics', models.BooleanField(default=False)),
                ('joust_autoplay', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
                'verbose_name_plural': 'users',
                'verbose_name': 'user',
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='AccountClaim',
            fields=[
                ('id', models.UUIDField(primary_key=True, serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
            ],
        ),
        migrations.CreateModel(
            name='AccountDeleteRequest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('reason', models.TextField(blank=True)),
                ('delete_replay_data', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('features', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='FeatureInvite',
            fields=[
                ('uuid',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('use_count',
                 models.PositiveIntegerField(
                     default=0,
                     editable=False,
                     help_text=
                     'The amount of times this invitation has been successfully used.'
                 )),
                ('max_uses',
                 models.PositiveIntegerField(default=0,
                                             help_text='0 for unlimited')),
                ('expires',
                 models.DateTimeField(
                     blank=True,
                     help_text='No longer valid after this date.',
                     null=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('modified', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.AlterField(
            model_name='feature',
            name='status',
            field=django_intenum.IntEnumField(
                choices=[(0, 'OFF'), (1, 'STAFF_ONLY'), (2, 'IN_PROGRESS'),
                         (3, 'PUBLIC'), (4, 'AUTHORIZED_ONLY'),
                         (5, 'LOGGED_IN_USERS')],
                default=2,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.features.models.FeatureStatus)
                ]),
        ),
        migrations.AddField(
            model_name='featureinvite',
            name='features',
            field=models.ManyToManyField(related_name='invites',
                                         to='features.Feature'),
        ),
    ]
Ejemplo n.º 11
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('decks', '0018_clustersetsnapshot_promoted_on'),
    ]

    operations = [
        migrations.CreateModel(
            name='ArchetypeName',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=250)),
                ('created',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('player_class',
                 django_intenum.IntEnumField(
                     default=0, enum=hearthstone.enums.CardClass)),
                ('contributing_user',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='ArchetypeSuggestion',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('as_of',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('deck',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='decks.Deck')),
                ('suggested_name',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='decks.ArchetypeName')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AlterUniqueTogether(
            name='archetypesuggestion',
            unique_together={('deck', 'user')},
        ),
        migrations.AlterUniqueTogether(
            name='archetypename',
            unique_together={('name', 'player_class')},
        ),
    ]
Ejemplo n.º 12
0
class Migration(migrations.Migration):

    dependencies = [
        ('cards', '0003_auto_20190701_1420'),
    ]

    operations = [
        migrations.AddField(
            model_name='card',
            name='multi_class_group',
            field=django_intenum.IntEnumField(
                default=0, enum=hearthstone.enums.MultiClassGroup),
        ),
    ]
Ejemplo n.º 13
0
class Migration(migrations.Migration):

	initial = True

	dependencies = [
		migrations.swappable_dependency(settings.AUTH_USER_MODEL),
		("cards", "0001_initial"),
	]

	operations = [
		migrations.CreateModel(
			name="Pack",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("booster_type", django_intenum.IntEnumField(enum=hearthstone.enums.Booster)),
				("date", models.DateTimeField()),
			],
		),
		migrations.CreateModel(
			name="PackCard",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("premium", models.BooleanField()),
				("card", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to="cards.Card")),
				("pack", models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to="packs.Pack")),
			],
		),
		migrations.AddField(
			model_name="pack",
			name="cards",
			field=models.ManyToManyField(through="packs.PackCard", to="cards.Card"),
		),
		migrations.AddField(
			model_name="pack",
			name="user",
			field=models.ForeignKey(
				null=True, blank=True, on_delete=django.db.models.deletion.SET_NULL,
				to=settings.AUTH_USER_MODEL, related_name="packs"
			),
		),
		migrations.AddField(
			model_name="pack",
			name="blizzard_account",
			field=models.ForeignKey(
				on_delete=django.db.models.deletion.CASCADE, to="accounts.BlizzardAccount",
				related_name="packs"
			),
		),
	]
Ejemplo n.º 14
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('cards', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Pack',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('booster_type', django_intenum.IntEnumField(enum=hearthstone.enums.Booster)),
                ('date', models.DateTimeField()),
                ('account_hi', models.BigIntegerField()),
                ('account_lo', models.BigIntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='PackCard',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('premium', models.BooleanField()),
                ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cards.Card')),
                ('pack', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='packs.Pack')),
            ],
        ),
        migrations.AddField(
            model_name='pack',
            name='cards',
            field=models.ManyToManyField(through='packs.PackCard', to='cards.Card'),
        ),
        migrations.AddField(
            model_name='pack',
            name='user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
        ),
    ]
Ejemplo n.º 15
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='UploadEvent',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('shortid',
                 hsreplaynet.utils.fields.ShortUUIDField(
                     blank=True,
                     editable=False,
                     max_length=22,
                     unique=True,
                     verbose_name='Short ID')),
                ('token_uuid',
                 models.UUIDField(blank=True, db_column='token_id',
                                  null=True)),
                ('api_key_id',
                 models.IntegerField(blank=True,
                                     db_column='api_key_id',
                                     null=True)),
                ('game_id',
                 models.BigIntegerField(blank=True,
                                        db_column='game_id',
                                        null=True)),
                ('created',
                 models.DateTimeField(auto_now_add=True, db_index=True)),
                ('upload_ip', models.GenericIPAddressField(null=True)),
                ('status',
                 django_intenum.IntEnumField(
                     choices=[(0, 'UNKNOWN'), (1, 'PROCESSING'),
                              (2, 'SERVER_ERROR'), (3, 'PARSING_ERROR'),
                              (4, 'SUCCESS'), (5, 'UNSUPPORTED'),
                              (6, 'VALIDATION_ERROR'), (7, 'VALIDATING'),
                              (8, 'UNSUPPORTED_CLIENT'), (9, 'PENDING')],
                     default=0,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hsreplaynet.uploads.models.UploadEventStatus)
                     ])),
                ('tainted', models.BooleanField(default=False)),
                ('error', models.TextField(blank=True)),
                ('traceback', models.TextField(blank=True)),
                ('test_data', models.BooleanField(default=False)),
                ('canary', models.BooleanField(default=False)),
                ('metadata', models.TextField(blank=True)),
                ('file',
                 models.FileField(null=True,
                                  upload_to=hsreplaynet.uploads.models.
                                  _generate_upload_path)),
                ('descriptor',
                 models.FileField(blank=True,
                                  null=True,
                                  upload_to=hsreplaynet.uploads.models.
                                  _generate_descriptor_path)),
                ('user_agent', models.CharField(blank=True, max_length=100)),
                ('log_stream_name', models.CharField(blank=True,
                                                     max_length=64)),
                ('log_group_name', models.CharField(blank=True,
                                                    max_length=64)),
                ('updated', models.DateTimeField(auto_now=True)),
            ],
        ),
    ]
Ejemplo n.º 16
0
class Migration(migrations.Migration):

    dependencies = [
        ('uploads', '0005_auto_20170122_1955'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='deduplication_complete',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='duplicates_removed',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='insert_count',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='insert_duration_seconds',
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='close_requested',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='deduplicating_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='deduplicating_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='gathering_stats_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='gathering_stats_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='stage',
            field=django_intenum.IntEnumField(
                choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'),
                         (3, 'INITIALIZED'),
                         (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'),
                         (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'),
                         (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'),
                         (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'),
                         (12, 'INSERT_COMPLETE'), (13, 'VACUUMING'),
                         (14, 'VACUUM_COMPLETE'), (15, 'ANALYZING'),
                         (16, 'ANALYZE_COMPLETE'), (17, 'CLEANING_UP'),
                         (18, 'FINISHED')],
                default=1,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.uploads.models.RedshiftETLStage)
                ]),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='analyze_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='dedupe_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='deduplication_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='deduplication_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='insert_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='stage',
            field=django_intenum.IntEnumField(
                choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'),
                         (3, 'INITIALIZED'),
                         (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'),
                         (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'),
                         (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'),
                         (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'),
                         (12, 'INSERT_COMPLETE'), (13, 'VACUUMING'),
                         (14, 'VACUUM_COMPLETE'), (15, 'ANALYZING'),
                         (16, 'ANALYZE_COMPLETE'), (17, 'CLEANING_UP'),
                         (18, 'FINISHED')],
                default=1,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.uploads.models.RedshiftETLStage)
                ]),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='vacuum_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
    ]
Ejemplo n.º 17
0
class Migration(migrations.Migration):

    dependencies = [
        ('uploads', '0005_auto_20170122_1955'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='deduplication_complete',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='duplicates_removed',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='insert_count',
        ),
        migrations.RemoveField(
            model_name='redshiftstagingtracktable',
            name='insert_duration_seconds',
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='close_requested',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='deduplicating_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='deduplicating_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='gathering_stats_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='gathering_stats_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='stage',
            field=django_intenum.IntEnumField(
                default=1, enum=hsreplaynet.uploads.models.RedshiftETLStage),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='analyze_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='dedupe_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='deduplication_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='deduplication_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_ended_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='gathering_stats_started_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='insert_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='stage',
            field=django_intenum.IntEnumField(
                default=1, enum=hsreplaynet.uploads.models.RedshiftETLStage),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='vacuum_query_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
    ]
Ejemplo n.º 18
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('djstripe', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Feature',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=255, unique=True)),
                ('description', models.TextField(blank=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('status',
                 django_intenum.IntEnumField(
                     default=0,
                     enum=hsreplaynet.features.models.FeatureStatus)),
                ('read_only', models.BooleanField(default=False)),
                ('rollout_percent',
                 models.PositiveIntegerField(
                     default=100,
                     help_text=
                     'This may be set to a value lower than 100 to further restrict the user pool with access to this feature.',
                     validators=[
                         django.core.validators.MaxValueValidator(100)
                     ])),
            ],
        ),
        migrations.CreateModel(
            name='FeatureInvite',
            fields=[
                ('uuid',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('use_count',
                 models.PositiveIntegerField(
                     default=0,
                     editable=False,
                     help_text=
                     'The amount of times this invitation has been successfully used.'
                 )),
                ('max_uses',
                 models.PositiveIntegerField(default=0,
                                             help_text='0 for unlimited')),
                ('expires',
                 models.DateTimeField(
                     blank=True,
                     help_text='No longer valid after this date.',
                     null=True)),
                ('coupon',
                 models.CharField(blank=True,
                                  help_text='Redeem a Stripe Coupon',
                                  max_length=500)),
                ('description', models.TextField(blank=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('modified', models.DateTimeField(auto_now=True)),
                ('features',
                 models.ManyToManyField(blank=True,
                                        related_name='invites',
                                        to='features.Feature')),
                ('subscribe_to',
                 models.ForeignKey(
                     blank=True,
                     help_text='Auto subscribe to this Stripe Plan',
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='djstripe.Plan')),
            ],
        ),
    ]
Ejemplo n.º 19
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Archetype',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, max_length=250)),
                ('player_class', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'), (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'), (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'), (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'), (12, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardClass)])),
            ],
        ),
        migrations.CreateModel(
            name='CanonicalDeck',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('format', django_intenum.IntEnumField(choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=2, validators=[django_intenum.IntEnumValidator(hearthstone.enums.FormatType)])),
                ('archetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='canonical_decks', to='cards.Archetype')),
            ],
        ),
        migrations.CreateModel(
            name='Card',
            fields=[
                ('id', models.CharField(max_length=50, primary_key=True, serialize=False)),
                ('dbf_id', models.IntegerField(db_index=True, null=True, unique=True)),
                ('name', models.CharField(max_length=50)),
                ('description', models.TextField(blank=True)),
                ('flavortext', models.TextField(blank=True)),
                ('how_to_earn', models.TextField(blank=True)),
                ('how_to_earn_golden', models.TextField(blank=True)),
                ('artist', models.CharField(blank=True, max_length=255)),
                ('card_class', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'), (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'), (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'), (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'), (12, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardClass)])),
                ('card_set', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'TEST_TEMPORARY'), (2, 'CORE'), (3, 'EXPERT1'), (4, 'REWARD'), (5, 'MISSIONS'), (6, 'DEMO'), (7, 'NONE'), (8, 'CHEAT'), (9, 'BLANK'), (10, 'DEBUG_SP'), (11, 'PROMO'), (12, 'NAXX'), (13, 'GVG'), (14, 'BRM'), (15, 'TGT'), (16, 'CREDITS'), (17, 'HERO_SKINS'), (18, 'TB'), (19, 'SLUSH'), (20, 'LOE'), (21, 'OG'), (22, 'OG_RESERVE'), (23, 'KARA'), (24, 'KARA_RESERVE')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardSet)])),
                ('faction', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'HORDE'), (2, 'ALLIANCE'), (3, 'NEUTRAL')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Faction)])),
                ('race', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'BLOODELF'), (2, 'DRAENEI'), (3, 'DWARF'), (4, 'GNOME'), (5, 'GOBLIN'), (6, 'HUMAN'), (7, 'NIGHTELF'), (8, 'ORC'), (9, 'TAUREN'), (10, 'TROLL'), (11, 'UNDEAD'), (12, 'WORGEN'), (13, 'GOBLIN2'), (14, 'MURLOC'), (15, 'DEMON'), (16, 'SCOURGE'), (17, 'MECHANICAL'), (18, 'ELEMENTAL'), (19, 'OGRE'), (20, 'BEAST'), (21, 'TOTEM'), (22, 'NERUBIAN'), (23, 'PIRATE'), (24, 'DRAGON')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Race)])),
                ('rarity', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'COMMON'), (2, 'FREE'), (3, 'RARE'), (4, 'EPIC'), (5, 'LEGENDARY'), (6, 'UNKNOWN_6')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.Rarity)])),
                ('type', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'GAME'), (2, 'PLAYER'), (3, 'HERO'), (4, 'MINION'), (5, 'SPELL'), (6, 'ENCHANTMENT'), (7, 'WEAPON'), (8, 'ITEM'), (9, 'TOKEN'), (10, 'HERO_POWER')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.CardType)])),
                ('collectible', models.BooleanField(default=False)),
                ('battlecry', models.BooleanField(default=False)),
                ('divine_shield', models.BooleanField(default=False)),
                ('deathrattle', models.BooleanField(default=False)),
                ('elite', models.BooleanField(default=False)),
                ('evil_glow', models.BooleanField(default=False)),
                ('inspire', models.BooleanField(default=False)),
                ('forgetful', models.BooleanField(default=False)),
                ('one_turn_effect', models.BooleanField(default=False)),
                ('poisonous', models.BooleanField(default=False)),
                ('ritual', models.BooleanField(default=False)),
                ('secret', models.BooleanField(default=False)),
                ('taunt', models.BooleanField(default=False)),
                ('topdeck', models.BooleanField(default=False)),
                ('atk', models.IntegerField(default=0)),
                ('health', models.IntegerField(default=0)),
                ('durability', models.IntegerField(default=0)),
                ('cost', models.IntegerField(default=0)),
                ('windfury', models.IntegerField(default=0)),
                ('spare_part', models.BooleanField(default=False)),
                ('overload', models.IntegerField(default=0)),
                ('spell_damage', models.IntegerField(default=0)),
                ('craftable', models.BooleanField(default=False)),
            ],
            options={
                'db_table': 'card',
            },
        ),
        migrations.CreateModel(
            name='Deck',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('digest', models.CharField(max_length=32, unique=True)),
                ('created', models.DateTimeField(auto_now_add=True, null=True)),
                ('size', models.IntegerField(null=True)),
                ('archetype', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='cards.Archetype')),
            ],
        ),
        migrations.CreateModel(
            name='Include',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('count', models.IntegerField(default=1)),
                ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='included_in', to='cards.Card')),
                ('deck', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='includes', to='cards.Deck')),
            ],
        ),
        migrations.AddField(
            model_name='deck',
            name='cards',
            field=models.ManyToManyField(through='cards.Include', to='cards.Card'),
        ),
        migrations.AddField(
            model_name='canonicaldeck',
            name='deck',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='canonical_for_archetypes', to='cards.Deck'),
        ),
        migrations.AlterUniqueTogether(
            name='include',
            unique_together=set([('deck', 'card')]),
        ),
    ]
Ejemplo n.º 20
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Adventure',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('note_desc', models.CharField(max_length=64)),
                ('name', models.CharField(max_length=64)),
                ('sort_order', models.PositiveIntegerField(default=0)),
                ('leaving_soon', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('build', models.PositiveIntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='Scenario',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('note_desc', models.CharField(max_length=64)),
                ('players', models.PositiveSmallIntegerField()),
                ('player1_hero_card_id', models.IntegerField(null=True)),
                ('player2_hero_card_id', models.IntegerField(null=True)),
                ('is_tutorial', models.BooleanField(default=False)),
                ('is_expert', models.BooleanField(default=False)),
                ('is_coop', models.BooleanField(default=False)),
                ('sort_order', models.PositiveIntegerField(default=0)),
                ('mode',
                 django_intenum.IntEnumField(
                     choices=[(1, 'NORMAL'), (2, 'EXPERT'), (3, 'HEROIC'),
                              (4, 'CLASS_CHALLENGE')],
                     default=0,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hsreplaynet.scenarios.models.AdventureMode)
                     ])),
                ('client_player2_hero_card_id',
                 models.IntegerField(null=True)),
                ('name', models.CharField(max_length=64)),
                ('description', models.TextField()),
                ('opponent_name', models.CharField(max_length=64)),
                ('completed_description', models.TextField()),
                ('player1_deck_id', models.IntegerField(null=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('build', models.PositiveIntegerField()),
                ('adventure',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='scenarios.Adventure')),
            ],
        ),
        migrations.CreateModel(
            name='Wing',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('note_desc', models.CharField(max_length=64)),
                ('sort_order', models.PositiveIntegerField()),
                ('release', models.CharField(max_length=16)),
                ('required_event', models.CharField(max_length=16)),
                ('name', models.CharField(max_length=64)),
                ('coming_soon_label', models.CharField(max_length=64)),
                ('requires_label', models.CharField(max_length=64)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('build', models.PositiveIntegerField()),
                ('adventure',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to='scenarios.Adventure')),
                ('ownership_prereq_wing',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='scenarios.Wing')),
            ],
        ),
        migrations.AddField(
            model_name='scenario',
            name='wing',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to='scenarios.Wing'),
        ),
    ]
Ejemplo n.º 21
0
class Migration(migrations.Migration):

	initial = True

	dependencies = [
		("accounts", "0001_initial"),
		("decks", "0001_initial"),
		migrations.swappable_dependency(settings.AUTH_USER_MODEL),
		("cards", "0001_initial"),
	]

	operations = [
		migrations.CreateModel(
			name="GameReplay",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("shortid", hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name="Short ID")),
				("friendly_player_id", hsreplaynet.utils.fields.PlayerIDField(choices=[(1, 1), (2, 2)], help_text="PlayerID of the friendly player (1 or 2)", null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)], verbose_name="Friendly PlayerID")),
				("spectator_mode", models.BooleanField(default=False)),
				("spectator_password", models.CharField(blank=True, max_length=16, verbose_name="Spectator Password")),
				("client_handle", models.IntegerField(blank=True, null=True)),
				("aurora_password", models.CharField(blank=True, max_length=16)),
				("build", models.PositiveIntegerField(blank=True, null=True, verbose_name="Hearthstone Build")),
				("replay_xml", models.FileField(upload_to=hsreplaynet.games.models.generate_upload_path)),
				("hsreplay_version", models.CharField(help_text="The HSReplay library version used to generate the replay", max_length=16, verbose_name="HSReplay library version")),
				("hslog_version", models.CharField(help_text="The python-hearthstone library version at processing", max_length=24, null=True, verbose_name="hslog library version")),
				("upload_ip", models.GenericIPAddressField(help_text="Uploader IP address", null=True)),
				("user_agent", models.CharField(help_text="Uploader User-Agent", max_length=100, null=True)),
				("is_deleted", models.BooleanField(default=False, help_text="Indicates user request to delete the upload", verbose_name="Soft deleted")),
				("won", models.NullBooleanField()),
				("disconnected", models.BooleanField(default=False)),
				("reconnecting", models.BooleanField(default=False, help_text="Whether the player is reconnecting to an existing game", verbose_name="Is reconnecting")),
				("resumable", models.NullBooleanField()),
				("visibility", django_intenum.IntEnumField(default=1, enum=hearthsim.identity.accounts.models.Visibility)),
				("hide_player_names", models.BooleanField(default=False)),
				("views", models.PositiveIntegerField(default=0)),
			],
			options={
				"ordering": ("-id",),
			},
		),
		migrations.CreateModel(
			name="GlobalGame",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("game_handle", models.IntegerField(blank=True, help_text="Game ID on the Battle.net server", null=True, verbose_name="Game handle")),
				("server_address", models.GenericIPAddressField(blank=True, null=True)),
				("server_port", models.IntegerField(blank=True, null=True)),
				("server_version", models.IntegerField(blank=True, null=True)),
				("build", models.PositiveIntegerField(blank=True, help_text="Hearthstone build number the game was played on.", null=True)),
				("match_start", models.DateTimeField(db_index=True, null=True)),
				("match_end", models.DateTimeField(null=True)),
				("game_type", django_intenum.IntEnumField(blank=True, null=True, enum=hearthstone.enums.BnetGameType, verbose_name="Game type")),
				("format", django_intenum.IntEnumField(default=0, enum=hearthstone.enums.FormatType, verbose_name="Format type")),
				("ladder_season", models.IntegerField(blank=True, help_text="The season as calculated from the match start timestamp.", null=True, verbose_name="Ladder season")),
				("brawl_season", models.IntegerField(default=0, help_text="The brawl season which increments every time the brawl changes.", verbose_name="Tavern Brawl season")),
				("scenario_id", models.IntegerField(blank=True, db_index=True, help_text="ID from DBF/SCENARIO.xml or Scenario cache", null=True, verbose_name="Scenario ID")),
				("num_turns", models.IntegerField(blank=True, null=True)),
				("num_entities", models.IntegerField(blank=True, null=True)),
				("tainted_decks", models.NullBooleanField()),
				("digest", models.CharField(help_text="SHA1 of str(game_handle), str(server_address), str(lo1), str(lo2)", max_length=40, null=True, unique=True)),
				("loaded_into_redshift", models.DateTimeField(null=True)),
			],
			options={
				"ordering": ("-match_start",),
			},
		),
		migrations.CreateModel(
			name="GlobalGamePlayer",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("name", models.CharField(blank=True, db_index=True, max_length=64, verbose_name="Player name")),
				("player_id", hsreplaynet.utils.fields.PlayerIDField(blank=True, choices=[(1, 1), (2, 2)], validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)])),
				("is_ai", models.BooleanField(default=False, help_text="Whether the player is an AI.", verbose_name="Is AI")),
				("is_first", models.BooleanField(help_text="Whether the player is the first player", verbose_name="Is first player")),
				("hero_premium", models.BooleanField(default=False, help_text="Whether the player's initial hero is golden.", verbose_name="Hero Premium")),
				("final_state", django_intenum.IntEnumField(default=0, enum=hearthstone.enums.PlayState, verbose_name="Final State")),
				("extra_turns", models.SmallIntegerField(help_text="Extra turns taken by the player this game (Time Warp).", null=True)),
				("rank", models.SmallIntegerField(blank=True, help_text="1 through 25, or 0 for legend.", null=True, verbose_name="Rank")),
				("legend_rank", models.PositiveIntegerField(blank=True, null=True)),
				("stars", models.PositiveSmallIntegerField(blank=True, null=True)),
				("wins", models.PositiveIntegerField(blank=True, help_text="Number of wins in the current game mode (eg. ladder season, arena key...)", null=True, verbose_name="Wins")),
				("losses", models.PositiveIntegerField(blank=True, help_text="Number of losses in the current game mode (current season)", null=True, verbose_name="Losses")),
				("deck_id", models.BigIntegerField(blank=True, null=True, verbose_name="Deck ID")),
				("cardback_id", models.IntegerField(blank=True, null=True, verbose_name="Cardback ID")),
				("deck_list", models.ForeignKey(help_text="As much as is known of the player's starting deck list.", on_delete=django.db.models.deletion.PROTECT, to="decks.Deck")),
				("game", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="players", to="games.GlobalGame")),
				("hero", models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to="cards.Card", to_field="card_id")),
				("pegasus_account", models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to="accounts.BlizzardAccount")),
			],
		),
		migrations.CreateModel(
			name="ReplayAlias",
			fields=[
				("id", models.BigAutoField(primary_key=True, serialize=False)),
				("shortid", hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name="Short ID")),
				("replay", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="aliases", to="games.GameReplay")),
			],
		),
		migrations.AddField(
			model_name="gamereplay",
			name="global_game",
			field=models.ForeignKey(help_text="References the single global game that this replay shows.", on_delete=django.db.models.deletion.CASCADE, related_name="replays", to="games.GlobalGame"),
		),
		migrations.AddField(
			model_name="gamereplay",
			name="opponent_revealed_deck",
			field=models.ForeignKey(help_text="As much as is known of the opponent's starting deck list.", null=True, on_delete=django.db.models.deletion.PROTECT, to="decks.Deck"),
		),
		migrations.AddField(
			model_name="gamereplay",
			name="upload_token",
			field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="replays", to="accounts.AuthToken"),
		),
		migrations.AddField(
			model_name="gamereplay",
			name="user",
			field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="replays", to=settings.AUTH_USER_MODEL),
		),
		migrations.AlterUniqueTogether(
			name="globalgameplayer",
			unique_together=set([("game", "player_id")]),
		),
		migrations.AlterUniqueTogether(
			name="gamereplay",
			unique_together=set([("global_game", "client_handle", "friendly_player_id", "spectator_mode", "reconnecting")]),
		),
	]
class Migration(migrations.Migration):

	dependencies = [
		("cards", "0001_initial"),
	]

	operations = [
		migrations.CreateModel(
			name="CardString",
			fields=[
				("id", models.AutoField(
					auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
				)),
				("locale", django_intenum.IntEnumField(db_index=True, enum=hearthstone.enums.Locale)),
				("game_tag", django_intenum.IntEnumField(
					db_index=True, enum=hearthstone.enums.GameTag
				)),
				("value", models.TextField(blank=True)),
			],
		),
		migrations.CreateModel(
			name="CardTag",
			fields=[
				("id", models.AutoField(
					auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
				)),
				("game_tag", django_intenum.IntEnumField(
					db_index=True, enum=hearthstone.enums.GameTag
				)),
				("value", models.PositiveIntegerField()),
			],
		),
		migrations.AlterField(
			model_name="card",
			name="card_class",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.CardClass),
		),
		migrations.AlterField(
			model_name="card",
			name="card_set",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.CardSet),
		),
		migrations.AlterField(
			model_name="card",
			name="faction",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.Faction),
		),
		migrations.AlterField(
			model_name="card",
			name="race",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.Race),
		),
		migrations.AlterField(
			model_name="card",
			name="rarity",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.Rarity),
		),
		migrations.AlterField(
			model_name="card",
			name="type",
			field=django_intenum.IntEnumField(default=0, enum=hearthstone.enums.CardType),
		),
		migrations.AddField(
			model_name="cardtag",
			name="card",
			field=models.ForeignKey(
				on_delete=django.db.models.deletion.CASCADE, related_name="tags",
				to="cards.Card", to_field="dbf_id", db_column="card_dbf_id"
			),
		),
		migrations.AddField(
			model_name="cardstring",
			name="card",
			field=models.ForeignKey(
				on_delete=django.db.models.deletion.CASCADE, related_name="strings",
				to="cards.Card", to_field="dbf_id", db_column="card_dbf_id"
			),
		),
	]
class Migration(migrations.Migration):

    dependencies = [
        ('uploads', '0006_auto_20170125_2001'),
    ]

    operations = [
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='refreshing_view_end_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtrack',
            name='refreshing_view_start_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='is_materialized_view',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_end_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_handle',
            field=models.CharField(blank=True, max_length=15),
        ),
        migrations.AddField(
            model_name='redshiftstagingtracktable',
            name='refreshing_view_start_at',
            field=models.DateTimeField(null=True),
        ),
        migrations.AlterField(
            model_name='redshiftstagingtrack',
            name='stage',
            field=django_intenum.IntEnumField(
                choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'),
                         (3, 'INITIALIZED'),
                         (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'),
                         (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'),
                         (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'),
                         (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'),
                         (12, 'INSERT_COMPLETE'),
                         (13, 'REFRESHING_MATERIALIZED_VIEWS'),
                         (14, 'REFRESHING_MATERIALIZED_VIEWS_COMPLETE'),
                         (15, 'VACUUMING'), (16, 'VACUUM_COMPLETE'),
                         (17, 'ANALYZING'), (18, 'ANALYZE_COMPLETE'),
                         (19, 'CLEANING_UP'), (20, 'FINISHED')],
                default=1,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.uploads.models.RedshiftETLStage)
                ]),
        ),
        migrations.AlterField(
            model_name='redshiftstagingtracktable',
            name='stage',
            field=django_intenum.IntEnumField(
                choices=[(0, 'ERROR'), (1, 'CREATED'), (2, 'INITIALIZING'),
                         (3, 'INITIALIZED'),
                         (4, 'ACTIVE'), (5, 'IN_QUIESCENCE'),
                         (6, 'READY_TO_LOAD'), (7, 'GATHERING_STATS'),
                         (8, 'GATHERING_STATS_COMPLETE'), (9, 'DEDUPLICATING'),
                         (10, 'DEDUPLICATION_COMPLETE'), (11, 'INSERTING'),
                         (12, 'INSERT_COMPLETE'),
                         (13, 'REFRESHING_MATERIALIZED_VIEWS'),
                         (14, 'REFRESHING_MATERIALIZED_VIEWS_COMPLETE'),
                         (15, 'VACUUMING'), (16, 'VACUUM_COMPLETE'),
                         (17, 'ANALYZING'), (18, 'ANALYZE_COMPLETE'),
                         (19, 'CLEANING_UP'), (20, 'FINISHED')],
                default=1,
                validators=[
                    django_intenum.IntEnumValidator(
                        hsreplaynet.uploads.models.RedshiftETLStage)
                ]),
        ),
    ]
Ejemplo n.º 24
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('cards', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Archetype',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, max_length=250)),
                ('player_class',
                 django_intenum.IntEnumField(
                     choices=[(0, 'INVALID'), (1, 'DEATHKNIGHT'), (2, 'DRUID'),
                              (3, 'HUNTER'), (4, 'MAGE'), (5, 'PALADIN'),
                              (6, 'PRIEST'), (7, 'ROGUE'), (8, 'SHAMAN'),
                              (9, 'WARLOCK'), (10, 'WARRIOR'), (11, 'DREAM'),
                              (12, 'NEUTRAL')],
                     default=0,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hearthstone.enums.CardClass)
                     ])),
            ],
            options={
                'db_table': 'cards_archetype',
            },
        ),
        migrations.CreateModel(
            name='CanonicalDeck',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('format',
                 django_intenum.IntEnumField(
                     choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'),
                              (2, 'FT_STANDARD')],
                     default=2,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hearthstone.enums.FormatType)
                     ])),
                ('archetype',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='canonical_decks',
                                   to='decks.Archetype')),
            ],
            options={
                'db_table': 'cards_canonicaldeck',
            },
        ),
        migrations.CreateModel(
            name='Deck',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('digest', models.CharField(max_length=32, unique=True)),
                ('created', models.DateTimeField(auto_now_add=True,
                                                 null=True)),
                ('size', models.IntegerField(null=True)),
                ('archetype',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to='decks.Archetype')),
            ],
            options={
                'db_table': 'cards_deck',
            },
        ),
        migrations.CreateModel(
            name='Include',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('count', models.IntegerField(default=1)),
                ('card',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='included_in',
                                   to='cards.Card')),
                ('deck',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='includes',
                                   to='decks.Deck')),
            ],
            options={
                'db_table': 'cards_include',
            },
        ),
        migrations.CreateModel(
            name='Signature',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('format',
                 django_intenum.IntEnumField(
                     choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'),
                              (2, 'FT_STANDARD')],
                     default=2,
                     validators=[
                         django_intenum.IntEnumValidator(
                             hearthstone.enums.FormatType)
                     ])),
                ('as_of', models.DateTimeField()),
                ('archetype',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='decks.Archetype')),
            ],
        ),
        migrations.CreateModel(
            name='SignatureComponent',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('weight', models.FloatField(default=0.0)),
                ('card',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='signature_components',
                                   to='cards.Card')),
                ('signature',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='components',
                                   to='decks.Signature')),
            ],
        ),
        migrations.AddField(
            model_name='deck',
            name='cards',
            field=models.ManyToManyField(through='decks.Include',
                                         to='cards.Card'),
        ),
        migrations.AddField(
            model_name='canonicaldeck',
            name='deck',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.PROTECT,
                related_name='canonical_for_archetypes',
                to='decks.Deck'),
        ),
        migrations.AlterUniqueTogether(
            name='include',
            unique_together=set([('deck', 'card')]),
        ),
    ]
Ejemplo n.º 25
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Card",
            fields=[
                ("card_id",
                 models.CharField(max_length=50,
                                  primary_key=True,
                                  serialize=False)),
                ("dbf_id",
                 models.IntegerField(db_index=True, null=True, unique=True)),
                ("name", models.CharField(max_length=50)),
                ("description", models.TextField(blank=True)),
                ("flavortext", models.TextField(blank=True)),
                ("how_to_earn", models.TextField(blank=True)),
                ("how_to_earn_golden", models.TextField(blank=True)),
                ("artist", models.CharField(blank=True, max_length=255)),
                ("card_class",
                 django_intenum.IntEnumField(
                     default=0, enum=hearthstone.enums.CardClass)),
                ("card_set",
                 django_intenum.IntEnumField(default=0,
                                             enum=hearthstone.enums.CardSet)),
                ("faction",
                 django_intenum.IntEnumField(default=0,
                                             enum=hearthstone.enums.Faction)),
                ("race",
                 django_intenum.IntEnumField(default=0,
                                             enum=hearthstone.enums.Race)),
                ("rarity",
                 django_intenum.IntEnumField(default=0,
                                             enum=hearthstone.enums.Rarity)),
                ("type",
                 django_intenum.IntEnumField(default=0,
                                             enum=hearthstone.enums.CardType)),
                ("collectible", models.BooleanField(default=False)),
                ("battlecry", models.BooleanField(default=False)),
                ("divine_shield", models.BooleanField(default=False)),
                ("deathrattle", models.BooleanField(default=False)),
                ("elite", models.BooleanField(default=False)),
                ("evil_glow", models.BooleanField(default=False)),
                ("inspire", models.BooleanField(default=False)),
                ("forgetful", models.BooleanField(default=False)),
                ("one_turn_effect", models.BooleanField(default=False)),
                ("poisonous", models.BooleanField(default=False)),
                ("ritual", models.BooleanField(default=False)),
                ("secret", models.BooleanField(default=False)),
                ("taunt", models.BooleanField(default=False)),
                ("topdeck", models.BooleanField(default=False)),
                ("atk", models.IntegerField(default=0)),
                ("health", models.IntegerField(default=0)),
                ("durability", models.IntegerField(default=0)),
                ("cost", models.IntegerField(default=0)),
                ("windfury", models.IntegerField(default=0)),
                ("spare_part", models.BooleanField(default=False)),
                ("overload", models.IntegerField(default=0)),
                ("spell_damage", models.IntegerField(default=0)),
                ("craftable", models.BooleanField(default=False)),
            ],
            options={
                "db_table": "card",
            },
        ),
    ]
Ejemplo n.º 26
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('cards', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('api', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='GameReplay',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('shortid', hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')),
                ('friendly_player_id', hsreplaynet.utils.fields.PlayerIDField(choices=[(1, 1), (2, 2)], help_text='PlayerID of the friendly player (1 or 2)', null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)], verbose_name='Friendly PlayerID')),
                ('spectator_mode', models.BooleanField(default=False)),
                ('spectator_password', models.CharField(blank=True, max_length=16, verbose_name='Spectator Password')),
                ('client_handle', models.IntegerField(blank=True, null=True)),
                ('aurora_password', models.CharField(blank=True, max_length=16)),
                ('build', models.PositiveIntegerField(blank=True, null=True, verbose_name='Hearthstone Build')),
                ('replay_xml', models.FileField(upload_to=hsreplaynet.games.models.generate_upload_path)),
                ('hsreplay_version', models.CharField(help_text='The HSReplay library version used to generate the replay', max_length=16, verbose_name='HSReplay library version')),
                ('hslog_version', models.CharField(help_text='The python-hearthstone library version at processing', max_length=24, null=True, verbose_name='hslog library version')),
                ('is_deleted', models.BooleanField(default=False, help_text='Indicates user request to delete the upload', verbose_name='Soft deleted')),
                ('won', models.NullBooleanField()),
                ('disconnected', models.BooleanField(default=False)),
                ('reconnecting', models.BooleanField(default=False, help_text='Whether the player is reconnecting to an existing game', verbose_name='Is reconnecting')),
                ('resumable', models.NullBooleanField()),
                ('visibility', django_intenum.IntEnumField(choices=[(1, 'Public'), (2, 'Unlisted')], default=1, validators=[django_intenum.IntEnumValidator(hsreplaynet.games.models.Visibility)])),
                ('hide_player_names', models.BooleanField(default=False)),
                ('views', models.PositiveIntegerField(default=0)),
            ],
            options={
                'ordering': ('global_game',),
            },
        ),
        migrations.CreateModel(
            name='GlobalGame',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('game_handle', models.IntegerField(blank=True, help_text='Game ID on the Battle.net server', null=True, verbose_name='Game handle')),
                ('server_address', models.GenericIPAddressField(blank=True, null=True)),
                ('server_port', models.IntegerField(blank=True, null=True)),
                ('server_version', models.IntegerField(blank=True, null=True)),
                ('build', models.PositiveIntegerField(blank=True, help_text='Hearthstone build number the game was played on.', null=True)),
                ('match_start', models.DateTimeField(db_index=True, null=True)),
                ('match_end', models.DateTimeField(null=True)),
                ('game_type', django_intenum.IntEnumField(blank=True, choices=[(0, 'BGT_UNKNOWN'), (1, 'BGT_FRIENDS'), (2, 'BGT_RANKED_STANDARD'), (3, 'BGT_ARENA'), (4, 'BGT_VS_AI'), (5, 'BGT_TUTORIAL'), (6, 'BGT_ASYNC'), (9, 'BGT_NEWBIE'), (7, 'BGT_CASUAL_STANDARD'), (8, 'BGT_TEST1'), (10, 'BGT_TEST3'), (16, 'BGT_TAVERNBRAWL_PVP'), (17, 'BGT_TAVERNBRAWL_1P_VERSUS_AI'), (18, 'BGT_TAVERNBRAWL_2P_COOP'), (30, 'BGT_RANKED_WILD'), (31, 'BGT_CASUAL_WILD'), (32, 'BGT_LAST')], null=True, validators=[django_intenum.IntEnumValidator(hearthstone.enums.BnetGameType)], verbose_name='Game type')),
                ('format', django_intenum.IntEnumField(choices=[(0, 'FT_UNKNOWN'), (1, 'FT_WILD'), (2, 'FT_STANDARD')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.FormatType)], verbose_name='Format type')),
                ('ladder_season', models.IntegerField(blank=True, help_text='The season as calculated from the match start timestamp.', null=True, verbose_name='Ladder season')),
                ('brawl_season', models.IntegerField(default=0, help_text='The brawl season which increments every time the brawl changes.', verbose_name='Tavern Brawl season')),
                ('scenario_id', models.IntegerField(blank=True, db_index=True, help_text='ID from DBF/SCENARIO.xml or Scenario cache', null=True, verbose_name='Scenario ID')),
                ('num_turns', models.IntegerField(blank=True, null=True)),
                ('num_entities', models.IntegerField(blank=True, null=True)),
                ('digest', models.CharField(help_text='SHA1 of str(game_handle), str(server_address), str(lo1), str(lo2)', max_length=40, null=True, unique=True)),
            ],
            options={
                'ordering': ('-match_start',),
            },
        ),
        migrations.CreateModel(
            name='GlobalGamePlayer',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, db_index=True, max_length=64, verbose_name='Player name')),
                ('real_name', models.CharField(blank=True, max_length=64, verbose_name='Real name')),
                ('player_id', hsreplaynet.utils.fields.PlayerIDField(blank=True, choices=[(1, 1), (2, 2)], validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(2)])),
                ('account_hi', models.BigIntegerField(blank=True, help_text='The region value from account hilo', null=True, verbose_name='Account Hi')),
                ('account_lo', models.BigIntegerField(blank=True, help_text='The account ID value from account hilo', null=True, verbose_name='Account Lo')),
                ('is_ai', models.BooleanField(default=False, help_text='Whether the player is an AI.', verbose_name='Is AI')),
                ('is_first', models.BooleanField(help_text='Whether the player is the first player', verbose_name='Is first player')),
                ('hero_premium', models.BooleanField(default=False, help_text="Whether the player's initial hero is golden.", verbose_name='Hero Premium')),
                ('final_state', django_intenum.IntEnumField(choices=[(0, 'INVALID'), (1, 'PLAYING'), (2, 'WINNING'), (3, 'LOSING'), (4, 'WON'), (5, 'LOST'), (6, 'TIED'), (7, 'DISCONNECTED'), (8, 'CONCEDED')], default=0, validators=[django_intenum.IntEnumValidator(hearthstone.enums.PlayState)], verbose_name='Final State')),
                ('rank', models.SmallIntegerField(blank=True, help_text='1 through 25, or 0 for legend.', null=True, verbose_name='Rank')),
                ('legend_rank', models.PositiveIntegerField(blank=True, null=True)),
                ('stars', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('wins', models.PositiveIntegerField(blank=True, help_text='Number of wins in the current game mode (eg. ladder season, arena key...)', null=True, verbose_name='Wins')),
                ('losses', models.PositiveIntegerField(blank=True, help_text='Number of losses in the current game mode (current season)', null=True, verbose_name='Losses')),
                ('deck_id', models.IntegerField(blank=True, null=True, verbose_name='Deck ID')),
                ('cardback_id', models.IntegerField(blank=True, null=True, verbose_name='Cardback ID')),
                ('deck_list', models.ForeignKey(help_text="As much as is known of the player's starting deck list.", on_delete=django.db.models.deletion.PROTECT, to='cards.Deck')),
                ('game', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='players', to='games.GlobalGame')),
                ('hero', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cards.Card')),
                ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='ReplayAlias',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('shortid', hsreplaynet.utils.fields.ShortUUIDField(blank=True, editable=False, max_length=22, unique=True, verbose_name='Short ID')),
                ('replay', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='aliases', to='games.GameReplay')),
            ],
        ),
        migrations.AddField(
            model_name='gamereplay',
            name='global_game',
            field=models.ForeignKey(help_text='References the single global game that this replay shows.', on_delete=django.db.models.deletion.CASCADE, related_name='replays', to='games.GlobalGame'),
        ),
        migrations.AddField(
            model_name='gamereplay',
            name='opponent_revealed_deck',
            field=models.ForeignKey(help_text="As much as is known of the opponent's starting deck list.", null=True, on_delete=django.db.models.deletion.PROTECT, to='cards.Deck'),
        ),
        migrations.AddField(
            model_name='gamereplay',
            name='upload_token',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='replays', to='api.AuthToken'),
        ),
        migrations.AddField(
            model_name='gamereplay',
            name='user',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='replays', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AlterUniqueTogether(
            name='globalgameplayer',
            unique_together=set([('game', 'player_id')]),
        ),
        migrations.AlterUniqueTogether(
            name='gamereplay',
            unique_together=set([('global_game', 'client_handle', 'friendly_player_id', 'spectator_mode', 'reconnecting')]),
        ),
    ]
Ejemplo n.º 27
0
class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('webhooks', '0002_webhook_secret'),
    ]

    operations = [
        migrations.CreateModel(
            name='Event',
            fields=[
                ('uuid',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('type', models.CharField(db_index=True, max_length=50)),
                ('data',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='events',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='WebhookDelivery',
            fields=[
                ('uuid',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('url', models.URLField()),
                ('request_headers',
                 django.contrib.postgres.fields.jsonb.JSONField()),
                ('request_body', models.TextField(blank=True)),
                ('response_status',
                 models.PositiveSmallIntegerField(null=True)),
                ('response_headers',
                 django.contrib.postgres.fields.jsonb.JSONField(blank=True)),
                ('response_body', models.TextField(blank=True)),
                ('completed_time', models.PositiveIntegerField()),
                ('success', models.BooleanField()),
                ('error', models.TextField(blank=True)),
                ('traceback', models.TextField(blank=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='WebhookEndpoint',
            fields=[
                ('uuid',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('url',
                 models.URLField(
                     help_text='The URL the webhook will POST to.',
                     validators=[
                         hsreplaynet.webhooks.validators.WebhookURLValidator()
                     ])),
                ('secret',
                 models.UUIDField(
                     default=uuid.uuid4,
                     editable=False,
                     help_text=
                     'Salt for the X-Webhook-Signature header sent with the payload'
                 )),
                ('timeout',
                 models.PositiveSmallIntegerField(
                     default=10,
                     help_text=
                     'Timeout (in seconds) the triggers have before they fail.'
                 )),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text='Whether the listener is enabled.')),
                ('is_deleted', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='webhook_endpoints',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.RemoveField(
            model_name='webhooktrigger',
            name='webhook',
        ),
        migrations.RenameField(
            model_name='webhook',
            old_name='modified',
            new_name='updated',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='is_active',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='is_deleted',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='max_triggers',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='secret',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='timeout',
        ),
        migrations.RemoveField(
            model_name='webhook',
            name='user',
        ),
        migrations.AddField(
            model_name='webhook',
            name='payload',
            field=django.contrib.postgres.fields.jsonb.JSONField(
                default={},
                encoder=django.core.serializers.json.DjangoJSONEncoder),
            preserve_default=False,
        ),
        migrations.AddField(
            model_name='webhook',
            name='status',
            field=django_intenum.IntEnumField(
                default=0, enum=hsreplaynet.webhooks.models.WebhookStatus),
        ),
        migrations.AlterField(
            model_name='webhook',
            name='url',
            field=models.URLField(),
        ),
        migrations.DeleteModel(name='WebhookTrigger', ),
        migrations.AddField(
            model_name='webhookdelivery',
            name='webhook',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='deliveries',
                to='webhooks.Webhook'),
        ),
        migrations.AddField(
            model_name='webhook',
            name='endpoint',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='webhooks',
                to='webhooks.WebhookEndpoint'),
        ),
        migrations.AddField(
            model_name='webhook',
            name='event',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='webhooks',
                to='webhooks.Event'),
        ),
    ]
Ejemplo n.º 28
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('cards', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Archetype',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(blank=True, max_length=250)),
                ('player_class', django_intenum.IntEnumField(default=0, enum=hearthstone.enums.CardClass)),
            ],
            options={
                'db_table': 'cards_archetype',
            },
        ),
        migrations.CreateModel(
            name='Deck',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('digest', models.CharField(max_length=32, unique=True)),
                ('created', models.DateTimeField(auto_now_add=True, null=True)),
                ('size', models.IntegerField(null=True)),
                ('archetype', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='decks.Archetype')),
                ('guessed_full_deck', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='decks.Deck')),
            ],
            options={
                'db_table': 'cards_deck',
            },
        ),
        migrations.CreateModel(
            name='Include',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('count', models.IntegerField(default=1)),
                ('card', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='included_in', to='cards.Card')),
                ('deck', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='includes', to='decks.Deck')),
            ],
            options={
                'db_table': 'cards_include',
            },
        ),
        migrations.CreateModel(
            name='Signature',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('format', django_intenum.IntEnumField(default=2, enum=hearthstone.enums.FormatType)),
                ('as_of', models.DateTimeField()),
                ('archetype', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='decks.Archetype')),
            ],
        ),
        migrations.CreateModel(
            name='SignatureComponent',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('weight', models.FloatField(default=0.0)),
                ('card', models.ForeignKey(db_column='card_dbf_id', on_delete=django.db.models.deletion.PROTECT, related_name='signature_components', to='cards.Card', to_field='dbf_id')),
                ('signature', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='components', to='decks.Signature')),
            ],
        ),
        migrations.AddField(
            model_name='deck',
            name='cards',
            field=models.ManyToManyField(through='decks.Include', to='cards.Card'),
        ),
        migrations.AlterUniqueTogether(
            name='include',
            unique_together=set([('deck', 'card')]),
        ),
    ]
Ejemplo n.º 29
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Adventure",
            fields=[
                ("id",
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name="ID")),
                ("note_desc", models.CharField(max_length=64)),
                ("name", models.CharField(max_length=64)),
                ("sort_order", models.PositiveIntegerField(default=0)),
                ("leaving_soon", models.BooleanField(default=False)),
                ("created", models.DateTimeField(auto_now_add=True)),
                ("updated", models.DateTimeField(auto_now=True)),
                ("build", models.PositiveIntegerField()),
            ],
        ),
        migrations.CreateModel(
            name="Scenario",
            fields=[
                ("id",
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name="ID")),
                ("note_desc", models.CharField(max_length=64)),
                ("players", models.PositiveSmallIntegerField()),
                ("player1_hero_card_id", models.IntegerField(null=True)),
                ("player2_hero_card_id", models.IntegerField(null=True)),
                ("is_tutorial", models.BooleanField(default=False)),
                ("is_expert", models.BooleanField(default=False)),
                ("is_coop", models.BooleanField(default=False)),
                ("sort_order", models.PositiveIntegerField(default=0)),
                ("mode",
                 django_intenum.IntEnumField(
                     default=0,
                     enum=django_hearthstone.scenarios.models.AdventureMode)),
                ("client_player2_hero_card_id",
                 models.IntegerField(null=True)),
                ("name", models.CharField(max_length=64)),
                ("description", models.TextField()),
                ("opponent_name", models.CharField(max_length=64)),
                ("completed_description", models.TextField()),
                ("player1_deck_id", models.IntegerField(null=True)),
                ("created", models.DateTimeField(auto_now_add=True)),
                ("updated", models.DateTimeField(auto_now=True)),
                ("build", models.PositiveIntegerField()),
                ("adventure",
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to="scenarios.Adventure")),
            ],
        ),
        migrations.CreateModel(
            name="Wing",
            fields=[
                ("id",
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name="ID")),
                ("note_desc", models.CharField(max_length=64)),
                ("sort_order", models.PositiveIntegerField()),
                ("release", models.CharField(max_length=16)),
                ("required_event", models.CharField(max_length=16)),
                ("name", models.CharField(max_length=64)),
                ("coming_soon_label", models.CharField(max_length=64)),
                ("requires_label", models.CharField(max_length=64)),
                ("created", models.DateTimeField(auto_now_add=True)),
                ("updated", models.DateTimeField(auto_now=True)),
                ("build", models.PositiveIntegerField()),
                ("adventure",
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   to="scenarios.Adventure")),
                ("ownership_prereq_wing",
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to="scenarios.Wing")),
            ],
        ),
        migrations.AddField(
            model_name="scenario",
            name="wing",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to="scenarios.Wing"),
        ),
    ]