mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 21:27:10 +00:00
feat: added achievements
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from ninja import ModelSchema
|
||||
from ninja import ModelSchema, Schema
|
||||
from pydantic import Field
|
||||
|
||||
from apps.achievement.models import Achievement
|
||||
from apps.achievement.models import Achievement, UserAchievement
|
||||
|
||||
|
||||
class AchievementSchema(ModelSchema):
|
||||
@@ -12,3 +13,13 @@ class AchievementSchema(ModelSchema):
|
||||
"description",
|
||||
"icon",
|
||||
)
|
||||
|
||||
|
||||
class UserAchievementSchema(Schema):
|
||||
name: str = Field(..., alias="achievement.name")
|
||||
description: str = Field(..., alias="achievement.description")
|
||||
icon: str = Field(..., alias="achievement.icon")
|
||||
|
||||
class Meta:
|
||||
model = UserAchievement
|
||||
fields = ("received_at",)
|
||||
|
||||
@@ -6,15 +6,16 @@ from api.v1.achievement.schemas import AchievementSchema
|
||||
from api.v1.schemas import UnauthorizedError
|
||||
from apps.achievement.models import Achievement
|
||||
|
||||
router = Router()
|
||||
router = Router(tags=["achievement"])
|
||||
|
||||
|
||||
@router.get(
|
||||
"",
|
||||
"all",
|
||||
response={
|
||||
status.OK: list[AchievementSchema],
|
||||
status.UNAUTHORIZED: UnauthorizedError,
|
||||
},
|
||||
auth=None,
|
||||
)
|
||||
def get_all_achievements(request):
|
||||
return Achievement.objects.all()
|
||||
|
||||
Reference in New Issue
Block a user