diff --git a/compose.yaml b/compose.yaml index b2f0751..87231d1 100644 --- a/compose.yaml +++ b/compose.yaml @@ -273,7 +273,7 @@ services: - name: web target: 3000 published: 8004 - host_ip: 127.0.0.1 + host_ip: 0.0.0.0 protocol: tcp restart: unless-stopped shm_size: 4mb diff --git a/services/backend/apps/competition/migrations/0001_initial.py b/services/backend/apps/competition/migrations/0001_initial.py index 2699fe9..bb60448 100644 --- a/services/backend/apps/competition/migrations/0001_initial.py +++ b/services/backend/apps/competition/migrations/0001_initial.py @@ -1,5 +1,6 @@ -# Generated by Django 5.1.6 on 2025-03-01 08:47 +# Generated by Django 5.1.6 on 2025-03-01 10:26 +import datetime import django.db.models.deletion import uuid from django.db import migrations, models @@ -37,6 +38,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('state', models.CharField(choices=[('not_started', 'Not Started'), ('started', 'Started'), ('finished', 'Finished')], max_length=11)), + ('changed_at', models.DateTimeField(default=datetime.datetime.now)), ('competition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='competition.competition')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.user')), ], diff --git a/services/backend/apps/competition/migrations/0004_state_changed_at.py b/services/backend/apps/competition/migrations/0004_state_changed_at.py deleted file mode 100644 index 365f995..0000000 --- a/services/backend/apps/competition/migrations/0004_state_changed_at.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 5.1.6 on 2025-03-01 08:10 - -import datetime -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('competition', '0003_state'), - ] - - operations = [ - migrations.AddField( - model_name='state', - name='changed_at', - field=models.DateTimeField(default=datetime.datetime.now), - ), - ] diff --git a/services/backend/apps/task/migrations/0001_initial.py b/services/backend/apps/task/migrations/0001_initial.py index 5549424..c3e32f9 100644 --- a/services/backend/apps/task/migrations/0001_initial.py +++ b/services/backend/apps/task/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.6 on 2025-03-01 09:42 +# Generated by Django 5.1.6 on 2025-03-01 10:26 import apps.task.models import django.db.models.deletion @@ -23,8 +23,9 @@ class Migration(migrations.Migration): ('title', models.TextField(max_length=50, verbose_name='заголовок')), ('description', models.TextField(max_length=300, verbose_name='описание')), ('type', models.CharField(choices=[('input', 'Input'), ('checker', 'Checker'), ('review', 'Review')], max_length=8)), - ('correct_answer_file', models.FileField(upload_to=apps.task.models.CompetitionTask.answer_file_upload_to)), - ('answer_file_path', models.TextField()), + ('correct_answer_file', models.FileField(blank=True, null=True, upload_to=apps.task.models.CompetitionTask.answer_file_upload_to)), + ('points', models.IntegerField(blank=True, null=True)), + ('answer_file_path', models.TextField(blank=True, null=True)), ('criteries', models.JSONField(blank=True, null=True)), ('competition', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='competition.competition')), ], @@ -38,8 +39,9 @@ class Migration(migrations.Migration): ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('status', models.CharField(choices=[('sent', 'Sent'), ('checking', 'Checking'), ('checked', 'Checked')], default='sent', max_length=8)), ('content', models.FileField(upload_to=apps.task.models.CompetetionTaskSumbission.submission_content_upload_to)), - ('stdout', models.FileField(upload_to=apps.task.models.CompetetionTaskSumbission.submission_stdout_upload_to)), - ('result', models.JSONField(default={})), + ('stdout', models.FileField(blank=True, null=True, upload_to=apps.task.models.CompetetionTaskSumbission.submission_stdout_upload_to)), + ('result', models.JSONField(blank=True, default=None, null=True)), + ('earned_points', models.IntegerField()), ('timestamp', models.DateTimeField(auto_now_add=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.user')), ('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='task.competitiontask')),