2021-10-18 12:34:45 +01:00
|
|
|
from typing import List
|
|
|
|
|
|
|
|
from . import db
|
|
|
|
from .models import Target
|
2022-12-13 20:01:05 +00:00
|
|
|
from loguru import logger
|
2021-10-18 12:34:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
async def get_targets(source_wallet: str) -> List[Target]:
|
|
|
|
rows = await db.fetchall(
|
|
|
|
"SELECT * FROM splitpayments.targets WHERE source = ?", (source_wallet,)
|
|
|
|
)
|
|
|
|
return [Target(**dict(row)) for row in rows]
|
|
|
|
|
|
|
|
|
|
|
|
async def set_targets(source_wallet: str, targets: List[Target]):
|
2022-12-13 20:01:05 +00:00
|
|
|
logger.debug(targets)
|
2021-10-18 12:34:45 +01:00
|
|
|
async with db.connect() as conn:
|
|
|
|
await conn.execute(
|
|
|
|
"DELETE FROM splitpayments.targets WHERE source = ?", (source_wallet,)
|
|
|
|
)
|
|
|
|
for target in targets:
|
|
|
|
await conn.execute(
|
|
|
|
"""
|
|
|
|
INSERT INTO splitpayments.targets
|
2022-12-13 20:01:05 +00:00
|
|
|
(source, wallet, percent, tag, alias)
|
|
|
|
VALUES (?, ?, ?, ?, ?)
|
2021-10-18 12:34:45 +01:00
|
|
|
""",
|
2022-12-13 20:01:05 +00:00
|
|
|
(source_wallet, target.wallet, target.percent, target.tag, target.alias),
|
2021-10-18 12:34:45 +01:00
|
|
|
)
|