mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 10:57:09 +00:00
Merge remote-tracking branch 'origin/master'
# Conflicts: # services/backend/api/v1/auth.py # services/backend/api/v1/router.py # services/backend/api/v1/user/schemas.py # services/backend/api/v1/user/views.py # services/backend/apps/user/apps.py # services/backend/config/settings.py
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
from ninja import Router
|
||||
from http import HTTPStatus as status
|
||||
|
||||
from ninja import Router
|
||||
from ninja.errors import AuthenticationError
|
||||
|
||||
from api.v1.user.schemas import LoginSchema, RegisterSchema, TokenSchema, UserSchema
|
||||
from api.v1.auth import BearerAuth
|
||||
from api.v1.schemas import BadRequestError, ForbiddenError, NotFoundError
|
||||
from api.v1.user.schemas import (
|
||||
LoginSchema,
|
||||
RegisterSchema,
|
||||
TokenSchema,
|
||||
UserSchema,
|
||||
)
|
||||
from apps.user.models import User
|
||||
|
||||
router = Router(tags=["user"])
|
||||
|
||||
@@ -14,30 +14,47 @@ router = Router(tags=["user"])
|
||||
@router.post(
|
||||
path="/sign-up",
|
||||
response={
|
||||
201: TokenSchema,
|
||||
400: BadRequestError,
|
||||
status.CREATED: TokenSchema,
|
||||
status.BAD_REQUEST: BadRequestError,
|
||||
},
|
||||
auth=None,
|
||||
)
|
||||
def sign_up(data: RegisterSchema): ...
|
||||
def sign_up(request, data: RegisterSchema):
|
||||
user = User(**data.dict())
|
||||
user.full_clean()
|
||||
user.save()
|
||||
|
||||
token = BearerAuth.generate_jwt(user)
|
||||
return status.CREATED, TokenSchema(token=token)
|
||||
|
||||
|
||||
@router.post(
|
||||
path="/sign-in",
|
||||
response={
|
||||
200: TokenSchema,
|
||||
400: BadRequestError,
|
||||
403: ForbiddenError,
|
||||
status.OK: TokenSchema,
|
||||
status.BAD_REQUEST: BadRequestError,
|
||||
status.UNAUTHORIZED: ForbiddenError,
|
||||
},
|
||||
auth=None,
|
||||
)
|
||||
def sign_in(data: LoginSchema): ...
|
||||
def sign_in(request, data: LoginSchema):
|
||||
user = User.objects.filter(email=data.email).first()
|
||||
if not user:
|
||||
raise AuthenticationError
|
||||
if user.password != data.password:
|
||||
raise AuthenticationError
|
||||
|
||||
token = BearerAuth.generate_jwt(user)
|
||||
return status.OK, TokenSchema(token=token)
|
||||
|
||||
|
||||
@router.get(
|
||||
path="/user/{user_id}",
|
||||
response={
|
||||
200: UserSchema,
|
||||
400: BadRequestError,
|
||||
404: NotFoundError,
|
||||
status.OK: UserSchema,
|
||||
status.BAD_REQUEST: BadRequestError,
|
||||
status.NOT_FOUND: NotFoundError,
|
||||
},
|
||||
)
|
||||
def get_user(user_id: str): ...
|
||||
def get_user(request, user_id: str):
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user