예제 #1
0
 def serialize(self, obj, attrs, user):
     provider = ExternalUser.get_provider_string(obj.provider)
     return {
         "id": str(obj.id),
         "memberId": str(obj.organizationmember_id),
         "provider": provider,
         "externalName": obj.external_name,
     }
예제 #2
0
 def validate_provider(self, provider):
     if provider not in EXTERNAL_PROVIDERS.values():
         raise serializers.ValidationError(
             f'The provider "{provider}" is not supported. We currently accept Github and Gitlab user identities.'
         )
     return ExternalUser.get_provider_enum(provider)
예제 #3
0
    def create_external_user(organizationmember, **kwargs):
        kwargs.setdefault("provider", ExternalUser.get_provider_enum("github"))
        kwargs.setdefault("external_name", "")

        return ExternalUser.objects.create(
            organizationmember=organizationmember, **kwargs)