Пример #1
0
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0012_volatile_donations'),
    ]

    operations = [
        migrations.AddField(
            model_name='token',
            name='last_used',
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AlterField(
            model_name='token',
            name='name',
            field=models.CharField(blank=True, max_length=64, verbose_name='Name'),
        ),
        migrations.AlterField(
            model_name='domain',
            name='name',
            field=models.CharField(max_length=191, unique=True, validators=[desecapi.models.validate_lower, django.core.validators.RegexValidator(code='invalid_domain_name', message='Invalid value (not a DNS name).', regex='^([a-z0-9_-]{1,63}\\.)*[a-z]{1,63}$')]),
        ),
        migrations.AlterField(
            model_name='rr',
            name='content',
            field=models.CharField(max_length=500),
        ),
        migrations.RunPython(migrate_data, migrations.RunPython.noop),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0001_initial_squashed'),
    ]

    operations = [
        migrations.AlterField(
            model_name='domain',
            name='name',
            field=models.CharField(max_length=191,
                                   unique=True,
                                   validators=[
                                       desecapi.models.validate_lower,
                                       django.core.validators.RegexValidator(
                                           code='invalid_domain_name',
                                           message='Domain name malformed.',
                                           regex='^[a-z0-9_.-]+$')
                                   ]),
        ),
        migrations.AlterField(
            model_name='domain',
            name='published',
            field=models.DateTimeField(blank=True, null=True),
        ),
        migrations.AlterField(
            model_name='rrset',
            name='subname',
            field=models.CharField(blank=True,
                                   max_length=178,
                                   validators=[
                                       desecapi.models.validate_lower,
                                       django.core.validators.RegexValidator(
                                           code='invalid_subname',
                                           message='Subname malformed.',
                                           regex='^[*]?[a-z0-9_.-]*$')
                                   ]),
        ),
        migrations.AlterField(
            model_name='rrset',
            name='type',
            field=models.CharField(max_length=10,
                                   validators=[
                                       desecapi.models.validate_upper,
                                       django.core.validators.RegexValidator(
                                           code='invalid_type',
                                           message='Type malformed.',
                                           regex='^[A-Z][A-Z0-9]*$')
                                   ]),
        ),
        migrations.RunPython(lowercase_names,
                             reverse_code=migrations.RunPython.noop),
    ]
Пример #3
0
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0002_lowercase_domains_and_subnames'),
    ]

    operations = [
        migrations.AlterField(
            model_name='domain',
            name='name',
            field=models.CharField(
                max_length=191,
                unique=True,
                validators=[
                    desecapi.models.validate_lower,
                    django.core.validators.RegexValidator(
                        code='invalid_domain_name',
                        message='Invalid value (not a DNS name).',
                        regex='^[a-z0-9_.-]*[a-z]$')
                ]),
        ),
        migrations.AlterField(
            model_name='rrset',
            name='subname',
            field=models.CharField(
                blank=True,
                max_length=178,
                validators=[
                    desecapi.models.validate_lower,
                    django.core.validators.RegexValidator(
                        code='invalid_subname',
                        message=
                        "Subname can only use (lowercase) a-z, 0-9, ., -, and _, may start with a '*.', or just be '*'.",
                        regex='^([*]|(([*][.])?[a-z0-9_.-]*))$')
                ]),
        ),
        migrations.AlterField(
            model_name='rrset',
            name='type',
            field=models.CharField(
                max_length=10,
                validators=[
                    desecapi.models.validate_upper,
                    django.core.validators.RegexValidator(
                        code='invalid_type',
                        message=
                        'Type must be uppercase alphanumeric and start with a letter.',
                        regex='^[A-Z][A-Z0-9]*$')
                ]),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0004_immortal_domains'),
    ]

    operations = [
        migrations.AlterField(
            model_name='rrset',
            name='subname',
            field=models.CharField(blank=True, max_length=178, validators=[desecapi.models.validate_lower, django.core.validators.RegexValidator(code='invalid_subname', message="Subname can only use (lowercase) a-z, 0-9, ., -, and _, may start with a '*.', or just be '*'.", regex='^([*]|(([*][.])?([a-z0-9_-]+[.])*[a-z0-9_-]+))$')]),
        ),
    ]
Пример #5
0
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0011_captcha_kind'),
    ]

    operations = [
        migrations.AlterField(
            model_name='rrset',
            name='subname',
            field=models.CharField(blank=True, max_length=178, validators=[desecapi.models.validate_lower, django.core.validators.RegexValidator(code='invalid_subname', message="Subname can only use (lowercase) a-z, 0-9, ., -, and _, may start with a '*.', or just be '*'. Components may not exceed 63 characters.", regex='^([*]|(([*][.])?([a-z0-9_-]{1,63}[.])*[a-z0-9_-]{1,63}))$')]),
        ),
    ]
