from typing import List, Optional from pydantic import BaseModel, Field class CredentialBase(BaseModel): api_id: int = Field(..., ge=1) api_hash: str phone: Optional[str] = None username: Optional[str] = None bot_token: str channel_id: Optional[int] = None class CredentialCreate(CredentialBase): title: str = Field(..., min_length=2, max_length=64) class CredentialUpdate(BaseModel): title: Optional[str] = Field(None, min_length=2, max_length=64) api_id: Optional[int] = Field(None, ge=1) api_hash: Optional[str] = None phone: Optional[str] = None username: Optional[str] = None bot_token: Optional[str] = None channel_id: Optional[int] = None class CredentialRecord(CredentialBase): id: str title: str active: bool = False class CredentialsList(BaseModel): items: List[CredentialRecord] class EntriesPayload(BaseModel): items: List[str]