29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class AddonExampleDocument(BaseModel):
|
|
model_config = ConfigDict(extra="forbid")
|
|
|
|
id: str = Field(..., description="Stable example identifier")
|
|
name: str = Field(..., description="Display name")
|
|
description: str = Field(default="", description="Short explanation")
|
|
category: str = Field(default="custom", description="Example category")
|
|
code: str = Field(..., description="Addon source code")
|
|
source_url: str | None = Field(default=None, description="Reference URL")
|
|
built_in: bool = Field(default=False, description="Provided by thePlug")
|
|
created_at: datetime | None = None
|
|
updated_at: datetime | None = None
|
|
|
|
|
|
class AddonExampleCreateInput(BaseModel):
|
|
model_config = ConfigDict(extra="forbid")
|
|
|
|
id: str = Field(..., description="Stable example identifier")
|
|
name: str = Field(..., description="Display name")
|
|
description: str = Field(default="", description="Short explanation")
|
|
category: str = Field(default="custom", description="Example category")
|
|
code: str = Field(..., description="Addon source code")
|
|
source_url: str | None = Field(default=None, description="Reference URL")
|