import json
from datetime import datetime
from typing import Optional, List

from fastapi import APIRouter, Query, Depends, Path, UploadFile, File, HTTPException, Form, Body
from sqlalchemy.ext.asyncio import AsyncSession
from starlette import status

from src.cart.service import CartService
from src.database import get_db
from src.seo.service import SeoService

router = APIRouter(prefix="/seo", tags=["seo"])

@router.put("/product", tags=["seo"])
async def seo_product(db: AsyncSession = Depends(get_db)):
    return await SeoService.generate_seo_products(db=db)

@router.put("/category", tags=["seo"])
async def seo_category(db: AsyncSession = Depends(get_db)):
    return await SeoService.generate_seo_category(db=db)

@router.put("/store", tags=["seo"])
async def seo_store(db: AsyncSession = Depends(get_db)):
    return await SeoService.generate_seo_store(db=db)

@router.put("/manufacturer", tags=["seo"])
async def seo_manufacturer(db: AsyncSession = Depends(get_db)):
    return await SeoService.generate_seo_manufacturer(db=db)