from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from src.core.database import get_db
from src.apps.auth.utils.auth import get_current_merchant
from src.apps.settings import services
from src.apps.settings.schemas.vt import VTSettingsResponse, VTSettingsUpdate

router = APIRouter()


@router.get("", response_model=VTSettingsResponse)
async def get_vt_settings(
    current_merchant=Depends(get_current_merchant),
    db: Session = Depends(get_db),
):
    return services.get_vt_settings(current_merchant.id, db)


@router.put("", response_model=VTSettingsResponse)
async def update_vt_settings(
    data: VTSettingsUpdate,
    current_merchant=Depends(get_current_merchant),
    db: Session = Depends(get_db),
):
    result = services.update_vt_settings(
        data.model_dump(exclude_none=True), current_merchant.id, db
    )
    db.commit()
    return result
