This commit is contained in:
rngsurrounded
2025-03-02 00:33:23 +09:00
3 changed files with 17 additions and 8 deletions
+2
View File
@@ -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
+3 -3
View File
@@ -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
@@ -27,8 +28,6 @@ router = Router(tags=["user"])
)
def sign_up(request, data: RegisterSchema):
user = User(**data.dict())
user.password = user.make_password()
user.full_clean()
user.save()
token = BearerAuth.generate_jwt(user)
@@ -46,9 +45,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)
+12 -5
View File
@@ -15,10 +15,16 @@ class Competition(BaseModel):
EDU = "edu", "Образовательный"
COMPETITIVE = "competitive", "Соревновательный"
title = models.CharField(max_length=100, verbose_name="аазвание")
description = HTMLField(verbose_name="описание")
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
@@ -36,8 +42,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