authentik.stages.authenticator_email.api

AuthenticatorEmailStage API Views

 1"""AuthenticatorEmailStage API Views"""
 2
 3from rest_framework import mixins
 4from rest_framework.viewsets import GenericViewSet, ModelViewSet
 5
 6from authentik.core.api.groups import PartialUserSerializer
 7from authentik.core.api.used_by import UsedByMixin
 8from authentik.core.api.utils import ModelSerializer
 9from authentik.flows.api.stages import StageSerializer
10from authentik.stages.authenticator_email.models import AuthenticatorEmailStage, EmailDevice
11
12
13class AuthenticatorEmailStageSerializer(StageSerializer):
14    """AuthenticatorEmailStage Serializer"""
15
16    class Meta:
17        model = AuthenticatorEmailStage
18        fields = StageSerializer.Meta.fields + [
19            "configure_flow",
20            "friendly_name",
21            "use_global_settings",
22            "host",
23            "port",
24            "username",
25            "password",
26            "use_tls",
27            "use_ssl",
28            "timeout",
29            "from_address",
30            "subject",
31            "token_expiry",
32            "template",
33        ]
34
35
36class AuthenticatorEmailStageViewSet(UsedByMixin, ModelViewSet):
37    """AuthenticatorEmailStage Viewset"""
38
39    queryset = AuthenticatorEmailStage.objects.all()
40    serializer_class = AuthenticatorEmailStageSerializer
41    filterset_fields = "__all__"
42    ordering = ["name"]
43    search_fields = ["name"]
44
45
46class EmailDeviceSerializer(ModelSerializer):
47    """Serializer for email authenticator devices"""
48
49    user = PartialUserSerializer(read_only=True)
50
51    class Meta:
52        model = EmailDevice
53        fields = ["name", "pk", "email", "user"]
54        depth = 2
55        extra_kwargs = {
56            "email": {"read_only": True},
57        }
58
59
60class EmailDeviceViewSet(
61    mixins.RetrieveModelMixin,
62    mixins.UpdateModelMixin,
63    mixins.DestroyModelMixin,
64    UsedByMixin,
65    mixins.ListModelMixin,
66    GenericViewSet,
67):
68    """Viewset for email authenticator devices"""
69
70    queryset = EmailDevice.objects.all()
71    serializer_class = EmailDeviceSerializer
72    search_fields = ["name"]
73    filterset_fields = ["name"]
74    ordering = ["name"]
75    owner_field = "user"
76
77
78class EmailAdminDeviceViewSet(ModelViewSet):
79    """Viewset for email authenticator devices (for admins)"""
80
81    queryset = EmailDevice.objects.all()
82    serializer_class = EmailDeviceSerializer
83    search_fields = ["name"]
84    filterset_fields = ["name"]
85    ordering = ["name"]
class AuthenticatorEmailStageSerializer(authentik.flows.api.stages.StageSerializer):
14class AuthenticatorEmailStageSerializer(StageSerializer):
15    """AuthenticatorEmailStage Serializer"""
16
17    class Meta:
18        model = AuthenticatorEmailStage
19        fields = StageSerializer.Meta.fields + [
20            "configure_flow",
21            "friendly_name",
22            "use_global_settings",
23            "host",
24            "port",
25            "username",
26            "password",
27            "use_tls",
28            "use_ssl",
29            "timeout",
30            "from_address",
31            "subject",
32            "token_expiry",
33            "template",
34        ]

AuthenticatorEmailStage Serializer

