diff --git a/arkindex/documents/api/ml.py b/arkindex/documents/api/ml.py index 132d2604ac57bf6d15fbf7fc979435079c615966..ac68ac281e57a22762a070e087a3f9849683be0a 100644 --- a/arkindex/documents/api/ml.py +++ b/arkindex/documents/api/ml.py @@ -14,8 +14,8 @@ from arkindex_common.ml_tool import MLToolType from arkindex_common.enums import EntityType from arkindex.documents.serializers.ml import ( ClassificationsSerializer, ClassificationCreateSerializer, ClassificationSerializer, - TranscriptionsSerializer, TranscriptionCreateSerializer, DataSourceStatsSerializer, - ClassificationsSelectionSerializer, ClassificationMode, + TranscriptionsSerializer, TranscriptionSerializer, TranscriptionCreateSerializer, + DataSourceStatsSerializer, ClassificationsSelectionSerializer, ClassificationMode, CountMLClassSerializer, MLClassSerializer ) from arkindex.documents.pagexml import PageXmlParser @@ -86,7 +86,11 @@ class TranscriptionCreate(CreateAPIView): serializer.is_valid(raise_exception=True) obj = self.perform_create(serializer) headers = self.get_success_headers(serializer.data) - return Response({'id': obj.id}, status=status.HTTP_201_CREATED, headers=headers) + return Response( + # Use a single transcription serializer for the response + TranscriptionSerializer(obj).data, + status=status.HTTP_201_CREATED, headers=headers + ) class TranscriptionBulk(CreateAPIView, UpdateAPIView): diff --git a/arkindex/documents/tests/test_transcription_create.py b/arkindex/documents/tests/test_transcription_create.py index 27e9bce25637a375b09140e9b6b13f5e6660c764..53202d6937fbdf3ab144758b199b9bb432dd4582 100644 --- a/arkindex/documents/tests/test_transcription_create.py +++ b/arkindex/documents/tests/test_transcription_create.py @@ -102,6 +102,22 @@ class TestTranscriptionCreate(FixtureAPITestCase): } ) self.assertEqual(response.status_code, status.HTTP_201_CREATED) + tr = Transcription.objects.get(text='A perfect day in a perfect place') + self.assertDictEqual(response.json(), { + 'id': str(tr.id), + 'score': None, + 'source': { + 'id': str(tr.source.id), + 'internal': False, + 'name': '', + 'revision': '', + 'slug': 'manual', + 'type': 'recognizer' + }, + 'text': 'A perfect day in a perfect place', + 'type': 'line', + 'zone': None + }) new_ts = Transcription.objects.get(text='A perfect day in a perfect place', type=TranscriptionType.Line) self.assertIsNone(new_ts.zone)