"""
_____________________________________________________________________.

:PROJECT: LARAsuite

*lara_django_material Model Context Protocol (MCP) handler *

:details: lara_django_material Model Context Protocol (MCP) handler.

:authors: mark doerr <mark.doerr@uni-greifswald.de>

________________________________________________________________________
"""

from mcp_server import ModelQueryToolset

from .models import Device, ExtraData, Labware, LabwareClass, LabwareShape, LabwareSubset, Part, PartDeviceClass


class ExtradataQueryTool(ModelQueryToolset):
    """ExtradataQueryTool class."""

    model = ExtraData


class PartDeviceClassQueryTool(ModelQueryToolset):
    """PartDeviceClassQueryTool class."""

    model = PartDeviceClass


class DeviceClassQueryTool(ModelQueryToolset):
    """DeviceClassQueryTool class."""

    model = Device


class PartQueryTool(ModelQueryToolset):
    """PartQueryTool class."""

    model = Part


class LabwareClassQueryTool(ModelQueryToolset):
    """LabwareClassQueryTool class."""

    model = LabwareClass


class LabwareQueryTool(ModelQueryToolset):
    """LabwareQueryTool class."""

    model = Labware


class LabwareShapeQueryTool(ModelQueryToolset):
    """LabwareShapeQueryTool class."""

    model = LabwareShape


class LabwareSubsetQueryTool(ModelQueryToolset):
    """LabwareSubsetQueryTool class."""

    model = LabwareSubset


#     def get_queryset(self):
#         """
#         Returns a queryset of all birds with a location.

#         This is used to filter the queryset for the admin interface.
#         self.request can be used to filter the queryset
#         """
#         return super().get_queryset().filter(location__isnull=False)
