From 4c8bd78657145061544e68239a789ff5fa930ef1 Mon Sep 17 00:00:00 2001 From: ITQ Date: Sat, 1 Mar 2025 17:45:45 +0300 Subject: [PATCH 1/3] aboba --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29ea8e2..c9a3f05 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ variables: --destination "${IMAGE_NAME}:latest" --cache=true --registry-mirror=dockerhub.timeweb.cloud + retry: 2 build_frontend: <<: *build-template @@ -84,3 +85,4 @@ deploy: docker compose ps >> deploy.log 2>&1 EOF - ssh $SSH_ADDRESS "docker system prune -a --force" + retry: 2 From 41008d090cde806d7c80b6da3d475b0e1fddb11a Mon Sep 17 00:00:00 2001 From: ITQ Date: Sat, 1 Mar 2025 18:05:45 +0300 Subject: [PATCH 2/3] (scope): [body] [footer(s)] --- services/backend/api/v1/user/views.py | 1 - services/backend/apps/competition/models.py | 13 ++++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/services/backend/api/v1/user/views.py b/services/backend/api/v1/user/views.py index ff49988..2990f62 100644 --- a/services/backend/api/v1/user/views.py +++ b/services/backend/api/v1/user/views.py @@ -27,7 +27,6 @@ router = Router(tags=["user"]) ) def sign_up(request, data: RegisterSchema): user = User(**data.dict()) - user.full_clean() user.save() token = BearerAuth.generate_jwt(user) diff --git a/services/backend/apps/competition/models.py b/services/backend/apps/competition/models.py index 0c6bd19..e7b7814 100644 --- a/services/backend/apps/competition/models.py +++ b/services/backend/apps/competition/models.py @@ -14,10 +14,16 @@ class Competition(BaseModel): EDU = "edu", "Образовательный" COMPETITIVE = "competitive", "Соревновательный" + def image_url_upload_to(instance, filename): + return f"/competitions/{instance.id}/image" + title = models.CharField(max_length=100, verbose_name="Название") description = models.TextField(verbose_name="Описание") image_url = models.FileField( - verbose_name="Изображение соревнования", null=True, blank=True + verbose_name="Изображение соревнования", + null=True, + blank=True, + upload_to=image_url_upload_to, ) end_date = models.DateTimeField( verbose_name="Дедлайн участия", null=True, blank=True @@ -35,8 +41,9 @@ class Competition(BaseModel): choices=CompetitionParticipationType.choices, verbose_name="Тип соревнования", ) - participants = models.ManyToManyField(User, related_name="participants", blank=True, - editable=False) + participants = models.ManyToManyField( + User, related_name="participants", blank=True, editable=False + ) def __str__(self): return self.title From 0a35e3d2fa3ee796d8c01c952c3ffb95ae6b8371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=A1=D1=83=D0=BC?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Sat, 1 Mar 2025 18:23:20 +0300 Subject: [PATCH 3/3] fix: auth not working bugfix --- services/backend/api/v1/user/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/backend/api/v1/user/views.py b/services/backend/api/v1/user/views.py index c4f8c15..2861056 100644 --- a/services/backend/api/v1/user/views.py +++ b/services/backend/api/v1/user/views.py @@ -1,5 +1,6 @@ from http import HTTPStatus as status +from django.contrib.auth.hashers import check_password from django.shortcuts import get_object_or_404 from ninja import Router from ninja.errors import AuthenticationError @@ -46,9 +47,10 @@ def sign_up(request, data: RegisterSchema): ) def sign_in(request, data: LoginSchema): user = User.objects.filter(email=data.email).first() + print(check_password(data.password, user.password)) if not user: raise AuthenticationError - if not user.check_password(data.password): + if not check_password(data.password, user.password): raise AuthenticationError token = BearerAuth.generate_jwt(user)