Skip to content

Commit

Permalink
views should be formatted to use serializer to import data (check to …
Browse files Browse the repository at this point in the history
…see if this works tomorrow)
  • Loading branch information
XaelShan committed Jun 29, 2023
1 parent 90bef52 commit b09c707
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 19 deletions.
2 changes: 1 addition & 1 deletion webfit/data/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class Data(models.Model):

do_save = models.BooleanField(default=True, help_text="Should this model be saved?") #later boolean to add autosave?
saved_file = models.BooleanField(default=False, help_text="is the model saved in files?") #should this exist, or do we always override files and save
saved_file_string = models.CharField(max_length=200, null = False, help_text="File location to save data")
save_file_string = models.CharField(max_length=200, null = False, help_text="File location to save data")

#creates hash for data

Expand Down
45 changes: 27 additions & 18 deletions webfit/data/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,53 @@

@api_view(['POST', 'PUT'])
def import_file_string(request, file_id, version):
try:
file = file_id
except Data.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)

#saves file_string
if request.method == 'POST':
serializer = DataSerializers(data=request.data)
serializer = DataSerializers(file_string=file_id)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

if User.anonymous == False:
#saves or updates file_string
if request.method == 'PUT':
serializer = DataSerializers(imported_data, data=request.data)
#saves or updates file_string
if request.method == 'PUT':
if User.anonymous == False:
#checks to see if there is an existing file to update
try:
file = Data.objects.get(file_string=file_id)
except Data.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)


serializer = DataSerializers(file, file_string=file_id)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
else:
return HttpResponseForbidden()
#user is not logged in -> not allowed to update
else:
return HttpResponseForbidden()

#data is actually loaded inside fit view

@api_view(['POST', 'PUT'])
def export_data(request, version = None):
def export_data(request, save_file_id, version = None):
#saves the file string to where to save data
if request.method == 'POST':
where_to_save_string = Data.objects.all()
serializer = DataSerializers(where_to_save_string, many=True)
serializer = DataSerializers(save_file_string = save_file_id)
return Response(serializer.data)

if User.anonymous == False:
#saves or updates file_string
if request.method == 'PUT':
serializer = DataSerializers(imported_data, data=request.data)
#saves or updates file_string
if request.method == 'PUT':
if User.anonymous == False:
#checks to see if there is an existing file to update
try:
save_file = Data.objects.get(save_file_string=save_file_id)
except Data.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)

serializer = DataSerializers(save_file, save_file_string=save_file_id)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
Expand Down

0 comments on commit b09c707

Please sign in to comment.