from typing import List from . import db from .models import Target async def get_targets(source_wallet: str) -> List[Target]: rows = await db.fetchall("SELECT * FROM targets WHERE source = ?", (source_wallet,)) return [Target(**dict(row)) for row in rows] async def set_targets(source_wallet: str, targets: List[Target]): async with db.connect() as conn: await conn.execute("DELETE FROM targets WHERE source = ?", (source_wallet,)) for target in targets: await conn.execute( """ INSERT INTO targets (source, wallet, percent, alias) VALUES (?, ?, ?, ?) """, (source_wallet, target.wallet, target.percent, target.alias), )