26 lines
868 B
Python
Executable File
26 lines
868 B
Python
Executable File
from pydantic import BaseModel, ConfigDict
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
from app.models.social import ModerationStatus, SourceType
|
|
|
|
# Közös alapmezők
|
|
class ServiceProviderBase(BaseModel):
|
|
name: str
|
|
address: Optional[str] = None
|
|
source: SourceType = SourceType.manual
|
|
|
|
# Amit a kliens küld (Létrehozás)
|
|
class ServiceProviderCreate(ServiceProviderBase):
|
|
pass
|
|
# A status-t NEM engedjük itt beállítani, azt a Service réteg kezeli!
|
|
|
|
# Amit a kliens visszakap (Válasz)
|
|
class ServiceProviderResponse(ServiceProviderBase):
|
|
id: int
|
|
status: ModerationStatus
|
|
evidence_image_path: Optional[str] = None
|
|
added_by_user_id: Optional[int] = None
|
|
created_at: datetime
|
|
|
|
# Ez biztosítja, hogy az SQLAlchemy ORM objektumot át tudja alakítani JSON-né
|
|
model_config = ConfigDict(from_attributes=True) |