Law/app/schemas/admin.py
2026-02-22 10:57:49 +03:00

66 lines
1.5 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional, Any
class AdminLogin(BaseModel):
email: str
password: str
class AdminToken(BaseModel):
access_token: str
token_type: str = "Bearer"
class QuoteUpsert(BaseModel):
text: str
author: str
source: Optional[str] = None
is_active: bool = True
sort_order: int = 0
class TopicUpsert(BaseModel):
code: str
name: str
enabled: bool = True
sort_order: int = 0
class StatusUpsert(BaseModel):
code: str
name: str
enabled: bool = True
sort_order: int = 0
is_terminal: bool = False
class FormFieldUpsert(BaseModel):
key: str
label: str
type: str
required: bool = False
enabled: bool = True
sort_order: int = 0
options: Optional[dict] = None
class RequestAdminCreate(BaseModel):
track_number: Optional[str] = None
client_name: str
client_phone: str
topic_code: Optional[str] = None
status_code: str = "NEW"
description: Optional[str] = None
extra_fields: dict = Field(default_factory=dict)
assigned_lawyer_id: Optional[str] = None
total_attachments_bytes: int = 0
class RequestAdminPatch(BaseModel):
track_number: Optional[str] = None
client_name: Optional[str] = None
client_phone: Optional[str] = None
topic_code: Optional[str] = None
status_code: Optional[str] = None
description: Optional[str] = None
extra_fields: Optional[dict] = None
assigned_lawyer_id: Optional[str] = None
total_attachments_bytes: Optional[int] = None