from django_filters import rest_framework as filters
from .models import (
    ActivityLogs,
)
from django.db.models import Q


class ActivityLogsFilter(filters.FilterSet):
    search = filters.CharFilter(method="filter_by_search", label="Search")

    class Meta:
        model = ActivityLogs
        fields = ["search"]

    def filter_by_search(self, queryset, name, value):
        queryset = queryset.filter(
            Q(user__first_name__icontains=value)
            | Q(user__last_name__icontains=value)
            | Q(user__email__icontains=value)
            | Q(action__icontains=value)
        )
        return queryset
