41 lines
929 B
Python
41 lines
929 B
Python
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]
|