From 8c040bab3d197f967524bb96eef18e4e74dc52e0 Mon Sep 17 00:00:00 2001
From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org>
Date: Thu, 7 Sep 2023 20:11:22 +0200
Subject: [PATCH] feat(REST): add search filter to /shows endpoint

The dashboard will need to implement a paginated list of shows
that should be searchable.
---
 program/views.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/program/views.py b/program/views.py
index 41751b62..6012b1ef 100644
--- a/program/views.py
+++ b/program/views.py
@@ -36,6 +36,7 @@ from django.http import Http404, HttpResponse
 from django.shortcuts import get_object_or_404
 from django.utils import timezone
 from django.utils.translation import gettext as _
+from django_filters.rest_framework import DjangoFilterBackend
 from program import filters
 from program.models import (
     Category,
@@ -373,7 +374,9 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet):
     serializer_class = ShowSerializer
     permission_classes = [permissions.DjangoModelPermissionsOrAnonReadOnly]
     pagination_class = LimitOffsetPagination
+    filter_backends = [DjangoFilterBackend, drf_filters.SearchFilter]
     filterset_class = filters.ShowFilterSet
+    search_fields = ["name", "slug", "short_description", "description"]
 
     def get_object(self):
         queryset = self.filter_queryset(self.get_queryset())
-- 
GitLab