41 lines
929 B
Python
Raw Permalink Normal View History

2025-12-04 09:52:39 +08:00
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]