0001_initial.py 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. # Generated by Django 2.2.6 on 2019-11-16 19:32
  2. from django.conf import settings
  3. import django.core.validators
  4. from django.db import migrations, models
  5. import django.db.models.deletion
  6. import re
  7. class Migration(migrations.Migration):
  8. initial = True
  9. dependencies = [
  10. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  11. ]
  12. operations = [
  13. migrations.CreateModel(
  14. name='Channel',
  15. fields=[
  16. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  17. ('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')])),
  18. ('name', models.CharField(max_length=64)),
  19. ('autojoin', models.BooleanField(default=False)),
  20. ('key', models.CharField(max_length=32)),
  21. ('games', models.BooleanField(default=False)),
  22. ('chat', models.BooleanField(default=False)),
  23. ('statistic_commands', models.BooleanField(default=False)),
  24. ('last_event_type', models.CharField(choices=[('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')], max_length=2)),
  25. ('last_event_datetime', models.DateTimeField(auto_now=True)),
  26. ('last_event_content', models.CharField(max_length=307, null=True)),
  27. ('last_event_channel', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  28. ],
  29. ),
  30. migrations.CreateModel(
  31. name='Network',
  32. fields=[
  33. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  34. ('name', models.CharField(max_length=40, unique=True, validators=[django.core.validators.MaxLengthValidator(40)])),
  35. ('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')])),
  36. ('nickname', models.CharField(default='RotBot', max_length=31, validators=[django.core.validators.MaxLengthValidator(31)])),
  37. ('username', models.CharField(default='pyRot', max_length=31, validators=[django.core.validators.MaxLengthValidator(31)])),
  38. ('password', models.CharField(blank=True, max_length=31, null=True, validators=[django.core.validators.MaxLengthValidator(31)])),
  39. ('mail', models.EmailField(max_length=254)),
  40. ('home_channel', models.CharField(default='#RotBot', max_length=64, validators=[django.core.validators.MaxLengthValidator(64)])),
  41. ('command_character', models.CharField(default='!', max_length=1, validators=[django.core.validators.MaxLengthValidator(1)])),
  42. ('help_character', models.CharField(default='@', max_length=1, validators=[django.core.validators.MaxLengthValidator(1)])),
  43. ('enabled', models.BooleanField(default=True)),
  44. ],
  45. options={
  46. 'ordering': ['name'],
  47. },
  48. ),
  49. migrations.CreateModel(
  50. name='User',
  51. fields=[
  52. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  53. ('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')])),
  54. ('name', models.CharField(max_length=31)),
  55. ('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)),
  56. ('last_event_datetime', models.DateTimeField(auto_now=True)),
  57. ('last_event_content', models.CharField(max_length=307, null=True)),
  58. ('xp_spent', models.PositiveIntegerField(default=0)),
  59. ('level', models.PositiveIntegerField(default=0)),
  60. ('coin', models.PositiveIntegerField(default=0)),
  61. ('coin_given', models.PositiveIntegerField(default=0)),
  62. ('coin_spent', models.PositiveIntegerField(default=0)),
  63. ('ap_spent', models.PositiveIntegerField(default=0)),
  64. ('karma_correction', models.PositiveIntegerField(default=0)),
  65. ('no_chat', models.BooleanField(default=False)),
  66. ('aliasses', models.ManyToManyField(related_name='_user_aliasses_+', to='rotbot.User')),
  67. ('last_event_channel', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  68. ('last_event_subject', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_subject', to='rotbot.User')),
  69. ('last_event_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.User')),
  70. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  71. ],
  72. options={
  73. 'unique_together': {('network', 'name')},
  74. },
  75. ),
  76. migrations.CreateModel(
  77. name='TempChannelKey',
  78. fields=[
  79. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  80. ('key', models.CharField(max_length=40, unique=True)),
  81. ('created', models.DateTimeField(auto_now_add=True)),
  82. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rotbot.Channel')),
  83. ('network', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rotbot.Network')),
  84. ],
  85. ),
  86. migrations.CreateModel(
  87. name='Owner',
  88. fields=[
  89. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  90. ('source', models.CharField(max_length=50, unique=True)),
  91. ('network', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rotbot.Network')),
  92. ],
  93. ),
  94. migrations.CreateModel(
  95. name='CurseWord',
  96. fields=[
  97. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  98. ('word', models.CharField(max_length=15, unique=True)),
  99. ('created', models.DateField(auto_now_add=True)),
  100. ('banned', models.BooleanField(default=False)),
  101. ('irc_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  102. ('web_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
  103. ],
  104. ),
  105. migrations.CreateModel(
  106. name='CurseAdjective',
  107. fields=[
  108. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  109. ('word', models.CharField(max_length=15, unique=True)),
  110. ('created', models.DateField(auto_now_add=True)),
  111. ('banned', models.BooleanField(default=False)),
  112. ('irc_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  113. ('web_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
  114. ],
  115. ),
  116. migrations.AddField(
  117. model_name='channel',
  118. name='last_event_subject',
  119. field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='channel_subject', to='rotbot.User'),
  120. ),
  121. migrations.AddField(
  122. model_name='channel',
  123. name='last_event_user',
  124. field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='rotbot.User'),
  125. ),
  126. migrations.AddField(
  127. model_name='channel',
  128. name='network',
  129. field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='channel', related_query_name='channels', to='rotbot.Network'),
  130. ),
  131. migrations.CreateModel(
  132. name='Notice',
  133. fields=[
  134. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  135. ('amount', models.PositiveIntegerField(default=0)),
  136. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  137. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  138. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  139. ],
  140. options={
  141. 'unique_together': {('network', 'channel', 'user')},
  142. },
  143. ),
  144. migrations.CreateModel(
  145. name='Message',
  146. fields=[
  147. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  148. ('amount', models.PositiveIntegerField(default=0)),
  149. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  150. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  151. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  152. ],
  153. options={
  154. 'unique_together': {('network', 'channel', 'user')},
  155. },
  156. ),
  157. migrations.CreateModel(
  158. name='Kick',
  159. fields=[
  160. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  161. ('amount', models.PositiveIntegerField(default=0)),
  162. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  163. ('kicked', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='kicked', to='rotbot.User')),
  164. ('kicker', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='kicker', to='rotbot.User')),
  165. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  166. ],
  167. options={
  168. 'unique_together': {('network', 'channel', 'kicker', 'kicked')},
  169. },
  170. ),
  171. migrations.CreateModel(
  172. name='Join',
  173. fields=[
  174. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  175. ('amount', models.PositiveIntegerField(default=0)),
  176. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  177. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  178. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  179. ],
  180. options={
  181. 'unique_together': {('network', 'channel', 'user')},
  182. },
  183. ),
  184. migrations.CreateModel(
  185. name='Host',
  186. fields=[
  187. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  188. ('address', models.CharField(max_length=200, unique=True, validators=[django.core.validators.MaxLengthValidator(200)])),
  189. ('port', models.PositiveSmallIntegerField(default=6697, validators=[django.core.validators.MaxValueValidator(65535)])),
  190. ('ssl', models.BooleanField(default=True)),
  191. ('connection_attempts', models.PositiveIntegerField(default=0)),
  192. ('connection_succeeds', models.PositiveIntegerField(default=0)),
  193. ('network', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='host', related_query_name='hosts', to='rotbot.Network')),
  194. ],
  195. options={
  196. 'unique_together': {('address', 'port')},
  197. 'order_with_respect_to': 'network',
  198. },
  199. ),
  200. migrations.AlterUniqueTogether(
  201. name='channel',
  202. unique_together={('network', 'name')},
  203. ),
  204. migrations.CreateModel(
  205. name='Action',
  206. fields=[
  207. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  208. ('amount', models.PositiveIntegerField(default=0)),
  209. ('channel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Channel')),
  210. ('network', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.Network')),
  211. ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='rotbot.User')),
  212. ],
  213. options={
  214. 'unique_together': {('network', 'channel', 'user')},
  215. },
  216. ),
  217. ]