"""
Order views: HTTP layer. Delegate to orders.services.
"""
from django.http import JsonResponse
from django.views import View

from orders.services import OrderService


class OrderListView(View):
    """GET /orders/ — list orders from DB (Digistore IPN records). Query: ?limit=100&offset=0."""

    def get(self, request):
        limit = min(int(request.GET.get("limit", 100)), 500)
        offset = max(0, int(request.GET.get("offset", 0)))
        items = OrderService.list_from_db(limit=limit, offset=offset)
        return JsonResponse({"ok": True, "orders": items, "count": len(items)})
