v0.2 Preview: Construction Plan.
CI / test (push) Failing after 1m31s

This commit is contained in:
2026-08-08 21:25:27 +08:00
parent b88d15698a
commit 1f98f7152d
822 changed files with 96959 additions and 8 deletions
+44
View File
@@ -0,0 +1,44 @@
from rest_framework.response import Response
from rest_framework.views import APIView
from .models import UserAbility, UserPet
class ProgressionProfileView(APIView):
def get(self, request):
pet, _ = UserPet.objects.get_or_create(user=request.user)
existing = {ability.dimension: ability for ability in request.user.abilities.all()}
abilities = []
for dimension, label in UserAbility.Dimension.choices:
ability = existing.get(dimension)
if ability is None:
ability = UserAbility.objects.create(user=request.user, dimension=dimension)
abilities.append(
{
"dimension": dimension,
"label": label,
"level": ability.level,
"fragments": ability.fragments,
}
)
return Response(
{
"pet": {
"name": pet.name,
"level": pet.level,
"experience": pet.experience,
"appearance": pet.appearance,
},
"abilities": abilities,
"cards": [
{
"slug": item.card.slug,
"name": item.card.name,
"mathematician": item.card.mathematician,
"image": item.card.image,
"acquired_at": item.acquired_at,
}
for item in request.user.cards.select_related("card")
],
}
)