def validate(self, validated_data):
rehive = Rehive(validated_data.get('token'))
try:
user = rehive.user.get()
groups = [g['name'] for g in user['permission_groups']]
if len(set(["admin", "service"]).intersection(groups)) <= 0:
raise serializers.ValidationError(
{"token": ["Invalid admin user."]})
except APIException:
raise serializers.ValidationError({"token": ["Invalid user."]})
try:
validated_data['company'] = Company.objects.get(
identifier=user['company'])
except Company.DoesNotExist:
raise serializers.ValidationError(
{"token": ["Company has not been activated yet."]})
return validated_data
评论列表
文章目录