Source code for kittycad.models.zookeeper_edit_patch_file

from typing import Literal, Union

from pydantic import Field, RootModel
from typing_extensions import Annotated

from .base import KittyCadBaseModel


[docs] class OptionCreated(KittyCadBaseModel): """The file was created by Zookeeper.""" contents: str path: str status: Literal["created"] = "created"
[docs] class OptionModified(KittyCadBaseModel): """The file was modified by Zookeeper.""" diff: str path: str status: Literal["modified"] = "modified"
[docs] class OptionDeleted(KittyCadBaseModel): """The file was deleted by Zookeeper.""" path: str previous_contents: str status: Literal["deleted"] = "deleted"
ZookeeperEditPatchFile = RootModel[ Annotated[ Union[ OptionCreated, OptionModified, OptionDeleted, ], Field(discriminator="status"), ] ]