"""Modlog database models.""" from datetime import datetime from beanie import Document, PydanticObjectId from pydantic import BaseModel, Field from jarvis_core.db.utils import NowField, NanoField class Action(BaseModel): """Modlog embedded action document.""" action_type: str parent: PydanticObjectId orphaned: bool = False class Note(BaseModel): """Modlog embedded note document.""" admin: int content: str created_at: datetime = NowField() class Modlog(Document): """Modlog database object.""" user: int nanoid: str = NanoField() guild: int admin: int actions: list[Action] = Field(default_factory=list) notes: list[Note] = Field(default_factory=list) open: bool = True created_at: datetime = NowField