class AuthenticatorEmailStageSerializer.Meta:
17    class Meta:
18        model = AuthenticatorEmailStage
19        fields = StageSerializer.Meta.fields + [
20            "configure_flow",
21            "friendly_name",
22            "use_global_settings",
23            "host",
24            "port",
25            "username",
26            "password",
27            "use_tls",
28            "use_ssl",
29            "timeout",
30            "from_address",
31            "subject",
32            "token_expiry",
33            "template",
34        ]
fields = ['pk', 'name', 'component', 'verbose_name', 'verbose_name_plural', 'meta_model_name', 'flow_set', 'configure_flow', 'friendly_name', 'use_global_settings', 'host', 'port', 'username', 'password', 'use_tls', 'use_ssl', 'timeout', 'from_address', 'subject', 'token_expiry', 'template']
class AuthenticatorEmailStageViewSet(authentik.core.api.used_by.UsedByMixin, rest_framework.viewsets.ModelViewSet):
37class AuthenticatorEmailStageViewSet(UsedByMixin, ModelViewSet):
38    """AuthenticatorEmailStage Viewset"""
39
40    queryset = AuthenticatorEmailStage.objects.all()
41    serializer_class = AuthenticatorEmailStageSerializer
42    filterset_fields = "__all__"
43    ordering = ["name"]
44    search_fields = ["name"]

AuthenticatorEmailStage Viewset

queryset = <InheritanceQuerySet []>
serializer_class = <class 'AuthenticatorEmailStageSerializer'>
filterset_fields = '__all__'
ordering = ['name']
search_fields = ['name']
name = None
description = None
suffix = None
detail = None
basename = None
class EmailDeviceSerializer(authentik.core.api.utils.ModelSerializer):
47class EmailDeviceSerializer(ModelSerializer):
48    """Serializer for email authenticator devices"""
49
50    user = PartialUserSerializer(read_only=True)
51
52    class Meta:
53        model = EmailDevice
54        fields = ["name", "pk", "email", "user"]
55        depth = 2
56        extra_kwargs = {
57            "email": {"read_only": True},
58        }

Serializer for email authenticator devices

user
class EmailDeviceSerializer.Meta:
52    class Meta:
53        model = EmailDevice
54        fields = ["name", "pk", "email", "user"]
55        depth = 2
56        extra_kwargs = {
57            "email": {"read_only": True},
58        }
fields = ['name', 'pk', 'email', 'user']
depth = 2
extra_kwargs = {'email': {'read_only': True}}
class EmailDeviceViewSet(rest_framework.mixins.RetrieveModelMixin, rest_framework.mixins.UpdateModelMixin, rest_framework.mixins.DestroyModelMixin, authentik.core.api.used_by.UsedByMixin, rest_framework.mixins.ListModelMixin, rest_framework.viewsets.GenericViewSet):
61class EmailDeviceViewSet(
62    mixins.RetrieveModelMixin,
63    mixins.UpdateModelMixin,
64    mixins.DestroyModelMixin,
65    UsedByMixin,
66    mixins.ListModelMixin,
67    GenericViewSet,
68):
69    """Viewset for email authenticator devices"""
70
71    queryset = EmailDevice.objects.all()
72    serializer_class = EmailDeviceSerializer
73    search_fields = ["name"]
74    filterset_fields = ["name"]
75    ordering = ["name"]
76    owner_field = "user"

Viewset for email authenticator devices

queryset = <QuerySet []>
serializer_class = <class 'EmailDeviceSerializer'>
search_fields = ['name']
filterset_fields = ['name']
ordering = ['name']
owner_field = 'user'
name = None
description = None
suffix = None
detail = None
basename = None
class EmailAdminDeviceViewSet(rest_framework.viewsets.ModelViewSet):
79class EmailAdminDeviceViewSet(ModelViewSet):
80    """Viewset for email authenticator devices (for admins)"""
81
82    queryset = EmailDevice.objects.all()
83    serializer_class = EmailDeviceSerializer
84    search_fields = ["name"]
85    filterset_fields = ["name"]
86    ordering = ["name"]

Viewset for email authenticator devices (for admins)

queryset = <QuerySet []>
serializer_class = <class 'EmailDeviceSerializer'>
search_fields = ['name']
filterset_fields = ['name']
ordering = ['name']
name = None
description = None
suffix = None
detail = None
basename = None