Files

27 lines
1.1 KiB
Python
Executable File

from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select
from app.models.social import ServiceProvider, ModerationStatus
from app.schemas.social import ServiceProviderCreate
class SocialService:
@staticmethod
async def create_service_provider(db: AsyncSession, schema: ServiceProviderCreate, user_id: int) -> ServiceProvider:
# 1. Pydantic modell átalakítása SQLAlchemy modellé
# A **schema.model_dump() kicsomagolja a mezőket (name, address, source)
db_provider = ServiceProvider(
**schema.model_dump(),
added_by_user_id=user_id,
status=ModerationStatus.PENDING # KRITIKUS: Alapértelmezetten moderációra vár
)
# 2. Mentés az adatbázisba
db.add(db_provider)
await db.commit()
await db.refresh(db_provider) # Visszakérjük az ID-t és a timestamp-et
return db_provider
@staticmethod
async def get_all_providers(db: AsyncSession):
# Teszteléshez: listázzuk ki az összeset
result = await db.execute(select(ServiceProvider))
return result.scalars().all()