from fastapi import APIRouter

from src.config.shops_config import load_shops_config, update_shops_config, ShopsConfiguration
from src.data.model.schemas.contact import Contact
from src.mailing import mailing

router = APIRouter(prefix="/administration", tags=["administration"])


@router.get("",
            summary="List of shops configuration",
            operation_id="getShopConfig")
async def get_shop_config() -> ShopsConfiguration:
    return load_shops_config()


@router.post(
    "",
    summary="Updates shops configuration",
    operation_id="setShopConfig")
async def set_shop_config(config: ShopsConfiguration):
    return update_shops_config(config)




@router.post(
    "/contact",
    summary="Sends a contact query to specified contact person",
    operation_id="sendContactQuery")
def send_contact_query(contact: Contact):
    mailing.send_contact_query(contact)