def post(self, request, pk, subject, record, *args, **kwargs): '''Create a link between two subject records in the eHB ''' try: pds = ProtocolDataSource.objects.get(pk=pk) except ObjectDoesNotExist: return Response( {'error': 'ProtocolDatasource requested not found'}, status=404) if pds.protocol.isUserAuthorized(request.user): data = request.data primary_rec = data['primaryRecord'] secondary_rec = data['secondaryRecord'] link_type = data['linkType'] # Serialize primary_rec = ExternalRecord.identity_from_json( json.dumps(primary_rec)) secondary_rec = ExternalRecord.identity_from_json( json.dumps(secondary_rec)) res = self.er_rh.link(primary_rec, secondary_rec, link_type) if res['success']: return Response(res) else: return Response({ 'success': False, 'error': res['error'] }, status=422) return Response({ 'success': False, 'error': 'Unknown Error' }, status=422)
def post(self, request, pk, subject, record, *args, **kwargs): '''Create a link between two subject records in the eHB ''' try: pds = ProtocolDataSource.objects.get(pk=pk) except ObjectDoesNotExist: return Response({'error': 'ProtocolDatasource requested not found'}, status=404) if pds.protocol.isUserAuthorized(request.user): data = json.loads(request.body.decode('utf-8')) primary_rec = data['primaryRecord'] secondary_rec = data['secondaryRecord'] link_type = data['linkType'] # Serialize primary_rec = ExternalRecord.identity_from_json(json.dumps(primary_rec)) secondary_rec = ExternalRecord.identity_from_json(json.dumps(secondary_rec)) res = self.er_rh.link(primary_rec, secondary_rec, link_type) if res['success']: return Response(res) else: return Response({'success': False, 'error': res['error']}, status=422) return Response({'success': False, 'error': 'Unknown Error'}, status=422)
def delete(self, request, pk, subject, record, *args, **kwargs): '''Delete a link between two subject records in the eHB ''' try: pds = ProtocolDataSource.objects.get(pk=pk) except ObjectDoesNotExist: return Response({'error': 'ProtocolDatasource requested not found'}, status=404) if pds.protocol.isUserAuthorized(request.user): data = json.loads(request.body.decode('utf-8')) primary_rec = data['primaryRecord'] link_id = data['linkId'] # Serialize primary_rec = ExternalRecord.identity_from_json(json.dumps(primary_rec)) res = self.er_rh.unlink(primary_rec, link_id) if res['success']: return Response(res) return Response({'success': False}, status=422)