Untitled

 avatar
unknown
plain_text
9 months ago
1.2 kB
2
Indexable
from rest_framework import status, views
from rest_framework.parsers import MultiPartParser, FormParser
from rest_framework.response import Response
from vrchatapi import AvatarsApi, ApiClient

class CreateAvatarView(views.APIView):
    parser_classes = [MultiPartParser, FormParser]

    def post(self, request):
        api_client = ApiClient()
        avatars_api = AvatarsApi(api_client)
        
        avatar_data = {
            "name": request.data.get("name"),
            "description": request.data.get("description"),
            "imageUrl": request.data.get("imageUrl"),
            "releaseStatus": request.data.get("releaseStatus"),
            "tags": request.data.get("tags").split(',') if request.data.get("tags") else [],
        }
        
        if 'assetFile' in request.FILES:
            asset_file = request.FILES['assetFile']
            avatar_data["assetFile"] = asset_file.read()
        
        try:
            avatar = avatars_api.create_avatar(create_avatar_request=avatar_data)
            return Response(avatar.to_dict(), status=status.HTTP_201_CREATED)
        except Exception as e:
            return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST)
Editor is loading...
Leave a Comment