authentik.policies.api.exec

Serializer for policy execution

 1"""Serializer for policy execution"""
 2
 3from rest_framework.fields import BooleanField, CharField, ListField
 4from rest_framework.relations import PrimaryKeyRelatedField
 5
 6from authentik.core.api.utils import JSONDictField, PassiveSerializer
 7from authentik.core.models import User
 8from authentik.events.logs import LogEventSerializer
 9
10
11class PolicyTestSerializer(PassiveSerializer):
12    """Test policy execution for a user with context"""
13
14    user = PrimaryKeyRelatedField(queryset=User.objects.all())
15    context = JSONDictField(required=False)
16
17
18class PolicyTestResultSerializer(PassiveSerializer):
19    """result of a policy test"""
20
21    passing = BooleanField()
22    messages = ListField(child=CharField(), read_only=True)
23    log_messages = LogEventSerializer(many=True, read_only=True)
class PolicyTestSerializer(authentik.core.api.utils.PassiveSerializer):
12class PolicyTestSerializer(PassiveSerializer):
13    """Test policy execution for a user with context"""
14
15    user = PrimaryKeyRelatedField(queryset=User.objects.all())
16    context = JSONDictField(required=False)

Test policy execution for a user with context

user
context
614    @property
615    def context(self):
616        """
617        Returns the context as passed to the root serializer on initialization.
618        """
619        return getattr(self.root, '_context', {})

Returns the context as passed to the root serializer on initialization.

class PolicyTestResultSerializer(authentik.core.api.utils.PassiveSerializer):
19class PolicyTestResultSerializer(PassiveSerializer):
20    """result of a policy test"""
21
22    passing = BooleanField()
23    messages = ListField(child=CharField(), read_only=True)
24    log_messages = LogEventSerializer(many=True, read_only=True)

result of a policy test

passing
messages
log_messages