0001_initial_squashed_again.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. # Generated by Django 3.1 on 2020-08-25 14:54
  2. import desecapi.models
  3. from django.conf import settings
  4. import django.core.validators
  5. from django.db import migrations, models
  6. import django.db.models.deletion
  7. import re
  8. import uuid
  9. class Migration(migrations.Migration):
  10. initial = True
  11. dependencies = [
  12. ]
  13. operations = [
  14. migrations.CreateModel(
  15. name='User',
  16. fields=[
  17. ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
  18. ('password', models.CharField(max_length=128, verbose_name='password')),
  19. ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
  20. ('email', models.EmailField(max_length=191, unique=True, verbose_name='email address')),
  21. ('is_active', models.BooleanField(default=True)),
  22. ('is_admin', models.BooleanField(default=False)),
  23. ('created', models.DateTimeField(auto_now_add=True)),
  24. ('limit_domains', models.IntegerField(blank=True, default=5, null=True)),
  25. ],
  26. options={
  27. 'abstract': False,
  28. },
  29. ),
  30. migrations.CreateModel(
  31. name='Domain',
  32. fields=[
  33. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  34. ('created', models.DateTimeField(auto_now_add=True)),
  35. ('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}$')])),
  36. ('owner', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='domains', to=settings.AUTH_USER_MODEL)),
  37. ('published', models.DateTimeField(blank=True, null=True)),
  38. ('minimum_ttl', models.PositiveIntegerField(default=desecapi.models.get_minimum_ttl_default)),
  39. ('renewal_changed', models.DateTimeField(auto_now_add=True)),
  40. ('renewal_state', models.IntegerField(choices=[(1, 'Fresh'), (2, 'Notified'), (3, 'Warned')], default=1)),
  41. ],
  42. options={
  43. 'ordering': ('created',),
  44. },
  45. ),
  46. migrations.CreateModel(
  47. name='RRset',
  48. fields=[
  49. ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
  50. ('created', models.DateTimeField(auto_now_add=True)),
  51. ('touched', models.DateTimeField(auto_now=True)),
  52. ('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_.-]*))$')])),
  53. ('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]*$')])),
  54. ('ttl', models.PositiveIntegerField()),
  55. ('domain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='desecapi.domain')),
  56. ],
  57. options={
  58. 'unique_together': {('domain', 'subname', 'type')},
  59. },
  60. ),
  61. migrations.CreateModel(
  62. name='AuthenticatedAction',
  63. fields=[
  64. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  65. ],
  66. options={
  67. 'managed': False,
  68. },
  69. ),
  70. migrations.CreateModel(
  71. name='AuthenticatedUserAction',
  72. fields=[
  73. ('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')),
  74. ],
  75. options={
  76. 'managed': False,
  77. },
  78. bases=('desecapi.authenticatedaction',),
  79. ),
  80. migrations.CreateModel(
  81. name='AuthenticatedDeleteUserAction',
  82. fields=[
  83. ('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')),
  84. ],
  85. options={
  86. 'managed': False,
  87. },
  88. bases=('desecapi.authenticateduseraction',),
  89. ),
  90. migrations.CreateModel(
  91. name='AuthenticatedResetPasswordUserAction',
  92. fields=[
  93. ('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')),
  94. ('new_password', models.CharField(max_length=128)),
  95. ],
  96. options={
  97. 'managed': False,
  98. },
  99. bases=('desecapi.authenticateduseraction',),
  100. ),
  101. migrations.CreateModel(
  102. name='Captcha',
  103. fields=[
  104. ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
  105. ('created', models.DateTimeField(auto_now_add=True)),
  106. ('content', models.CharField(default=desecapi.models.captcha_default_content, max_length=24)),
  107. ],
  108. ),
  109. migrations.CreateModel(
  110. name='Token',
  111. fields=[
  112. ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
  113. ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
  114. ('key', models.CharField(db_index=True, max_length=128, unique=True, verbose_name='Key')),
  115. ('name', models.CharField(blank=True, max_length=64, verbose_name='Name')),
  116. ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='auth_tokens', to=settings.AUTH_USER_MODEL, verbose_name='User')),
  117. ('last_used', models.DateTimeField(blank=True, null=True)),
  118. ],
  119. options={
  120. 'verbose_name': 'Token',
  121. 'verbose_name_plural': 'Tokens',
  122. },
  123. ),
  124. migrations.CreateModel(
  125. name='RR',
  126. fields=[
  127. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  128. ('created', models.DateTimeField(auto_now_add=True)),
  129. ('content', models.CharField(max_length=500)),
  130. ('rrset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to='desecapi.rrset')),
  131. ],
  132. ),
  133. migrations.CreateModel(
  134. name='AuthenticatedActivateUserAction',
  135. fields=[
  136. ('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')),
  137. ('domain', models.CharField(max_length=191)),
  138. ],
  139. options={
  140. 'managed': False,
  141. },
  142. bases=('desecapi.authenticateduseraction',),
  143. ),
  144. migrations.CreateModel(
  145. name='AuthenticatedChangeEmailUserAction',
  146. fields=[
  147. ('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')),
  148. ('new_email', models.EmailField(max_length=254)),
  149. ],
  150. options={
  151. 'managed': False,
  152. },
  153. bases=('desecapi.authenticateduseraction',),
  154. ),
  155. migrations.CreateModel(
  156. name='AuthenticatedBasicUserAction',
  157. fields=[
  158. ('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')),
  159. ],
  160. options={
  161. 'managed': False,
  162. },
  163. bases=('desecapi.authenticatedaction',),
  164. ),
  165. migrations.CreateModel(
  166. name='AuthenticatedDomainBasicUserAction',
  167. fields=[
  168. ('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')),
  169. ],
  170. options={
  171. 'managed': False,
  172. },
  173. bases=('desecapi.authenticatedbasicuseraction',),
  174. ),
  175. migrations.CreateModel(
  176. name='AuthenticatedRenewDomainBasicUserAction',
  177. fields=[
  178. ('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')),
  179. ],
  180. options={
  181. 'managed': False,
  182. },
  183. bases=('desecapi.authenticateddomainbasicuseraction',),
  184. ),
  185. migrations.CreateModel(
  186. name='Donation',
  187. fields=[
  188. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  189. ('created', models.DateTimeField(default=desecapi.models.get_default_value_created)),
  190. ('name', models.CharField(max_length=255)),
  191. ('iban', models.CharField(max_length=34)),
  192. ('bic', models.CharField(max_length=11)),
  193. ('amount', models.DecimalField(decimal_places=2, max_digits=8)),
  194. ('message', models.CharField(blank=True, max_length=255)),
  195. ('due', models.DateTimeField(default=desecapi.models.get_default_value_due)),
  196. ('mref', models.CharField(default=desecapi.models.get_default_value_mref, max_length=32)),
  197. ('email', models.EmailField(blank=True, max_length=255)),
  198. ],
  199. options={
  200. 'ordering': ('created',),
  201. 'managed': False,
  202. },
  203. ),
  204. ]