Skip to content

Commit

Permalink
Merge pull request #3232 from jctanner/EXPOSE_USERIDS
Browse files Browse the repository at this point in the history
Expose the true github ID in the v1 user serializer.
  • Loading branch information
jctanner authored Aug 25, 2023
2 parents 300cf01 + 843d017 commit 0fbe690
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion galaxy/api/serializers/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from collections import OrderedDict

from allauth.account.models import EmailAddress
from allauth.socialaccount.models import SocialAccount

from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser
Expand All @@ -18,7 +19,8 @@

USER_FIELDS = (
'id', 'url', 'related', 'summary_fields', 'created', 'modified',
'username', 'staff', 'full_name', 'date_joined', 'avatar_url'
'username', 'staff', 'full_name', 'date_joined', 'avatar_url',
'github_id'
)

__all__ = [
Expand Down Expand Up @@ -55,6 +57,7 @@ def get_primary_email(self, obj):

class UserSerializer(BaseSerializer):
staff = serializers.ReadOnlyField(source='is_staff')
github_id = serializers.SerializerMethodField()

class Meta:
model = User
Expand Down Expand Up @@ -93,3 +96,9 @@ def get_summary_fields(self, obj):
('github_repo', g.repository.github_repo)
]) for g in obj.starred.select_related('repository').all()]
return d

def get_github_id(self, obj):
social_user = SocialAccount.objects.filter(user_id=obj.id).first()
if social_user is None:
return None
return social_user.extra_data.get('id')

0 comments on commit 0fbe690

Please sign in to comment.