Fixing vendor dashboard area

This commit is contained in:
2025-11-21 23:15:25 +01:00
parent 5aff76a27e
commit 86f1e16ef2
38 changed files with 312 additions and 433 deletions

View File

@@ -6,10 +6,10 @@ Vendor order management endpoints.
import logging
from typing import Optional
from fastapi import APIRouter, Depends, Query
from fastapi import APIRouter, Depends, Query, Request, HTTPException
from sqlalchemy.orm import Session
from app.api.deps import get_current_user
from app.api.deps import get_current_vendor_api
from app.core.database import get_db
from middleware.vendor_context import require_vendor_context
from app.services.order_service import order_service
@@ -20,7 +20,7 @@ from models.schema.order import (
OrderUpdate
)
from models.database.user import User
from models.database.vendor import Vendor
from models.database.vendor import Vendor, VendorUser
router = APIRouter(prefix="/orders")
logger = logging.getLogger(__name__)
@@ -33,7 +33,7 @@ def get_vendor_orders(
status: Optional[str] = Query(None, description="Filter by order status"),
customer_id: Optional[int] = Query(None, description="Filter by customer"),
vendor: Vendor = Depends(require_vendor_context()),
current_user: User = Depends(get_current_user),
current_user: User = Depends(get_current_vendor_api),
db: Session = Depends(get_db),
):
"""
@@ -42,6 +42,8 @@ def get_vendor_orders(
Supports filtering by:
- status: Order status (pending, processing, shipped, delivered, cancelled)
- customer_id: Filter orders from specific customer
Requires Authorization header (API endpoint).
"""
orders, total = order_service.get_vendor_orders(
db=db,
@@ -64,10 +66,14 @@ def get_vendor_orders(
def get_order_details(
order_id: int,
vendor: Vendor = Depends(require_vendor_context()),
current_user: User = Depends(get_current_user),
current_user: User = Depends(get_current_vendor_api),
db: Session = Depends(get_db),
):
"""Get detailed order information including items and addresses."""
"""
Get detailed order information including items and addresses.
Requires Authorization header (API endpoint).
"""
order = order_service.get_order(
db=db,
vendor_id=vendor.id,
@@ -82,7 +88,7 @@ def update_order_status(
order_id: int,
order_update: OrderUpdate,
vendor: Vendor = Depends(require_vendor_context()),
current_user: User = Depends(get_current_user),
current_user: User = Depends(get_current_vendor_api),
db: Session = Depends(get_db),
):
"""
@@ -95,6 +101,8 @@ def update_order_status(
- delivered: Order delivered
- cancelled: Order cancelled
- refunded: Order refunded
Requires Authorization header (API endpoint).
"""
order = order_service.update_order_status(
db=db,