diff --git a/.gitignore b/.gitignore index 577b62a..a58bb27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ env/ __pycache__ db.sqlite3 -migrations */media/users/ */media/images/ */media/profile.png.* diff --git a/Dockerfile b/Dockerfile index e5d49a7..986927c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,4 +3,4 @@ FROM hub.hamdocker.ir/library/python:3.8 ADD ./ ./ RUN pip3 install -r requirements.txt WORKDIR /src/ -ENTRYPOINT ["/bin/sh", "-c" , "python manage.py makemigrations && python manage.py migrate && gunicorn --bind 0.0.0.0:8000 --access-logfile - config.wsgi"] +ENTRYPOINT ["/bin/sh", "-c" , "python manage.py migrate && gunicorn --bind 0.0.0.0:8000 --access-logfile - config.wsgi"] diff --git a/src/account/migrations/0001_initial.py b/src/account/migrations/0001_initial.py new file mode 100644 index 0000000..cfb9664 --- /dev/null +++ b/src/account/migrations/0001_initial.py @@ -0,0 +1,74 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +import account.models +from django.conf import settings +import django.contrib.auth.models +import django.contrib.auth.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import django_jalali.db.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='CustomUser', + fields=[ + ('id', models.BigAutoField(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')), + ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), + ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), + ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), + ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), + ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), + ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='Email')), + ('posts_count', models.IntegerField(db_index=True, default=0, verbose_name='Posts Count')), + ], + options={ + 'verbose_name': 'Custom user', + 'verbose_name_plural': 'Custom users', + 'ordering': ('-posts_count',), + }, + managers=[ + ('objects', django.contrib.auth.models.UserManager()), + ], + ), + migrations.CreateModel( + name='Profile', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_of_birth', django_jalali.db.models.jDateField(blank=True, null=True, verbose_name='Date of birth')), + ('photo', models.ImageField(blank=True, default='profile.png', upload_to='users/%Y/%m/%d/', validators=[account.models.check_image], verbose_name='Photo')), + ('bio', models.CharField(blank=True, max_length=128, null=True, verbose_name='Biography')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'verbose_name': 'Profile', + 'verbose_name_plural': 'Profiles', + }, + ), + migrations.CreateModel( + name='OTP', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('phone', models.CharField(max_length=15, verbose_name='Phone')), + ('otp', models.PositiveIntegerField(blank=True, null=True, verbose_name='OTP')), + ('created', models.DateTimeField(auto_now=True, verbose_name='Created')), + ('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'verbose_name': 'OTP', + 'verbose_name_plural': 'OTP', + }, + ), + ] diff --git a/src/account/migrations/0002_initial.py b/src/account/migrations/0002_initial.py new file mode 100644 index 0000000..58da04d --- /dev/null +++ b/src/account/migrations/0002_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('account', '0001_initial'), + ('contact', '0001_initial'), + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.AddField( + model_name='customuser', + name='following', + field=models.ManyToManyField(related_name='followers', through='contact.Contact', to=settings.AUTH_USER_MODEL), + ), + migrations.AddField( + model_name='customuser', + name='groups', + field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups'), + ), + migrations.AddField( + model_name='customuser', + name='user_permissions', + field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions'), + ), + ] diff --git a/src/account/migrations/__init__.py b/src/account/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/action/migrations/0001_initial.py b/src/action/migrations/0001_initial.py new file mode 100644 index 0000000..85e10b2 --- /dev/null +++ b/src/action/migrations/0001_initial.py @@ -0,0 +1,34 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Action', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('verb', models.CharField(max_length=256, verbose_name='Verb')), + ('created', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Created')), + ('target_id', models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='Target id')), + ('target_ct', models.ForeignKey(blank=True, limit_choices_to=models.Q(models.Q(('app_label', 'post'), ('model', 'post')), models.Q(('app_label', 'account'), ('model', 'profile')), models.Q(('app_label', 'contact'), ('model', 'contact')), _connector='OR'), null=True, on_delete=django.db.models.deletion.CASCADE, related_name='actions', to='contenttypes.contenttype', verbose_name='Target ct')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='actions', to=settings.AUTH_USER_MODEL, verbose_name='User')), + ], + options={ + 'verbose_name': 'Action', + 'verbose_name_plural': 'Actions', + 'ordering': ('-created',), + }, + ), + ] diff --git a/src/action/migrations/__init__.py b/src/action/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/comment/migrations/0001_initial.py b/src/comment/migrations/0001_initial.py new file mode 100644 index 0000000..d4ed2c7 --- /dev/null +++ b/src/comment/migrations/0001_initial.py @@ -0,0 +1,28 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Comment', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('is_reply', models.BooleanField(default=False, verbose_name='Is reply')), + ('body', models.TextField(max_length=512, verbose_name='Body')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ], + options={ + 'verbose_name': 'Comment', + 'verbose_name_plural': 'Comments', + 'ordering': ('-created',), + }, + ), + ] diff --git a/src/comment/migrations/0002_initial.py b/src/comment/migrations/0002_initial.py new file mode 100644 index 0000000..e5d5c52 --- /dev/null +++ b/src/comment/migrations/0002_initial.py @@ -0,0 +1,34 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('post', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('comment', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='comment', + name='post', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='post.post', verbose_name='Post'), + ), + migrations.AddField( + model_name='comment', + name='reply', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='replies', to='comment.comment', verbose_name='Reply'), + ), + migrations.AddField( + model_name='comment', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to=settings.AUTH_USER_MODEL, verbose_name='User'), + ), + ] diff --git a/src/comment/migrations/__init__.py b/src/comment/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/contact/migrations/0001_initial.py b/src/contact/migrations/0001_initial.py new file mode 100644 index 0000000..f5418f5 --- /dev/null +++ b/src/contact/migrations/0001_initial.py @@ -0,0 +1,32 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django_jalali.db.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Contact', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', django_jalali.db.models.jDateField(auto_now_add=True, db_index=True, verbose_name='Created')), + ('user_from', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='following_set', to=settings.AUTH_USER_MODEL, verbose_name='User from')), + ('user_to', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='followers_set', to=settings.AUTH_USER_MODEL, verbose_name='User to')), + ], + options={ + 'verbose_name': 'Contact', + 'verbose_name_plural': 'Contacts', + 'ordering': ('-created',), + }, + ), + ] diff --git a/src/contact/migrations/__init__.py b/src/contact/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/contact/models.py b/src/contact/models.py index 569e02e..a6894f8 100644 --- a/src/contact/models.py +++ b/src/contact/models.py @@ -1,20 +1,17 @@ from django.db import models -from django.contrib.auth import get_user_model from django.utils.translation import gettext_lazy as _ from django_jalali.db import models as jalali_models -User = get_user_model() - class Contact(models.Model): user_from = models.ForeignKey( - User, + "account.CustomUser", related_name='following_set', on_delete=models.CASCADE, verbose_name=_('User from'), ) user_to = models.ForeignKey( - User, + "account.CustomUser", related_name='followers_set', on_delete=models.CASCADE, verbose_name=_('User to'), diff --git a/src/post/migrations/0001_initial.py b/src/post/migrations/0001_initial.py new file mode 100644 index 0000000..e4878ea --- /dev/null +++ b/src/post/migrations/0001_initial.py @@ -0,0 +1,49 @@ +# Generated by Django 4.1.5 on 2023-03-24 09:50 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django_jalali.db.models +import post.models +import taggit.managers + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('taggit', '0005_auto_20220424_2025'), + ] + + operations = [ + migrations.CreateModel( + name='Post', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('slug', models.SlugField(blank=True, max_length=8, verbose_name='Slug')), + ('image', models.ImageField(upload_to='images/%Y/%m/%d/', validators=[post.models.check_image], verbose_name='Image')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('created', django_jalali.db.models.jDateField(auto_now_add=True, db_index=True, verbose_name='Created')), + ('total_likes', models.PositiveBigIntegerField(db_index=True, default=0, verbose_name='Total likes')), + ('related_posts', models.ManyToManyField(blank=True, to='post.post', verbose_name='Related posts')), + ('tags', taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='posts', to=settings.AUTH_USER_MODEL, verbose_name='User')), + ('users_like', models.ManyToManyField(blank=True, related_name='posts_liked', to=settings.AUTH_USER_MODEL, verbose_name='Users like')), + ], + options={ + 'verbose_name': 'Post', + 'verbose_name_plural': 'Posts', + 'ordering': ('-total_likes',), + }, + ), + migrations.AddIndex( + model_name='post', + index=models.Index(fields=['slug'], name='slug_idx'), + ), + migrations.AddIndex( + model_name='post', + index=models.Index(fields=['created'], name='created_idx'), + ), + ] diff --git a/src/post/migrations/__init__.py b/src/post/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/social_django/migrations/0001_initial.py b/src/social_django/migrations/0001_initial.py new file mode 100644 index 0000000..4bf3cb2 --- /dev/null +++ b/src/social_django/migrations/0001_initial.py @@ -0,0 +1,119 @@ +from django.db import models, migrations +from django.conf import settings + +from social_core.utils import setting_name + +from ..fields import JSONField +from ..storage import DjangoAssociationMixin, DjangoCodeMixin, \ + DjangoNonceMixin, DjangoUserMixin + +USER_MODEL = getattr(settings, setting_name('USER_MODEL'), None) or \ + getattr(settings, 'AUTH_USER_MODEL', None) or \ + 'auth.User' +UID_LENGTH = getattr(settings, setting_name('UID_LENGTH'), 255) +NONCE_SERVER_URL_LENGTH = getattr( + settings, setting_name('NONCE_SERVER_URL_LENGTH'), 255 +) +ASSOCIATION_SERVER_URL_LENGTH = getattr( + settings, setting_name('ASSOCIATION_SERVER_URL_LENGTH'), 255 +) +ASSOCIATION_HANDLE_LENGTH = getattr( + settings, setting_name('ASSOCIATION_HANDLE_LENGTH'), 255 +) + + +class Migration(migrations.Migration): + replaces = [ + ('default', '0001_initial'), + ('social_auth', '0001_initial') + ] + + dependencies = [ + migrations.swappable_dependency(USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Association', + fields=[ + ('id', models.AutoField( + verbose_name='ID', serialize=False, auto_created=True, + primary_key=True)), + ('server_url', + models.CharField(max_length=ASSOCIATION_SERVER_URL_LENGTH)), + ('handle', + models.CharField(max_length=ASSOCIATION_HANDLE_LENGTH)), + ('secret', models.CharField(max_length=255)), + ('issued', models.IntegerField()), + ('lifetime', models.IntegerField()), + ('assoc_type', models.CharField(max_length=64)), + ], + options={ + 'db_table': 'social_auth_association', + }, + bases=( + models.Model, DjangoAssociationMixin + ), + ), + migrations.CreateModel( + name='Code', + fields=[ + ('id', models.AutoField( + verbose_name='ID', serialize=False, auto_created=True, + primary_key=True)), + ('email', models.EmailField(max_length=75)), + ('code', models.CharField(max_length=32, db_index=True)), + ('verified', models.BooleanField(default=False)), + ], + options={ + 'db_table': 'social_auth_code', + }, + bases=(models.Model, DjangoCodeMixin), + ), + migrations.CreateModel( + name='Nonce', + fields=[ + ('id', models.AutoField( + verbose_name='ID', serialize=False, auto_created=True, + primary_key=True + )), + ('server_url', + models.CharField(max_length=NONCE_SERVER_URL_LENGTH)), + ('timestamp', models.IntegerField()), + ('salt', models.CharField(max_length=65)), + ], + options={ + 'db_table': 'social_auth_nonce', + }, + bases=(models.Model, DjangoNonceMixin), + ), + migrations.CreateModel( + name='UserSocialAuth', + fields=[ + ('id', models.AutoField( + verbose_name='ID', serialize=False, auto_created=True, + primary_key=True)), + ('provider', models.CharField(max_length=32)), + ('uid', models.CharField(max_length=UID_LENGTH)), + ('extra_data', JSONField(default='{}')), + ('user', models.ForeignKey( + related_name='social_auth', to=USER_MODEL, on_delete=models.CASCADE)), + ], + options={ + 'db_table': 'social_auth_usersocialauth', + }, + bases=(models.Model, DjangoUserMixin), + ), + migrations.AlterUniqueTogether( + name='usersocialauth', + unique_together={('provider', 'uid')}, + ), + migrations.AlterUniqueTogether( + name='code', + unique_together={('email', 'code')}, + ), + migrations.AlterUniqueTogether( + name='nonce', + unique_together={('server_url', 'timestamp', 'salt')}, + ), + ] diff --git a/src/social_django/migrations/0002_add_related_name.py b/src/social_django/migrations/0002_add_related_name.py new file mode 100644 index 0000000..3ce387b --- /dev/null +++ b/src/social_django/migrations/0002_add_related_name.py @@ -0,0 +1,29 @@ +from django.db import models, migrations +from django.conf import settings + +from social_core.utils import setting_name + +USER_MODEL = getattr(settings, setting_name('USER_MODEL'), None) or \ + getattr(settings, 'AUTH_USER_MODEL', None) or \ + 'auth.User' + + +class Migration(migrations.Migration): + replaces = [ + ('default', '0002_add_related_name'), + ('social_auth', '0002_add_related_name') + ] + + dependencies = [ + ('social_django', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='usersocialauth', + name='user', + field=models.ForeignKey( + related_name='social_auth', to=USER_MODEL, on_delete=models.CASCADE, + ) + ), + ] diff --git a/src/social_django/migrations/0003_alter_email_max_length.py b/src/social_django/migrations/0003_alter_email_max_length.py new file mode 100644 index 0000000..ed3bce9 --- /dev/null +++ b/src/social_django/migrations/0003_alter_email_max_length.py @@ -0,0 +1,25 @@ +from django.conf import settings +from django.db import models, migrations + +from social_core.utils import setting_name + +EMAIL_LENGTH = getattr(settings, setting_name('EMAIL_LENGTH'), 254) + + +class Migration(migrations.Migration): + replaces = [ + ('default', '0003_alter_email_max_length'), + ('social_auth', '0003_alter_email_max_length') + ] + + dependencies = [ + ('social_django', '0002_add_related_name'), + ] + + operations = [ + migrations.AlterField( + model_name='code', + name='email', + field=models.EmailField(max_length=EMAIL_LENGTH), + ), + ] diff --git a/src/social_django/migrations/0004_auto_20160423_0400.py b/src/social_django/migrations/0004_auto_20160423_0400.py new file mode 100644 index 0000000..dc0d6cc --- /dev/null +++ b/src/social_django/migrations/0004_auto_20160423_0400.py @@ -0,0 +1,22 @@ +from django.db import migrations + +from ..fields import JSONField + + +class Migration(migrations.Migration): + replaces = [ + ('default', '0004_auto_20160423_0400'), + ('social_auth', '0004_auto_20160423_0400') + ] + + dependencies = [ + ('social_django', '0003_alter_email_max_length'), + ] + + operations = [ + migrations.AlterField( + model_name='usersocialauth', + name='extra_data', + field=JSONField(default=dict), + ) + ] diff --git a/src/social_django/migrations/0005_auto_20160727_2333.py b/src/social_django/migrations/0005_auto_20160727_2333.py new file mode 100644 index 0000000..a9a3fcd --- /dev/null +++ b/src/social_django/migrations/0005_auto_20160727_2333.py @@ -0,0 +1,20 @@ +# Generated by Django 1.9.5 on 2016-07-28 02:33 + +from django.db import migrations + + +class Migration(migrations.Migration): + replaces = [ + ('social_auth', '0005_auto_20160727_2333') + ] + + dependencies = [ + ('social_django', '0004_auto_20160423_0400'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='association', + unique_together={('server_url', 'handle')}, + ), + ] diff --git a/src/social_django/migrations/0006_partial.py b/src/social_django/migrations/0006_partial.py new file mode 100644 index 0000000..f3c5f58 --- /dev/null +++ b/src/social_django/migrations/0006_partial.py @@ -0,0 +1,29 @@ +# Generated by Django 1.10.4 on 2017-01-02 11:54 + +from django.db import migrations, models +import social_django.fields +import social_django.storage + + +class Migration(migrations.Migration): + + dependencies = [ + ('social_django', '0005_auto_20160727_2333'), + ] + + operations = [ + migrations.CreateModel( + name='Partial', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('token', models.CharField(db_index=True, max_length=32)), + ('next_step', models.PositiveSmallIntegerField(default=0)), + ('backend', models.CharField(max_length=32)), + ('data', social_django.fields.JSONField(default=dict)), + ], + options={ + 'db_table': 'social_auth_partial', + }, + bases=(models.Model, social_django.storage.DjangoPartialMixin), + ), + ] diff --git a/src/social_django/migrations/0007_code_timestamp.py b/src/social_django/migrations/0007_code_timestamp.py new file mode 100644 index 0000000..4edc1dd --- /dev/null +++ b/src/social_django/migrations/0007_code_timestamp.py @@ -0,0 +1,22 @@ +# Generated by Django 1.10.7 on 2017-06-08 06:54 + +from django.db import migrations, models + +from django.utils import timezone + + +class Migration(migrations.Migration): + dependencies = [ + ('social_django', '0006_partial'), + ] + + operations = [ + migrations.AddField( + model_name='code', + name='timestamp', + field=models.DateTimeField(auto_now_add=True, + db_index=True, + default=timezone.now), + preserve_default=False + ), + ] diff --git a/src/social_django/migrations/0008_partial_timestamp.py b/src/social_django/migrations/0008_partial_timestamp.py new file mode 100644 index 0000000..064acda --- /dev/null +++ b/src/social_django/migrations/0008_partial_timestamp.py @@ -0,0 +1,22 @@ +# Generated by Django 1.10.7 on 2017-06-08 06:57 + +from django.db import migrations, models + +from django.utils import timezone + + +class Migration(migrations.Migration): + dependencies = [ + ('social_django', '0007_code_timestamp'), + ] + + operations = [ + migrations.AddField( + model_name='partial', + name='timestamp', + field=models.DateTimeField(auto_now_add=True, + db_index=True, + default=timezone.now), + preserve_default=False, + ), + ] diff --git a/src/social_django/migrations/0009_auto_20191118_0520.py b/src/social_django/migrations/0009_auto_20191118_0520.py new file mode 100644 index 0000000..a7bc55f --- /dev/null +++ b/src/social_django/migrations/0009_auto_20191118_0520.py @@ -0,0 +1,25 @@ +# Generated by Django 2.2.7 on 2019-11-18 05:20 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('social_django', '0008_partial_timestamp'), + ] + + operations = [ + migrations.AddField( + model_name='usersocialauth', + name='created', + field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), + preserve_default=False, + ), + migrations.AddField( + model_name='usersocialauth', + name='modified', + field=models.DateTimeField(auto_now=True), + ), + ] diff --git a/src/social_django/migrations/0010_uid_db_index.py b/src/social_django/migrations/0010_uid_db_index.py new file mode 100644 index 0000000..a197181 --- /dev/null +++ b/src/social_django/migrations/0010_uid_db_index.py @@ -0,0 +1,20 @@ +from django.conf import settings +from django.db import models, migrations + +from social_core.utils import setting_name + +UID_LENGTH = getattr(settings, setting_name('UID_LENGTH'), 255) + + +class Migration(migrations.Migration): + dependencies = [ + ('social_django', '0009_auto_20191118_0520'), + ] + + operations = [ + migrations.AlterField( + model_name='usersocialauth', + name='uid', + field=models.CharField(max_length=UID_LENGTH, db_index=True), + ), + ] diff --git a/src/social_django/migrations/0011_alter_association_options_alter_nonce_options_and_more.py b/src/social_django/migrations/0011_alter_association_options_alter_nonce_options_and_more.py new file mode 100644 index 0000000..c61aa34 --- /dev/null +++ b/src/social_django/migrations/0011_alter_association_options_alter_nonce_options_and_more.py @@ -0,0 +1,104 @@ +# Generated by Django 4.1.5 on 2023-01-27 18:33 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import social_django.fields + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('social_django', '0010_uid_db_index'), + ] + + operations = [ + migrations.AlterModelOptions( + name='association', + options={'verbose_name': 'Association', 'verbose_name_plural': 'Associations'}, + ), + migrations.AlterModelOptions( + name='nonce', + options={'verbose_name': 'Nonce', 'verbose_name_plural': 'Nonces'}, + ), + migrations.AlterModelOptions( + name='usersocialauth', + options={'verbose_name': 'User social auth', 'verbose_name_plural': 'User social auths'}, + ), + migrations.AlterField( + model_name='association', + name='assoc_type', + field=models.CharField(max_length=64, verbose_name='Assoc type'), + ), + migrations.AlterField( + model_name='association', + name='handle', + field=models.CharField(max_length=255, verbose_name='Handle'), + ), + migrations.AlterField( + model_name='association', + name='issued', + field=models.IntegerField(verbose_name='Issued'), + ), + migrations.AlterField( + model_name='association', + name='lifetime', + field=models.IntegerField(verbose_name='Lifetime'), + ), + migrations.AlterField( + model_name='association', + name='secret', + field=models.CharField(max_length=255, verbose_name='Secret'), + ), + migrations.AlterField( + model_name='association', + name='server_url', + field=models.CharField(max_length=255, verbose_name='Server url'), + ), + migrations.AlterField( + model_name='nonce', + name='salt', + field=models.CharField(max_length=65, verbose_name='Salt'), + ), + migrations.AlterField( + model_name='nonce', + name='server_url', + field=models.CharField(max_length=255, verbose_name='Server url'), + ), + migrations.AlterField( + model_name='nonce', + name='timestamp', + field=models.IntegerField(verbose_name='Timestamp'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='created', + field=models.DateTimeField(auto_now_add=True, verbose_name='Created'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='extra_data', + field=social_django.fields.JSONField(default=dict, verbose_name='Extra data'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='modified', + field=models.DateTimeField(auto_now=True, verbose_name='Modified'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='provider', + field=models.CharField(max_length=32, verbose_name='Provider'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='uid', + field=models.CharField(db_index=True, max_length=255, verbose_name='Uid'), + ), + migrations.AlterField( + model_name='usersocialauth', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='social_auth', to=settings.AUTH_USER_MODEL, verbose_name='User'), + ), + ] diff --git a/src/social_django/migrations/__init__.py b/src/social_django/migrations/__init__.py new file mode 100644 index 0000000..e69de29