Пример #6
0
class Migration(migrations.Migration):

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

    operations = [
        migrations.AlterField(
            model_name='user',
            name='id',
            field=models.CharField(default=desecapi.models.uuid_hex,
                                   editable=False,
                                   max_length=32,
                                   primary_key=True,
                                   serialize=False),
        ),
    ]
Пример #7
0
class Migration(migrations.Migration):

    dependencies = [
        ('desecapi', '0007_remove_user_registration_remote_ip'),
    ]

    operations = [
        migrations.CreateModel(
            name='Captcha',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('content',
                 models.CharField(
                     default=desecapi.models.captcha_default_content,
                     max_length=24)),
            ],
        ),
    ]
Пример #8
0
class Migration(migrations.Migration):

    replaces = [('desecapi', '0001_initial'), ('desecapi', '0002_donation'),
                ('desecapi', '0003_auto_20151008_1023'),
                ('desecapi', '0004_remove_donation_rip'),
                ('desecapi', '0005_auto_20151008_1042'),
                ('desecapi', '0006_auto_20151018_1234'),
                ('desecapi', '0007_domain_updated'),
                ('desecapi', '0008_django_update_1-10'),
                ('desecapi', '0009_auto_20161201_1548'),
                ('desecapi', '0010_auto_20161219_1242'),
                ('desecapi', '0011_user_limit_domains'),
                ('desecapi', '0012_move_dyn_flag'),
                ('desecapi', '0013_acme_challenge'),
                ('desecapi', '0014_ip_validation'), ('desecapi', '0015_rrset'),
                ('desecapi', '0016_dyn_flag_default'),
                ('desecapi', '0017_rr_model'),
                ('desecapi', '0018_prune_domain_fields'),
                ('desecapi', '0019_rrset_uuid'),
                ('desecapi', '0020_user_locked'), ('desecapi', '0021_tokens'),
                ('desecapi', '0022_domain_published')]

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('email',
                 models.EmailField(max_length=191,
                                   unique=True,
                                   verbose_name='email address')),
                ('is_active', models.BooleanField(default=True)),
                ('is_admin', models.BooleanField(default=False)),
                ('registration_remote_ip',
                 models.CharField(blank=True, max_length=1024)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('limit_domains',
                 models.IntegerField(blank=True, default=5, null=True)),
                ('dyn', models.BooleanField(default=False)),
                ('locked', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Donation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 models.DateTimeField(
                     default=desecapi.models.get_default_value_created)),
                ('name', models.CharField(max_length=255)),
                ('iban', models.CharField(max_length=34)),
                ('bic', models.CharField(max_length=11)),
                ('amount', models.DecimalField(decimal_places=2,
                                               max_digits=8)),
                ('message', models.CharField(blank=True, max_length=255)),
                ('due',
                 models.DateTimeField(
                     default=desecapi.models.get_default_value_due)),
                ('mref',
                 models.CharField(
                     default=desecapi.models.get_default_value_mref,
                     max_length=32)),
                ('email', models.EmailField(blank=True, max_length=255)),
            ],
            options={
                'ordering': ('created', ),
            },
        ),
        migrations.CreateModel(
            name='Domain',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('name', models.CharField(max_length=191, unique=True)),
                ('owner',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='domains',
                                   to=settings.AUTH_USER_MODEL)),
                ('published', models.DateTimeField(null=True)),
            ],
            options={
                'ordering': ('created', ),
            },
        ),
        migrations.CreateModel(
            name='RRset',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(null=True)),
                ('subname', models.CharField(blank=True, max_length=178)),
                ('type',
                 models.CharField(max_length=10,
                                  validators=[desecapi.models.validate_upper
                                              ])),
                ('ttl',
                 models.PositiveIntegerField(
                     validators=[django.core.validators.MinValueValidator(1)])
                 ),
                ('domain',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='desecapi.Domain')),
            ],
            options={
                'unique_together': {('domain', 'subname', 'type')},
            },
        ),
        migrations.CreateModel(
            name='RR',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('content', models.CharField(max_length=4092)),
                ('rrset',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='records',
                                   to='desecapi.RRset')),
            ],
        ),
        migrations.CreateModel(
            name='Token',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created')),
                ('key',
                 models.CharField(db_index=True,
                                  max_length=40,
                                  unique=True,
                                  verbose_name='Key')),
                ('name',
                 models.CharField(default='',
                                  max_length=64,
                                  verbose_name='Name')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='auth_tokens',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='User')),
                ('user_specific_id',
                 models.BigIntegerField(verbose_name='User-Specific ID')),
            ],
            options={
                'unique_together': {('user', 'user_specific_id')},
            },
        ),
    ]
