authentik.api.search.schema

 1from djangoql.serializers import DjangoQLSchemaSerializer
 2
 3from authentik.api.search.fields import JSONSearchField
 4
 5
 6class AKQLSchemaSerializer(DjangoQLSchemaSerializer):
 7    def serialize(self, schema):
 8        serialization = super().serialize(schema)
 9        for _, fields in schema.models.items():
10            for _, field in fields.items():
11                if not isinstance(field, JSONSearchField):
12                    continue
13                serialization["models"].update(field.get_nested_options(self))
14        return serialization
15
16    def serialize_field(self, field):
17        result = super().serialize_field(field)
18        if isinstance(field, JSONSearchField):
19            result["relation"] = field.relation()
20        return result
class AKQLSchemaSerializer(djangoql.serializers.DjangoQLSchemaSerializer):
 7class AKQLSchemaSerializer(DjangoQLSchemaSerializer):
 8    def serialize(self, schema):
 9        serialization = super().serialize(schema)
10        for _, fields in schema.models.items():
11            for _, field in fields.items():
12                if not isinstance(field, JSONSearchField):
13                    continue
14                serialization["models"].update(field.get_nested_options(self))
15        return serialization
16
17    def serialize_field(self, field):
18        result = super().serialize_field(field)
19        if isinstance(field, JSONSearchField):
20            result["relation"] = field.relation()
21        return result
def serialize(self, schema):
 8    def serialize(self, schema):
 9        serialization = super().serialize(schema)
10        for _, fields in schema.models.items():
11            for _, field in fields.items():
12                if not isinstance(field, JSONSearchField):
13                    continue
14                serialization["models"].update(field.get_nested_options(self))
15        return serialization
def serialize_field(self, field):
17    def serialize_field(self, field):
18        result = super().serialize_field(field)
19        if isinstance(field, JSONSearchField):
20            result["relation"] = field.relation()
21        return result