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, }
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)
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)