from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.ext.asyncio import AsyncSession
from typing import List

from app.core.database import get_db
from app.schemas.social import ServiceProviderCreate, ServiceProviderResponse
from app.services.social_service import SocialService

router = APIRouter()

@router.post("/", response_model=ServiceProviderResponse, status_code=status.HTTP_201_CREATED)
async def create_provider(
    provider: ServiceProviderCreate,
    db: AsyncSession = Depends(get_db),
    # TODO: Később ezt a 'current_user' dependency-ből szedjük ki
    user_id: int = 1 
):
    """
    Új szolgáltató beküldése.
    Automatikusan 'PENDING' státuszba kerül.
    """
    return await SocialService.create_service_provider(db, provider, user_id)

@router.get("/", response_model=List[ServiceProviderResponse])
async def list_providers(db: AsyncSession = Depends(get_db)):
    """
    Összes szolgáltató listázása (Debug célra).
    """
    return await SocialService.get_all_providers(db)