# Generated by Django 3.1 on 2020-08-25 14:54 import desecapi.models from django.conf import settings import django.core.validators from django.db import migrations, models import django.db.models.deletion import re import uuid 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.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, }, ), ]