5:from fastapi import APIRouter, Depends, File, HTTPException, Request, UploadFile 24:def _account_out(account: GmailAccount) -> dict: 45:@router.get("/accounts") 46:async def list_accounts(user: User = Depends(get_current_user), 47: db: AsyncSession = Depends(get_db)): 53:@router.post("/accounts/connect") 54:async def connect_start(user: User = Depends(get_current_user), 55: db: AsyncSession = Depends(get_db)): 66:@router.post("/accounts/{account_id}/test") 67:async def test_account(account_id: int, user: User = Depends(get_current_user), 68: db: AsyncSession = Depends(get_db)): 97:@router.post("/accounts/{account_id}/reauthorize") 98:async def reauthorize(account_id: int, user: User = Depends(get_current_user), 99: db: AsyncSession = Depends(get_db)): 120:@router.post("/accounts/{account_id}/revoke") 121:async def disconnect_account(account_id: int, user: User = Depends(get_current_user), 122: db: AsyncSession = Depends(get_db), request: Request = None): 145:@router.delete("/accounts/{account_id}") 146:async def delete_account(account_id: int, user: User = Depends(get_current_user), 147: db: AsyncSession = Depends(get_db), request: Request = None): 151:@router.post("/accounts/clear-all") 152:async def clear_all_accounts(user: User = Depends(get_current_user), 153: db: AsyncSession = Depends(get_db), request: Request = None): 176:@router.post("/accounts/import-config") 177:async def import_client_config(file: UploadFile = File(...), 178: user: User = Depends(get_current_user), 179: db: AsyncSession = Depends(get_db), request: Request = None): 208:@router.patch("/accounts/{account_id}") 209:async def update_account(account_id: int, payload: AccountUpdate, 210: user: User = Depends(get_current_user), 211: db: AsyncSession = Depends(get_db)): ===== test_send 9:from fastapi import APIRouter, Depends, HTTPException 27:class TestSendIn(BaseModel): 38:@router.post("/send") 39:async def send_test(payload: TestSendIn, db: AsyncSession = Depends(get_db), 40: user: User = Depends(get_current_user), 41: _: None = Depends(require_csrf)): 73: class _FakeRecipient: 120: def _real_send(): 161:def _clip(s: str) -> str: 165:def client_method(account: GmailAccount) -> str: 169:@router.get("/accounts") 170:async def test_accounts(db: AsyncSession = Depends(get_db), 171: user: User = Depends(get_current_user)): 181:@router.get("/templates") 182:async def test_templates(db: AsyncSession = Depends(get_db), 183: user: User = Depends(get_current_user)):