From 9db9594a48be4226e362ae28e0563824b20cc7d3 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 4 Jan 2023 18:11:53 +0000 Subject: [PATCH 1/2] swaps incremental id for small uuid for pos/atm --- lnbits/extensions/lnurldevice/crud.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lnbits/extensions/lnurldevice/crud.py b/lnbits/extensions/lnurldevice/crud.py index 184518484..1bd8aa6d1 100644 --- a/lnbits/extensions/lnurldevice/crud.py +++ b/lnbits/extensions/lnurldevice/crud.py @@ -1,5 +1,7 @@ from typing import List, Optional, Union +import shortuuid + from lnbits.helpers import urlsafe_short_hash from . import db @@ -12,7 +14,7 @@ async def create_lnurldevice( data: createLnurldevice, ) -> lnurldevices: if data.device == "pos" or data.device == "atm": - lnurldevice_id = str(await get_lnurldeviceposcount()) + lnurldevice_id = shortuuid.uuid()[:8] else: lnurldevice_id = urlsafe_short_hash() lnurldevice_key = urlsafe_short_hash() @@ -82,17 +84,6 @@ async def update_lnurldevice(lnurldevice_id: str, **kwargs) -> Optional[lnurldev return lnurldevices(**row) if row else None -async def get_lnurldeviceposcount() -> int: - row = await db.fetchall( - "SELECT * FROM lnurldevice.lnurldevices WHERE device = ? OR device = ?", - ( - "pos", - "atm", - ), - ) - return len(row) + 1 - - async def get_lnurldevice(lnurldevice_id: str) -> lnurldevices: row = await db.fetchone( "SELECT * FROM lnurldevice.lnurldevices WHERE id = ?", (lnurldevice_id,) From bb4ab7ab9225ae8fed8a1de8e9efebfb6701d000 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 4 Jan 2023 18:16:04 +0000 Subject: [PATCH 2/2] can in fact be smaller, as for uniqueness, not security --- lnbits/extensions/lnurldevice/crud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lnbits/extensions/lnurldevice/crud.py b/lnbits/extensions/lnurldevice/crud.py index 1bd8aa6d1..423c6a469 100644 --- a/lnbits/extensions/lnurldevice/crud.py +++ b/lnbits/extensions/lnurldevice/crud.py @@ -14,7 +14,7 @@ async def create_lnurldevice( data: createLnurldevice, ) -> lnurldevices: if data.device == "pos" or data.device == "atm": - lnurldevice_id = shortuuid.uuid()[:8] + lnurldevice_id = shortuuid.uuid()[:5] else: lnurldevice_id = urlsafe_short_hash() lnurldevice_key = urlsafe_short_hash()