rename hardcorded status codes to normal constants at user app

This commit is contained in:
Timur Kh.
2025-03-01 00:42:28 +03:00
parent 23a48e50a0
commit 764511bfa4
2 changed files with 19 additions and 10 deletions
+12 -10
View File
@@ -1,3 +1,5 @@
from http import HTTPStatus as status
from ninja import Router from ninja import Router
from ninja.errors import AuthenticationError from ninja.errors import AuthenticationError
@@ -12,8 +14,8 @@ router = Router(tags=["user"])
@router.post( @router.post(
path="/sign-up", path="/sign-up",
response={ response={
201: TokenSchema, status.CREATED: TokenSchema,
400: BadRequestError, status.BAD_REQUEST: BadRequestError,
} }
) )
def sign_up(request, data: RegisterSchema): def sign_up(request, data: RegisterSchema):
@@ -22,15 +24,15 @@ def sign_up(request, data: RegisterSchema):
user.save() user.save()
token = BearerAuth.generate_jwt(user) token = BearerAuth.generate_jwt(user)
return 201, TokenSchema(token=token) return status.CREATED, TokenSchema(token=token)
@router.post( @router.post(
path="/sign-in", path="/sign-in",
response={ response={
200: TokenSchema, status.OK: TokenSchema,
400: BadRequestError, status.BAD_REQUEST: BadRequestError,
401: ForbiddenError, status.UNAUTHORIZED: ForbiddenError,
} }
) )
def sign_in(request, data: LoginSchema): def sign_in(request, data: LoginSchema):
@@ -41,15 +43,15 @@ def sign_in(request, data: LoginSchema):
raise AuthenticationError raise AuthenticationError
token = BearerAuth.generate_jwt(user) token = BearerAuth.generate_jwt(user)
return 200, TokenSchema(token=token) return status.OK, TokenSchema(token=token)
@router.get( @router.get(
path="/user/{user_id}", path="/user/{user_id}",
response={ response={
200: UserSchema, status.OK: UserSchema,
400: BadRequestError, status.BAD_REQUEST: BadRequestError,
404: NotFoundError, status.NOT_FOUND: NotFoundError,
} }
) )
def get_user(request, user_id: str): def get_user(request, user_id: str):
+7
View File
@@ -3,11 +3,18 @@ from django.db import models
from apps.core.models import BaseModel from apps.core.models import BaseModel
class UserRole(models.Choices):
STUDENT = "student"
METODIST = "metodist"
class User(BaseModel): class User(BaseModel):
email = models.EmailField(unique=True, verbose_name="Почта") email = models.EmailField(unique=True, verbose_name="Почта")
username = models.SlugField(unique=True, verbose_name="Юзернейм") username = models.SlugField(unique=True, verbose_name="Юзернейм")
password = models.TextField(verbose_name="Пароль") password = models.TextField(verbose_name="Пароль")
status = models.CharField(max_length=10, choices=UserRole.choices, default=UserRole.STUDENT)
def __str__(self): def __str__(self):
return self.username return self.username