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 status: int = 0 participants: list[str] = [] organizers: list[str] = [] interested: 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 status: int = 0 start_date: datetime | None = None end_date: datetime | None = None class EventIn(BaseModel): name: str place: str status: int = 0 start_date: datetime | None = None end_date: datetime | None = None class EventIDS(BaseModel): ids: list[str] class EventRepository(AbstractRepository[Event]): class Meta: collection_name = "events"