mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 19:07:10 +00:00
added competition endpoints
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
from ninja import ModelSchema, Schema
|
||||
|
||||
from apps.user.models import User
|
||||
|
||||
|
||||
class TokenSchema(Schema):
|
||||
token: str
|
||||
|
||||
|
||||
class RegisterSchema(ModelSchema):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["email", "username", "password"]
|
||||
|
||||
|
||||
class LoginSchema(ModelSchema):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["email", "password"]
|
||||
|
||||
|
||||
class UserSchema(ModelSchema):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ["email", "username"]
|
||||
@@ -0,0 +1,43 @@
|
||||
from ninja import Router
|
||||
|
||||
from api.v1.schemas import BadRequestError, ForbiddenError, NotFoundError
|
||||
from api.v1.user.schemas import (
|
||||
LoginSchema,
|
||||
RegisterSchema,
|
||||
TokenSchema,
|
||||
UserSchema,
|
||||
)
|
||||
|
||||
router = Router(tags=["user"])
|
||||
|
||||
|
||||
@router.post(
|
||||
path="/sign-up",
|
||||
response={
|
||||
201: TokenSchema,
|
||||
400: BadRequestError,
|
||||
},
|
||||
)
|
||||
def sign_up(data: RegisterSchema): ...
|
||||
|
||||
|
||||
@router.post(
|
||||
path="/sign-in",
|
||||
response={
|
||||
200: TokenSchema,
|
||||
400: BadRequestError,
|
||||
403: ForbiddenError,
|
||||
},
|
||||
)
|
||||
def sign_in(data: LoginSchema): ...
|
||||
|
||||
|
||||
@router.get(
|
||||
path="/user/{user_id}",
|
||||
response={
|
||||
200: UserSchema,
|
||||
400: BadRequestError,
|
||||
404: NotFoundError,
|
||||
},
|
||||
)
|
||||
def get_user(user_id: str): ...
|
||||
Reference in New Issue
Block a user