Schema defining approval routes for chat provider configs (Telegram/Slack/WhatsApp).
import uuid
from datetime import datetime
from typing import Any, Literal
from pydantic import ConfigDict, Field, field_validator, model_validator
from app.core.schemas import APIModel
ChatProviderType = Literal["telegram", "whatsapp_local", "slack"]
ChatProviderApprovalRouteType = Literal["chat", "chat_provider", "workspace_member"]
class ChatProviderApprovalRoute(APIModel):
route_type: ChatProviderApprovalRouteType
connection_id: uuid.UUID | None = None
user_id: uuid.UUID | None = None
external_thread_id: str = Field(default="", max_length=255)
display_name: str = Field(default="", max_length=255)
@field_validator("external_thread_id", "display_name")
@classmethod
def normalize_text(cls, value: str) -> str:
return value.strip()
@model_va
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key