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:
company = rehive.admin.company.get()
except APIException:
raise serializers.ValidationError({"token": ["Invalid company."]})
if Company.objects.filter(identifier=company['identifier']).exists():
raise serializers.ValidationError(
{"token": ["Company already activated."]})
validated_data['user'] = user
validated_data['company'] = company
return validated_data
评论列表
文章目录