fix missing username
This commit is contained in:
parent
8e5ed7d23d
commit
11a9d02f93
1 changed files with 11 additions and 12 deletions
21
crud.py
21
crud.py
|
|
@ -22,14 +22,13 @@ async def check_lnaddress_update(username: str, id: str) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def check_lnaddress_exists(username: str) -> bool:
|
async def check_lnaddress_not_exists(username: str) -> bool:
|
||||||
# check if lnaddress username exists in the database when creating a new entry
|
# check if lnaddress username exists in the database when creating a new entry
|
||||||
row = await db.fetchall(
|
row = await db.fetchall(
|
||||||
"SELECT username FROM lnurlp.pay_links WHERE username = ?", (username,)
|
"SELECT username FROM lnurlp.pay_links WHERE username = ?", (username,)
|
||||||
)
|
)
|
||||||
if row:
|
if row:
|
||||||
assert False, "Username already exists. Try a different one."
|
assert False, "Username already exists. Try a different one."
|
||||||
return
|
|
||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
@ -43,8 +42,10 @@ async def check_lnaddress_format(username: str) -> bool:
|
||||||
|
|
||||||
|
|
||||||
async def create_pay_link(data: CreatePayLinkData, wallet_id: str) -> PayLink:
|
async def create_pay_link(data: CreatePayLinkData, wallet_id: str) -> PayLink:
|
||||||
|
if data.username:
|
||||||
await check_lnaddress_format(data.username)
|
await check_lnaddress_format(data.username)
|
||||||
await check_lnaddress_exists(data.username)
|
await check_lnaddress_not_exists(data.username)
|
||||||
|
|
||||||
link_id = urlsafe_short_hash()[:6]
|
link_id = urlsafe_short_hash()[:6]
|
||||||
|
|
||||||
result = await db.execute(
|
result = await db.execute(
|
||||||
|
|
@ -121,12 +122,10 @@ async def get_pay_links(wallet_ids: Union[str, List[str]]) -> List[PayLink]:
|
||||||
return [PayLink.from_row(row) for row in rows]
|
return [PayLink.from_row(row) for row in rows]
|
||||||
|
|
||||||
|
|
||||||
async def update_pay_link(link_id: int, **kwargs) -> Optional[PayLink]:
|
async def update_pay_link(link_id: str, **kwargs) -> Optional[PayLink]:
|
||||||
for field in kwargs.items():
|
if "lnaddress" in kwargs:
|
||||||
if field[0] == "lnaddress":
|
await check_lnaddress_format(kwargs["lnaddress"])
|
||||||
value = field[1]
|
await check_lnaddress_update(kwargs["lnaddress"], link_id)
|
||||||
await check_lnaddress_format(value)
|
|
||||||
await check_lnaddress_update(value, str(link_id))
|
|
||||||
|
|
||||||
q = ", ".join([f"{field[0]} = ?" for field in kwargs.items()])
|
q = ", ".join([f"{field[0]} = ?" for field in kwargs.items()])
|
||||||
await db.execute(
|
await db.execute(
|
||||||
|
|
@ -136,7 +135,7 @@ async def update_pay_link(link_id: int, **kwargs) -> Optional[PayLink]:
|
||||||
return PayLink.from_row(row) if row else None
|
return PayLink.from_row(row) if row else None
|
||||||
|
|
||||||
|
|
||||||
async def increment_pay_link(link_id: int, **kwargs) -> Optional[PayLink]:
|
async def increment_pay_link(link_id: str, **kwargs) -> Optional[PayLink]:
|
||||||
q = ", ".join([f"{field[0]} = {field[0]} + ?" for field in kwargs.items()])
|
q = ", ".join([f"{field[0]} = {field[0]} + ?" for field in kwargs.items()])
|
||||||
await db.execute(
|
await db.execute(
|
||||||
f"UPDATE lnurlp.pay_links SET {q} WHERE id = ?", (*kwargs.values(), link_id)
|
f"UPDATE lnurlp.pay_links SET {q} WHERE id = ?", (*kwargs.values(), link_id)
|
||||||
|
|
@ -145,5 +144,5 @@ async def increment_pay_link(link_id: int, **kwargs) -> Optional[PayLink]:
|
||||||
return PayLink.from_row(row) if row else None
|
return PayLink.from_row(row) if row else None
|
||||||
|
|
||||||
|
|
||||||
async def delete_pay_link(link_id: int) -> None:
|
async def delete_pay_link(link_id: str) -> None:
|
||||||
await db.execute("DELETE FROM lnurlp.pay_links WHERE id = ?", (link_id,))
|
await db.execute("DELETE FROM lnurlp.pay_links WHERE id = ?", (link_id,))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue