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()