# Import the ResponseModel
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from starlette import status
from starlette.requests import Request

from src.apps.base.schemas.response_model import ResponseModel
from src.apps.match.controller.wine_match_process import proceed
from src.apps.match.schemas.wine_db import RetailersRequest
from src.apps.user.models.user_model import Users
from src.core.dependencies import get_db
from src.utils.guard import AuthGuard, get_current_user

router = APIRouter()


@router.post("/process", response_model=ResponseModel, summary="Get all users")
async def process(
    payload: RetailersRequest,
    request: Request,
    db: Session = Depends(get_db),
    # current_user: Users = Depends(get_current_user),
):
    response = await proceed(db, payload=payload, request=request)
    return ResponseModel(data=response, status_code=status.HTTP_200_OK, message="Data processed successfully")