Пример #9
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('email',
                 models.EmailField(max_length=191,
                                   unique=True,
                                   verbose_name='email address')),
                ('is_active', models.BooleanField(default=True)),
                ('is_admin', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('limit_domains',
                 models.IntegerField(
                     blank=True,
                     default=desecapi.models.User._limit_domains_default,
                     null=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Domain',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('name',
                 models.CharField(
                     max_length=191,
                     unique=True,
                     validators=[
                         desecapi.models.validate_lower,
                         django.core.validators.RegexValidator(
                             code='invalid_domain_name',
                             flags=re.RegexFlag['IGNORECASE'],
                             message=
                             'Domain names must be labels separated by dots. Labels may consist of up to 63 letters, digits, hyphens, and underscores. The last label may not contain an underscore.',
                             regex='^(([a-z0-9_-]{1,63})\\.)*[a-z0-9-]{1,63}$')
                     ])),
                ('owner',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='domains',
                                   to=settings.AUTH_USER_MODEL)),
                ('published', models.DateTimeField(blank=True, null=True)),
                ('minimum_ttl',
                 models.PositiveIntegerField(
                     default=desecapi.models.Domain._minimum_ttl_default)),
                ('renewal_changed', models.DateTimeField(auto_now_add=True)),
                ('renewal_state',
                 models.IntegerField(choices=[(1, 'Fresh'), (2, 'Notified'),
                                              (3, 'Warned')],
                                     default=1)),
            ],
            options={
                'ordering': ('created', ),
            },
        ),
        migrations.CreateModel(
            name='RRset',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('touched', models.DateTimeField(auto_now=True)),
                ('subname',
                 models.CharField(
                     blank=True,
                     max_length=178,
                     validators=[
                         desecapi.models.validate_lower,
                         django.core.validators.RegexValidator(
                             code='invalid_subname',
                             message=
                             "Subname can only use (lowercase) a-z, 0-9, ., -, and _, may start with a '*.', or just be '*'.",
                             regex='^([*]|(([*][.])?[a-z0-9_.-]*))$')
                     ])),
                ('type',
                 models.CharField(
                     max_length=10,
                     validators=[
                         desecapi.models.validate_upper,
                         django.core.validators.RegexValidator(
                             code='invalid_type',
                             message=
                             'Type must be uppercase alphanumeric and start with a letter.',
                             regex='^[A-Z][A-Z0-9]*$')
                     ])),
                ('ttl', models.PositiveIntegerField()),
                ('domain',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='desecapi.domain')),
            ],
            options={
                'unique_together': {('domain', 'subname', 'type')},
            },
        ),
        migrations.CreateModel(
            name='AuthenticatedAction',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
            ],
            options={
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='AuthenticatedUserAction',
            fields=[
                ('authenticatedaction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticatedaction')),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticatedaction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedDeleteUserAction',
            fields=[
                ('authenticateduseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticateduseraction')),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticateduseraction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedResetPasswordUserAction',
            fields=[
                ('authenticateduseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticateduseraction')),
                ('new_password', models.CharField(max_length=128)),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticateduseraction', ),
        ),
        migrations.CreateModel(
            name='Captcha',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('content',
                 models.CharField(
                     default=desecapi.models.captcha_default_content,
                     max_length=24)),
            ],
        ),
        migrations.CreateModel(
            name='Token',
            fields=[
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('created',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Created')),
                ('key',
                 models.CharField(db_index=True,
                                  max_length=128,
                                  unique=True,
                                  verbose_name='Key')),
                ('name',
                 models.CharField(blank=True,
                                  max_length=64,
                                  verbose_name='Name')),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='auth_tokens',
                                   to=settings.AUTH_USER_MODEL,
                                   verbose_name='User')),
                ('last_used', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'verbose_name': 'Token',
                'verbose_name_plural': 'Tokens',
            },
        ),
        migrations.CreateModel(
            name='RR',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('content', models.CharField(max_length=500)),
                ('rrset',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='records',
                                   to='desecapi.rrset')),
            ],
        ),
        migrations.CreateModel(
            name='AuthenticatedActivateUserAction',
            fields=[
                ('authenticateduseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticateduseraction')),
                ('domain', models.CharField(max_length=191)),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticateduseraction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedChangeEmailUserAction',
            fields=[
                ('authenticateduseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticateduseraction')),
                ('new_email', models.EmailField(max_length=254)),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticateduseraction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedBasicUserAction',
            fields=[
                ('authenticatedaction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticatedaction')),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticatedaction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedDomainBasicUserAction',
            fields=[
                ('authenticatedbasicuseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticatedbasicuseraction')),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticatedbasicuseraction', ),
        ),
        migrations.CreateModel(
            name='AuthenticatedRenewDomainBasicUserAction',
            fields=[
                ('authenticateddomainbasicuseraction_ptr',
                 models.OneToOneField(
                     auto_created=True,
                     on_delete=django.db.models.deletion.CASCADE,
                     parent_link=True,
                     primary_key=True,
                     serialize=False,
                     to='desecapi.authenticateddomainbasicuseraction')),
            ],
            options={
                'managed': False,
            },
            bases=('desecapi.authenticateddomainbasicuseraction', ),
        ),
        migrations.CreateModel(
            name='Donation',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('created',
                 models.DateTimeField(
                     default=desecapi.models.Donation._created_default)),
                ('name', models.CharField(max_length=255)),
                ('iban', models.CharField(max_length=34)),
                ('bic', models.CharField(max_length=11)),
                ('amount', models.DecimalField(decimal_places=2,
                                               max_digits=8)),
                ('message', models.CharField(blank=True, max_length=255)),
                ('due',
                 models.DateTimeField(
                     default=desecapi.models.Donation._due_default)),
                ('mref',
                 models.CharField(
                     default=desecapi.models.Donation._mref_default,
                     max_length=32)),
                ('email', models.EmailField(blank=True, max_length=255)),
            ],
            options={
                'ordering': ('created', ),
                'managed': False,
            },
        ),
    ]