Feature: openapi spec, full api browser (#8948)

This commit is contained in:
shamoon 2025-02-10 08:43:07 -08:00 committed by GitHub
parent c316ae369b
commit 1dc80f04cb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 1048 additions and 255 deletions

View file

@ -22,6 +22,7 @@ from django.utils.translation import gettext_lazy as _
from django_filters.rest_framework import BooleanFilter
from django_filters.rest_framework import Filter
from django_filters.rest_framework import FilterSet
from drf_spectacular.utils import extend_schema_field
from guardian.utils import get_group_obj_perms_model
from guardian.utils import get_user_obj_perms_model
from rest_framework import serializers
@ -124,6 +125,7 @@ class ObjectFilter(Filter):
return qs
@extend_schema_field(serializers.BooleanField)
class InboxFilter(Filter):
def filter(self, qs, value):
if value == "true":
@ -134,6 +136,7 @@ class InboxFilter(Filter):
return qs
@extend_schema_field(serializers.CharField)
class TitleContentFilter(Filter):
def filter(self, qs, value):
if value:
@ -142,6 +145,7 @@ class TitleContentFilter(Filter):
return qs
@extend_schema_field(serializers.BooleanField)
class SharedByUser(Filter):
def filter(self, qs, value):
ctype = ContentType.objects.get_for_model(self.model)
@ -186,6 +190,7 @@ class CustomFieldFilterSet(FilterSet):
}
@extend_schema_field(serializers.CharField)
class CustomFieldsFilter(Filter):
def filter(self, qs, value):
if value:
@ -642,6 +647,7 @@ class CustomFieldQueryParser:
self._current_depth -= 1
@extend_schema_field(serializers.CharField)
class CustomFieldQueryFilter(Filter):
def __init__(self, validation_prefix):
"""