44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import logging
|
|
import json
|
|
import base64
|
|
import dropbox
|
|
|
|
from django.http import JsonResponse
|
|
from django.http import HttpRequest
|
|
from django.conf import settings
|
|
|
|
from rest_framework.decorators import api_view
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class TestApiClass:
|
|
@staticmethod
|
|
@api_view(['GET'])
|
|
def test_api(request):
|
|
logger.debug('Test api call: {}'.format(request))
|
|
return JsonResponse({'Result': 'success'}, safe=False)
|
|
|
|
|
|
class ImageEndpoint:
|
|
@staticmethod
|
|
@api_view(['GET'])
|
|
def image_api_get_all(request):
|
|
logger.debug('Image GET all call: {}'.format(request))
|
|
return JsonResponse({'Result': 'success1'}, safe=False)
|
|
|
|
@staticmethod
|
|
@api_view(['GET'])
|
|
def image_api_get_single(request, id):
|
|
logger.debug('Image GET single call: {}'.format(request))
|
|
return JsonResponse({'Result': 'success1', 'id': id}, safe=False)
|
|
|
|
@staticmethod
|
|
@api_view(['POST'])
|
|
def image_api_post(request: HttpRequest):
|
|
logger.debug('Image POST call: {}'.format(request))
|
|
data = json.loads(request.body.decode('utf-8'))
|
|
dbx = dropbox.Dropbox(settings.DROPBOX_OAUTH2_ACCESS_TOKEN)
|
|
dbx.files_upload(base64.b64decode(data['image_data']),'/Apps/AIC Federated Storage Infrastructure/test_image_1.jpg')
|
|
return JsonResponse({'Result': 'success2', 'received file': data['filename']}, safe=False)
|