filtersets, ordering and searchable fields

This commit is contained in:
Corban-Lee Jones 2024-09-26 00:10:34 +01:00
parent a2acc7298c
commit 56db239248

View File

@ -86,9 +86,9 @@ class DeletableDetailView(generics.RetrieveDestroyAPIView):
class Server_ListView(ListView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "name", "icon_hash", "active")
search_fields = ("name")
ordering_fields = ("id", "name", "active")
serializer_class = ServerSerializer
def get_queryset(self):
@ -105,26 +105,28 @@ class Server_DetailView(DetailView):
class ContentFilter_ListView(ListCreateView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "server", "name", "match", "matching_algorithm", "is_insensitive", "is_whitelist")
search_fields = ("server", "name", "match")
ordering_fields = ("id", "server", "name", "match", "matching_algorithm", "is_insensitive", "is_whitelist")
serializer_class = ContentFilterSerializer
def get_queryset(self):
return ContentFilter.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return ContentFilter.objects.filter(server__in=servers)
class ContentFilter_DetailView(ChangableDetailView):
serializer_class = ContentFilterSerializer
def get_queryset(self):
return ContentFilter.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return ContentFilter.objects.filter(server__in=servers)
class MessageMutator_ListView(ListView): # instances of this one are pre-defined ONLY
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "name", "value")
search_fields = ("name", "value")
ordering_fields = ("id", "name", "value")
serializer_class = MessageMutatorSerializer
def get_queryset(self):
@ -139,9 +141,8 @@ class MessageMutator_DetailView(DetailView):
class MessageStyle_ListView(ListCreateView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "server", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images", "title_mutator", "description_mutator")
ordering_fields = ("id", "server", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images")
serializer_class = MessageStyleSerializer
def get_queryset(self):
@ -156,43 +157,47 @@ class MessageStyle_DetailView(ChangableDetailView):
class Subscription_ListView(ListCreateView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "server", "name", "url", "created_at", "updated_at", "extra_notes", "active", "filters", "message_style", "unique_rules")
search_fields = ("server", "name", "url", "extra_notes")
ordering_fields = ("id", "server", "name", "url", "created_at", "updated_at", "extra_notes", "active", "message_style")
serializer_class = SubscriptionSerializer
def get_queryset(self):
return Subscription.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return Subscription.objects.filter(server__in=servers)
class Subscription_DetailView(ChangableDetailView):
serializer_class = SubscriptionSerializer
def get_queryset(self):
return Subscription.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return Subscription.objects.filter(server__in=servers)
class Content_ListView(ListCreateView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "subscription", "item_id", "item_guid", "item_url", "item_title", "item_content_hash")
search_fields = ("subscription", "item_id", "item_guid", "item_url", "item_title", "item_content_hash")
ordering_fields = ("id", "subscription", "item_id", "item_guid", "item_url", "item_title", "item_content_hash")
serializer_class = ContentSerializer
def get_queryset(self):
return Content.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return Content.objects.filter(server__in=servers)
class Content_DetailView(ChangableDetailView):
serializer_class = ContentSerializer
def get_queryset(self):
return Content.objects.all()
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return Content.objects.filter(server__in=servers)
class UniqueContentRule_ListView(ListCreateView):
filterset_fields = []
search_fields = []
ordering_fields = []
filterset_fields = ("id", "name", "value")
search_fields = ("name", "value")
ordering_fields = ("id", "name", "value")
serializer_class = UniqueContentRuleSerializer
def get_queryset(self):