42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class FolderBase(BaseModel):
|
|
title: str = Field(..., description="Folder title", min_length=1, max_length=255)
|
|
description: str | None = Field(None, description="Folder description")
|
|
|
|
|
|
class FolderCreate(FolderBase):
|
|
"""Request model for creating a folder"""
|
|
|
|
|
|
class FolderUpdate(BaseModel):
|
|
"""Request model for updating a folder"""
|
|
|
|
title: str | None = Field(None, description="Folder title", min_length=1, max_length=255)
|
|
description: str | None = Field(None, description="Folder description")
|
|
|
|
|
|
class Folder(FolderBase):
|
|
"""Response model for a folder"""
|
|
|
|
folder_id: str
|
|
organization_id: str
|
|
workflow_count: int = Field(0, description="Number of workflows in this folder")
|
|
created_at: datetime
|
|
modified_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class UpdateWorkflowFolderRequest(BaseModel):
|
|
"""Request model for updating a workflow's folder assignment"""
|
|
|
|
folder_id: str | None = Field(
|
|
None,
|
|
description="Folder ID to assign workflow to. Set to null to remove from folder.",
|
|
)
|