""" Django REST Framework Serializers """ from rest_framework import serializers class UserMappingSerializer(serializers.Serializer): # pylint: disable=abstract-method """ Serializer for User Mapping""" provider = None username = serializers.SerializerMethodField() remote_id = serializers.SerializerMethodField() def __init__(self, *args, **kwargs): self.provider = kwargs['context'].get('provider', None) super().__init__(*args, **kwargs) def get_username(self, social_user): """ Gets the edx username from a social user """ return social_user.user.username def get_remote_id(self, social_user): """ Gets remote id from social user based on provider """ return self.provider.get_remote_id_from_social_auth(social_user)