added conn

This commit is contained in:
ben 2023-01-12 22:52:46 +00:00
parent f97326bed0
commit ca4134eb02
2 changed files with 16 additions and 21 deletions

View file

@ -9,7 +9,7 @@ from lnbits.db import COCKROACH, POSTGRES, Connection
from lnbits.settings import AdminSettings, EditableSettings, SuperSettings, settings from lnbits.settings import AdminSettings, EditableSettings, SuperSettings, settings
from . import db from . import db
from .models import BalanceCheck, Payment, TinyURL, User, Wallet, TinyURL from .models import BalanceCheck, Payment, TinyURL, User, Wallet
# accounts # accounts
# -------- # --------
@ -626,36 +626,30 @@ async def create_admin_settings(super_user: str, new_settings: dict):
# ------- # -------
async def create_tinyurl(domain: str): async def create_tinyurl(domain: str, conn: Optional[Connection] = None):
tinyurl_id = uuid4().hex[:8] tinyurl_id = uuid4().hex[:8]
await db.execute( await (conn or db).execute(
""" f"INSERT INTO tiny_url (id, url) VALUES (?, ?)",
INSERT INTO tiny_url (id, url) VALUES (?, ?)
""",
(tinyurl_id, domain), (tinyurl_id, domain),
) )
return await get_tinyurl(tinyurl_id) return await get_tinyurl(tinyurl_id)
async def get_tinyurl(tinyurl_id: str) -> Optional[TinyURL]: async def get_tinyurl(
row = await db.fetchone( tinyurl_id: str, conn: Optional[Connection] = None
""" ) -> Optional[TinyURL]:
SELECT * row = await (conn or db).fetchone(
FROM tiny_url f"SELECT * FROM tiny_url WHERE id = ?",
WHERE id = ?
""",
(tinyurl_id), (tinyurl_id),
) )
return TinyURL.from_row(row) if row else None return TinyURL.from_row(row) if row else None
async def get_tinyurl_by_url(url: str) -> Optional[TinyURL]: async def get_tinyurl_by_url(
row = await db.fetchone( url: str, conn: Optional[Connection] = None
""" ) -> Optional[TinyURL]:
SELECT * row = await (conn or db).fetchone(
FROM tiny_url f"SELECT * FROM tiny_url WHERE url = ?",
WHERE url = ?
""",
(url), (url),
) )
return TinyURL.from_row(row) if row else None return TinyURL.from_row(row) if row else None

View file

@ -721,6 +721,7 @@ async def api_create_tinyurl(url: str):
return tinyurl return tinyurl
return await create_tinyurl(url) return await create_tinyurl(url)
@core_app.get("/api/v1/tinyurl/{tinyurl_id}") @core_app.get("/api/v1/tinyurl/{tinyurl_id}")
async def api_get_tinyurl(tinyurl_id: str): async def api_get_tinyurl(tinyurl_id: str):
return await get_tinyurl(tinyurl_id) return await get_tinyurl(tinyurl_id)