"""Query specifications — composable filters (foundation only)."""
from __future__ import annotations

from dataclasses import dataclass
from uuid import UUID

from app.models.types import DeviceStatus, LifecycleStatus, LockerStatus, MembershipStatus


@dataclass(frozen=True)
class BySportsCenterSpec:
    sports_center_id: UUID


@dataclass(frozen=True)
class ByBranchSpec:
    branch_id: UUID


@dataclass(frozen=True)
class ByLifecycleStatusSpec:
    status: LifecycleStatus


@dataclass(frozen=True)
class ByMembershipStatusSpec:
    status: MembershipStatus


@dataclass(frozen=True)
class ByDeviceStatusSpec:
    status: DeviceStatus


@dataclass(frozen=True)
class ByLockerStatusSpec:
    status: LockerStatus


@dataclass(frozen=True)
class ByCodeSpec:
    code: str
