1
0

0001_initial.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. # Generated by Django 2.2.6 on 2019-11-16 03:06
  2. import django.core.validators
  3. from django.db import migrations, models
  4. import django.db.models.deletion
  5. import re
  6. class Migration(migrations.Migration):
  7. initial = True
  8. dependencies = [
  9. ]
  10. operations = [
  11. migrations.CreateModel(
  12. name='Channel',
  13. fields=[
  14. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  15. ('slug', models.SlugField(unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-\\w]+\\Z'), "Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or hyphens.", 'invalid')])),
  16. ('name', models.CharField(max_length=64)),
  17. ('autojoin', models.BooleanField(default=False)),
  18. ('key', models.CharField(max_length=32)),
  19. ('games', models.BooleanField(default=False)),
  20. ('statistic_commands', models.BooleanField(default=False)),
  21. ('last_event_type', models.CharField(choices=[('pm', 'private message'), ('pa', 'private action'), ('pn', 'private notice'), ('cm', 'channel message'), ('ca', 'channel action'), ('cn', 'channel notice'), ('ct', 'channel topic'), ('ck', 'channel password'), ('ci', 'channel invite'), ('cj', 'channel join'), ('cp', 'channel part'), ('ck', 'channel kick'), ('kd', 'channel kicked'), ('mc', 'mode change'), ('nc', 'nick change'), ('sq', 'quit')], max_length=2)),
  22. ('last_event_datetime', models.DateTimeField(auto_now=True)),
  23. ('last_event_content', models.CharField(max_length=307, null=True)),
  24. ('last_event_channel', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  25. ],
  26. ),
  27. migrations.CreateModel(
  28. name='Network',
  29. fields=[
  30. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  31. ('name', models.CharField(max_length=40, unique=True, validators=[django.core.validators.MaxLengthValidator(40)])),
  32. ('slug', models.SlugField(unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-\\w]+\\Z'), "Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or hyphens.", 'invalid')])),
  33. ('nickname', models.CharField(default='RotBot', max_length=31, validators=[django.core.validators.MaxLengthValidator(31)])),
  34. ('username', models.CharField(default='pyRot', max_length=31, validators=[django.core.validators.MaxLengthValidator(31)])),
  35. ('password', models.CharField(blank=True, max_length=31, null=True, validators=[django.core.validators.MaxLengthValidator(31)])),
  36. ('mail', models.EmailField(max_length=254)),
  37. ('home_channel', models.CharField(default='#RotBot', max_length=64, validators=[django.core.validators.MaxLengthValidator(64)])),
  38. ('command_character', models.CharField(default='!', max_length=1, validators=[django.core.validators.MaxLengthValidator(1)])),
  39. ('help_character', models.CharField(default='@', max_length=1, validators=[django.core.validators.MaxLengthValidator(1)])),
  40. ('enabled', models.BooleanField(default=True)),
  41. ],
  42. options={
  43. 'ordering': ['name'],
  44. },
  45. ),
  46. migrations.CreateModel(
  47. name='User',
  48. fields=[
  49. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  50. ('slug', models.SlugField(unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-\\w]+\\Z'), "Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or hyphens.", 'invalid')])),
  51. ('name', models.CharField(max_length=31)),
  52. ('last_event_type', models.CharField(choices=[('pm', 'private message'), ('pa', 'private action'), ('pn', 'private notice'), ('cm', 'channel message'), ('ca', 'channel action'), ('cn', 'channel notice'), ('ct', 'channel topic'), ('ck', 'channel password'), ('ci', 'channel invite'), ('cj', 'channel join'), ('cp', 'channel part'), ('ck', 'channel kick'), ('kd', 'channel kicked'), ('mc', 'mode change'), ('nc', 'nick change'), ('sq', 'quit')], max_length=2)),
  53. ('last_event_datetime', models.DateTimeField(auto_now=True)),
  54. ('last_event_content', models.CharField(max_length=307, null=True)),
  55. ('aliasses', models.ManyToManyField(related_name='_user_aliasses_+', to='rotbot.User')),
  56. ('last_event_channel', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  57. ('last_event_subject', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_subject', to='rotbot.User')),
  58. ('last_event_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.User')),
  59. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  60. ],
  61. options={
  62. 'unique_together': {('network', 'name')},
  63. },
  64. ),
  65. migrations.CreateModel(
  66. name='TempChannelKey',
  67. fields=[
  68. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  69. ('key', models.CharField(max_length=40, unique=True)),
  70. ('created', models.DateTimeField(auto_now_add=True)),
  71. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  72. ('network', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rotbot.Network')),
  73. ],
  74. ),
  75. migrations.AddField(
  76. model_name='channel',
  77. name='last_event_subject',
  78. field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='channel_subject', to='rotbot.User'),
  79. ),
  80. migrations.AddField(
  81. model_name='channel',
  82. name='last_event_user',
  83. field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.User'),
  84. ),
  85. migrations.AddField(
  86. model_name='channel',
  87. name='network',
  88. field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='channel', related_query_name='channels', to='rotbot.Network'),
  89. ),
  90. migrations.CreateModel(
  91. name='Notice',
  92. fields=[
  93. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  94. ('amount', models.PositiveIntegerField(default=0)),
  95. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  96. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  97. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  98. ],
  99. options={
  100. 'unique_together': {('network', 'channel', 'user')},
  101. },
  102. ),
  103. migrations.CreateModel(
  104. name='Message',
  105. fields=[
  106. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  107. ('amount', models.PositiveIntegerField(default=0)),
  108. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  109. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  110. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  111. ],
  112. options={
  113. 'unique_together': {('network', 'channel', 'user')},
  114. },
  115. ),
  116. migrations.CreateModel(
  117. name='Kick',
  118. fields=[
  119. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  120. ('amount', models.PositiveIntegerField(default=0)),
  121. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  122. ('kicked', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='kicked', to='rotbot.User')),
  123. ('kicker', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='kicker', to='rotbot.User')),
  124. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  125. ],
  126. options={
  127. 'unique_together': {('network', 'channel', 'kicker', 'kicked')},
  128. },
  129. ),
  130. migrations.CreateModel(
  131. name='Join',
  132. fields=[
  133. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  134. ('amount', models.PositiveIntegerField(default=0)),
  135. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  136. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  137. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  138. ],
  139. options={
  140. 'unique_together': {('network', 'channel', 'user')},
  141. },
  142. ),
  143. migrations.CreateModel(
  144. name='Host',
  145. fields=[
  146. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  147. ('address', models.CharField(max_length=200, unique=True, validators=[django.core.validators.MaxLengthValidator(200)])),
  148. ('port', models.PositiveSmallIntegerField(default=6697, validators=[django.core.validators.MaxValueValidator(65535)])),
  149. ('ssl', models.BooleanField(default=True)),
  150. ('connection_attempts', models.PositiveIntegerField(default=0)),
  151. ('connection_succeeds', models.PositiveIntegerField(default=0)),
  152. ('network', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='host', related_query_name='hosts', to='rotbot.Network')),
  153. ],
  154. options={
  155. 'unique_together': {('address', 'port')},
  156. 'order_with_respect_to': 'network',
  157. },
  158. ),
  159. migrations.AlterUniqueTogether(
  160. name='channel',
  161. unique_together={('network', 'name')},
  162. ),
  163. migrations.CreateModel(
  164. name='Action',
  165. fields=[
  166. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  167. ('amount', models.PositiveIntegerField(default=0)),
  168. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  169. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  170. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  171. ],
  172. options={
  173. 'unique_together': {('network', 'channel', 'user')},
  174. },
  175. ),
  176. ]