2024-09-02 22:56:08 +02:00

53 lines
1.2 KiB
Python

from pydantic import BaseModel, EmailStr
from pydantic_mongo import AbstractRepository, ObjectIdField
from datetime import datetime, date
class Event(BaseModel):
id: ObjectIdField = None
name: str
place: str
zip_code: str
city: str
country: str
status: int = 0
latitude: float = 0.0
longitude: float = 0.0
organizers: list[str] = []
start_date: datetime | None = None
end_date: datetime | None = None
created_at: datetime = datetime.today()
updated_at: datetime | None = None
deleted_at: datetime | None = None
disabled_at: datetime | None = None
class EventOut(BaseModel):
id: ObjectIdField = None
name: str
place: str
zip_code: str
city: str
country: str
status: int = 0
start_date: datetime | None = None
end_date: datetime | None = None
class EventIn(BaseModel):
name: str
place: str
zip_code: str
city: str
country: str
status: int = 0
organizers: list[str] = []
start_date: datetime | None = None
end_date: datetime | None = None
latitude: float = 0.0
longitude: float = 0.0
class EventIDS(BaseModel):
ids: list[str]
class EventRepository(AbstractRepository[Event]):
class Meta:
collection_name = "events"