diff --git a/api/institutions/serializers.py b/api/institutions/serializers.py index 04f4842391bf..c64d52a74aa0 100644 --- a/api/institutions/serializers.py +++ b/api/institutions/serializers.py @@ -292,3 +292,9 @@ def get_absolute_url(self, obj): 'version': 'v2', }, ) + + +class InstitutionRelated(JSONAPIRelationshipSerializer): + id = ser.CharField(source='_id', required=False, allow_null=True) + class Meta: + type_ = 'institutions' diff --git a/api/nodes/serializers.py b/api/nodes/serializers.py index 99d9f8abc943..5dd4fc6ab2a8 100644 --- a/api/nodes/serializers.py +++ b/api/nodes/serializers.py @@ -7,7 +7,6 @@ ) from api.base.serializers import ( VersionedDateTimeField, HideIfRegistration, IDField, - JSONAPIRelationshipSerializer, JSONAPISerializer, LinksField, NodeFileHyperLinkField, RelationshipField, ShowIfVersion, TargetTypeField, TypeField, @@ -42,6 +41,7 @@ from website.project import new_private_link from website.project.model import NodeUpdateError from osf.utils import permissions as osf_permissions +from api.institutions.serializers import InstitutionRelated class RegistrationProviderRelationshipField(RelationshipField): @@ -1467,11 +1467,6 @@ def get_storage_addons_url(self, obj): }, ) -class InstitutionRelated(JSONAPIRelationshipSerializer): - id = ser.CharField(source='_id', required=False, allow_null=True) - class Meta: - type_ = 'institutions' - class NodeInstitutionsRelationshipSerializer(BaseAPISerializer): data = ser.ListField(child=InstitutionRelated()) diff --git a/api/preprints/serializers.py b/api/preprints/serializers.py index 8093a4dfaed0..978038854747 100644 --- a/api/preprints/serializers.py +++ b/api/preprints/serializers.py @@ -21,7 +21,6 @@ WaterbutlerLink, HideIfPreprint, LinkedNodesRelationshipSerializer, - JSONAPIRelationshipSerializer, ) from api.base.utils import absolute_reverse, get_user_auth from api.base.parsers import NO_DATA_ERROR @@ -40,6 +39,7 @@ ) from api.base.metrics import MetricsSerializerMixin from api.taxonomies.serializers import TaxonomizableSerializerMixin +from api.institutions.serializers import InstitutionRelated from framework.exceptions import PermissionsError from website.project import signals as project_signals from osf.exceptions import NodeStateError, PreprintStateError @@ -534,13 +534,6 @@ def update(self, instance, validated_data): }) -class InstitutionRelated(JSONAPIRelationshipSerializer): - id = ser.CharField(source='_id', required=False, allow_null=True) - - class Meta: - type_ = 'institutions' - - class PreprintsInstitutionsRelationshipSerializer(BaseAPISerializer): data = ser.ListField(child=InstitutionRelated())