diff --git a/backend/secfit/users/migrations/0001_initial.py b/backend/secfit/users/migrations/0001_initial.py new file mode 100644 index 0000000000000000000000000000000000000000..e95b30d4751e3f36605b7144eb216231b6fe5ca9 --- /dev/null +++ b/backend/secfit/users/migrations/0001_initial.py @@ -0,0 +1,211 @@ +# Generated by Django 3.1 on 2020-08-21 03:42 + +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 + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("auth", "0012_alter_user_first_name_max_length"), + ] + + operations = [ + migrations.CreateModel( + name="User", + fields=[ + ( + "id", + models.AutoField( + 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" + ), + ), + ( + "email", + models.EmailField( + blank=True, max_length=254, verbose_name="email address" + ), + ), + ( + "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" + ), + ), + ( + "coach", + models.ForeignKey( + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="athletes", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "groups", + 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", + ), + ), + ( + "user_permissions", + 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", + ), + ), + ], + options={ + "verbose_name": "user", + "verbose_name_plural": "users", + "abstract": False, + }, + managers=[ + ("objects", django.contrib.auth.models.UserManager()), + ], + ), + migrations.CreateModel( + name="Offer", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "offer_type", + models.CharField( + choices=[("co", "Coach"), ("at", "Athlete")], + default="at", + max_length=8, + ), + ), + ( + "owner", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + ), + migrations.CreateModel( + name="OfferResponse", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "response", + models.CharField( + blank=True, + choices=[("a", "Accept"), ("d", "Decline")], + max_length=8, + ), + ), + ( + "offer", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="response", + to="users.offer", + ), + ), + ], + ), + ] diff --git a/backend/secfit/users/migrations/0002_auto_20200907_1200.py b/backend/secfit/users/migrations/0002_auto_20200907_1200.py new file mode 100644 index 0000000000000000000000000000000000000000..e1ffdfc85bbfa6746a249e02fb018710a3545c1a --- /dev/null +++ b/backend/secfit/users/migrations/0002_auto_20200907_1200.py @@ -0,0 +1,30 @@ +# Generated by Django 3.1 on 2020-09-07 10:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="offer", + name="stale", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="offer", + name="status", + field=models.CharField( + choices=[("a", "Accepted"), ("p", "Pending"), ("d", "Declined")], + default="p", + max_length=8, + ), + ), + migrations.DeleteModel( + name="OfferResponse", + ), + ] diff --git a/backend/secfit/users/migrations/0003_auto_20200907_1954.py b/backend/secfit/users/migrations/0003_auto_20200907_1954.py new file mode 100644 index 0000000000000000000000000000000000000000..c7f18c817057b573e3275f36a69f00e13676e5f3 --- /dev/null +++ b/backend/secfit/users/migrations/0003_auto_20200907_1954.py @@ -0,0 +1,24 @@ +# Generated by Django 3.1 on 2020-09-07 17:54 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0002_auto_20200907_1200"), + ] + + operations = [ + migrations.AlterField( + model_name="offer", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0004_auto_20200907_2021.py b/backend/secfit/users/migrations/0004_auto_20200907_2021.py new file mode 100644 index 0000000000000000000000000000000000000000..ff6be46f14e2bd0adc097f802b81ce758e4afcb1 --- /dev/null +++ b/backend/secfit/users/migrations/0004_auto_20200907_2021.py @@ -0,0 +1,110 @@ +# Generated by Django 3.1 on 2020-09-07 18:21 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0003_auto_20200907_1954"), + ] + + operations = [ + migrations.CreateModel( + name="AthleteRequest", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ( + "owner", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_athlete_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_athlete_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + options={ + "abstract": False, + }, + ), + migrations.CreateModel( + name="CoachRequest", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ( + "owner", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_coach_request", + to=settings.AUTH_USER_MODEL, + ), + ), + ( + "recipient", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_coach_requests", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + options={ + "abstract": False, + }, + ), + migrations.DeleteModel( + name="Offer", + ), + ] diff --git a/backend/secfit/users/migrations/0005_auto_20200907_2039.py b/backend/secfit/users/migrations/0005_auto_20200907_2039.py new file mode 100644 index 0000000000000000000000000000000000000000..269e723bda3ff1b5b2207d1f7471b0f698682033 --- /dev/null +++ b/backend/secfit/users/migrations/0005_auto_20200907_2039.py @@ -0,0 +1,51 @@ +# Generated by Django 3.1 on 2020-09-07 18:39 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0004_auto_20200907_2021"), + ] + + operations = [ + migrations.AlterField( + model_name="athleterequest", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_athleterequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="athleterequest", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_athleterequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="coachrequest", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_coachrequests", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AlterField( + model_name="coachrequest", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_coachrequests", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0006_auto_20200907_2054.py b/backend/secfit/users/migrations/0006_auto_20200907_2054.py new file mode 100644 index 0000000000000000000000000000000000000000..ed2ff761a8072336a82493831b79d1b99edb2b34 --- /dev/null +++ b/backend/secfit/users/migrations/0006_auto_20200907_2054.py @@ -0,0 +1,30 @@ +# Generated by Django 3.1 on 2020-09-07 18:54 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0005_auto_20200907_2039"), + ] + + operations = [ + migrations.AddField( + model_name="athleterequest", + name="timestamp", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + migrations.AddField( + model_name="coachrequest", + name="timestamp", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + ] diff --git a/backend/secfit/users/migrations/0007_auto_20200910_0222.py b/backend/secfit/users/migrations/0007_auto_20200910_0222.py new file mode 100644 index 0000000000000000000000000000000000000000..48a081d1f9387a1eb0fcd66648ec53d0ec8c1410 --- /dev/null +++ b/backend/secfit/users/migrations/0007_auto_20200910_0222.py @@ -0,0 +1,131 @@ +# Generated by Django 3.1 on 2020-09-10 00:22 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import users.models + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0006_auto_20200907_2054"), + ] + + operations = [ + migrations.CreateModel( + name="AthleteFile", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "file", + models.FileField(upload_to=users.models.athlete_directory_path), + ), + ], + ), + migrations.CreateModel( + name="Offer", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[ + ("a", "Accepted"), + ("p", "Pending"), + ("d", "Declined"), + ], + default="p", + max_length=8, + ), + ), + ( + "offer_type", + models.CharField( + choices=[("a", "Athlete"), ("c", "Coach")], + default="a", + max_length=8, + ), + ), + ("stale", models.BooleanField(default=False)), + ("timestamp", models.DateTimeField(auto_now_add=True)), + ], + ), + migrations.RemoveField( + model_name="coachrequest", + name="owner", + ), + migrations.RemoveField( + model_name="coachrequest", + name="recipient", + ), + migrations.AlterField( + model_name="user", + name="coach", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="athletes", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.DeleteModel( + name="AthleteRequest", + ), + migrations.DeleteModel( + name="CoachRequest", + ), + migrations.AddField( + model_name="offer", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="sent_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="offer", + name="recipient", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="received_offers", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="athletefile", + name="athlete", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="coach_files", + to=settings.AUTH_USER_MODEL, + ), + ), + migrations.AddField( + model_name="athletefile", + name="owner", + field=models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="athlete_files", + to=settings.AUTH_USER_MODEL, + ), + ), + ] diff --git a/backend/secfit/users/migrations/0008_auto_20201213_2228.py b/backend/secfit/users/migrations/0008_auto_20201213_2228.py new file mode 100644 index 0000000000000000000000000000000000000000..b2a2d3bd1f048227365bd679b1a253855cd4b776 --- /dev/null +++ b/backend/secfit/users/migrations/0008_auto_20201213_2228.py @@ -0,0 +1,21 @@ +# Generated by Django 3.1 on 2020-12-13 21:28 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0007_auto_20200910_0222'), + ] + + operations = [ + migrations.RemoveField( + model_name='offer', + name='offer_type', + ), + migrations.RemoveField( + model_name='offer', + name='stale', + ), + ] diff --git a/backend/secfit/users/migrations/0009_auto_20210204_1055.py b/backend/secfit/users/migrations/0009_auto_20210204_1055.py new file mode 100644 index 0000000000000000000000000000000000000000..4a62fda73c54937797cfb8e646fadeb199f25fd0 --- /dev/null +++ b/backend/secfit/users/migrations/0009_auto_20210204_1055.py @@ -0,0 +1,43 @@ +# Generated by Django 3.1 on 2021-02-04 10:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0008_auto_20201213_2228'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='city', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='country', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='phone_number', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='street_address', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='favourite_exercise', + field=models.TextField(blank=True, max_length=50), + ), + migrations.AddField( + model_name='user', + name='main_gym', + field=models.TextField(blank=True, max_length=50), + ), + ]