refactor playlist duplicate error structure

- use non_field_errors struct when writing duplicate track errors
- generalize frontend error handler and update frontend error parsing
This commit is contained in:
Qasim Ali 2019-04-24 11:31:46 +02:00 committed by Eliot Berriot
parent 31d990499d
commit 22f0235045
9 changed files with 285 additions and 22 deletions

View file

@ -55,7 +55,10 @@ class PlaylistViewSet(
serializer = serializers.PlaylistAddManySerializer(data=request.data)
serializer.is_valid(raise_exception=True)
try:
plts = playlist.insert_many(serializer.validated_data["tracks"])
plts = playlist.insert_many(
serializer.validated_data["tracks"],
serializer.validated_data["allow_duplicates"],
)
except exceptions.ValidationError as e:
payload = {"playlist": e.detail}
return Response(payload, status=400)