"""
store/urls.py
─────────────
Registered at /api/ in rights_catalog/urls.py.

Full URL table:
  GET    /api/cart/                           CartView
  POST   /api/cart/add/                       CartAddView
  PATCH  /api/cart/items/<int:item_id>/       CartItemView
  DELETE /api/cart/items/<int:item_id>/       CartItemView
  GET    /api/delivery-options/               DeliveryOptionsView
  POST   /api/checkout/                       StoreCheckoutView
  POST   /api/payments/mpesa/stk-push/        MpesaSTKPushView
  POST   /api/payments/mpesa/callback/        MpesaCallbackView
  POST   /api/payments/mpesa/query/           MpesaQueryView
  GET    /api/orders/                         OrderListView
  GET    /api/orders/<str:reference>/         OrderDetailView
  GET    /api/paybill-settings/               PaybillSettingsView
"""

from django.urls import path
from . import views

urlpatterns = [
    # ── Cart ──────────────────────────────────────────────────────────────
    path("cart/", views.CartView.as_view(), name="store-cart"),
    path("cart/add/", views.CartAddView.as_view(), name="store-cart-add"),
    path(
        "cart/items/<int:item_id>/",
        views.CartItemView.as_view(),
        name="store-cart-item",
    ),

    # ── Delivery options ──────────────────────────────────────────────────
    path(
        "delivery-options/",
        views.DeliveryOptionsView.as_view(),
        name="store-delivery-options",
    ),

    # ── Checkout ──────────────────────────────────────────────────────────
    path("checkout/", views.StoreCheckoutView.as_view(), name="store-checkout"),

    # ── Payments ──────────────────────────────────────────────────────────
    path(
        "payments/mpesa/stk-push/",
        views.MpesaSTKPushView.as_view(),
        name="store-mpesa-stk-push",
    ),
    path(
        "payments/mpesa/callback/",
        views.MpesaCallbackView.as_view(),
        name="store-mpesa-callback",
    ),
    path(
        "payments/mpesa/query/",
        views.MpesaQueryView.as_view(),
        name="store-mpesa-query",
    ),

    # ── Orders ────────────────────────────────────────────────────────────
    path("orders/", views.OrderListView.as_view(), name="store-orders"),
    path(
        "orders/<str:reference>/",
        views.OrderDetailView.as_view(),
        name="store-order-detail",
    ),
    path(
        "orders/<str:reference>/submit-payment-proof/",
        views.PaybillProofView.as_view(),
        name="store-paybill-proof",
    ),

    # ── Paybill settings ──────────────────────────────────────────────────
    path(
        "paybill-settings/",
        views.PaybillSettingsView.as_view(),
        name="store-paybill-settings",
    ),
]
