From 1b29eb9f75062d0bc0b6b2d21c042053a210fc7f Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Thu, 25 Nov 2021 16:24:11 +0000 Subject: [PATCH] fix lnaddress --- lnbits/extensions/lnaddress/cloudflare.py | 5 ++++- .../{config.json.example => config.json} | 0 lnbits/extensions/lnaddress/crud.py | 10 ++++------ lnbits/extensions/lnaddress/models.py | 4 ++-- lnbits/extensions/lnaddress/views.py | 4 ++-- lnbits/extensions/lnaddress/views_api.py | 17 ++++++++--------- 6 files changed, 20 insertions(+), 20 deletions(-) rename lnbits/extensions/lnaddress/{config.json.example => config.json} (100%) diff --git a/lnbits/extensions/lnaddress/cloudflare.py b/lnbits/extensions/lnaddress/cloudflare.py index 3f3ed1711..1a05c52a8 100644 --- a/lnbits/extensions/lnaddress/cloudflare.py +++ b/lnbits/extensions/lnaddress/cloudflare.py @@ -1,5 +1,8 @@ +import json + +import httpx + from lnbits.extensions.lnaddress.models import Domains -import httpx, json async def cloudflare_create_record( diff --git a/lnbits/extensions/lnaddress/config.json.example b/lnbits/extensions/lnaddress/config.json similarity index 100% rename from lnbits/extensions/lnaddress/config.json.example rename to lnbits/extensions/lnaddress/config.json diff --git a/lnbits/extensions/lnaddress/crud.py b/lnbits/extensions/lnaddress/crud.py index 36c0d54e4..5479757fd 100644 --- a/lnbits/extensions/lnaddress/crud.py +++ b/lnbits/extensions/lnaddress/crud.py @@ -125,10 +125,9 @@ async def get_addresses(wallet_ids: Union[str, List[str]]) -> List[Addresses]: return [Addresses(**row) for row in rows] async def set_address_paid(payment_hash: str) -> Addresses: - _address = await get_address(payment_hash) - address = _address._asdict() + address = await get_address(payment_hash) - if address["paid"] == False: + if address.paid == False: await db.execute( """ UPDATE lnaddress.address @@ -143,10 +142,9 @@ async def set_address_paid(payment_hash: str) -> Addresses: return new_address async def set_address_renewed(address_id: str, duration: int): - _address = await get_address(address_id) - address = _address._asdict() + address = await get_address(address_id) - extend_duration = int(address["duration"]) + duration + extend_duration = int(address.duration) + duration await db.execute( """ UPDATE lnaddress.address diff --git a/lnbits/extensions/lnaddress/models.py b/lnbits/extensions/lnaddress/models.py index e0ff9fa1d..0551fc914 100644 --- a/lnbits/extensions/lnaddress/models.py +++ b/lnbits/extensions/lnaddress/models.py @@ -20,7 +20,7 @@ class Domains(BaseModel): domain: str cf_token: str cf_zone_id: str - webhook: str + webhook: Optional[str] cost: int time: int @@ -37,7 +37,7 @@ class Addresses(BaseModel): id: str wallet: str domain: str - email: str + email: Optional[str] username: str wallet_key: str wallet_endpoint: str diff --git a/lnbits/extensions/lnaddress/views.py b/lnbits/extensions/lnaddress/views.py index 9f6542df1..312b60cd9 100644 --- a/lnbits/extensions/lnaddress/views.py +++ b/lnbits/extensions/lnaddress/views.py @@ -20,7 +20,7 @@ templates = Jinja2Templates(directory="templates") async def index(request: Request, user: User = Depends(check_user_exists)): return lnaddress_renderer().TemplateResponse("lnaddress/index.html", {"request": request, "user": user.dict()}) -@lnaddress_ext.get("/{domain_id}") +@lnaddress_ext.get("/{domain_id}", response_class=HTMLResponse) async def display(domain_id, request: Request): domain = await get_domain(domain_id) if not domain: @@ -28,7 +28,7 @@ async def display(domain_id, request: Request): status_code=HTTPStatus.NOT_FOUND, detail="Domain does not exist." ) - await purge_addresses(domain_id, response_class=HTMLResponse) + await purge_addresses(domain_id) wallet = await get_wallet(domain.wallet) diff --git a/lnbits/extensions/lnaddress/views_api.py b/lnbits/extensions/lnaddress/views_api.py index 38cd723ef..6c0675418 100644 --- a/lnbits/extensions/lnaddress/views_api.py +++ b/lnbits/extensions/lnaddress/views_api.py @@ -63,8 +63,7 @@ async def api_domain_create(request: Request,data: CreateDomain, domain_id=None, else: domain = await create_domain(data=data) - root_url = urlparse(request.url.path).netloc - #root_url = request.url_root + root_url = urlparse(str(request.url)).netloc cf_response = await cloudflare_create_record( domain=domain, @@ -113,6 +112,12 @@ async def api_addresses( return [address.dict() for address in await get_addresses(wallet_ids)] +@lnaddress_ext.get("/api/v1/address/availabity/{domain_id}/{username}") +async def api_check_available_username(domain_id, username): + used_username = await check_address_available(username, domain_id) + + return used_username + @lnaddress_ext.get("/api/v1/address/{domain}/{username}/{wallet_key}") async def api_get_user_info(username, wallet_key, domain): address = await get_address_by_username(username, domain) @@ -131,12 +136,6 @@ async def api_get_user_info(username, wallet_key, domain): return address.dict() -@lnaddress_ext.get("/api/v1/address/availabity/{domain_id}/{username}") -async def api_check_available_username(domain_id, username): - used_username = await check_address_available(username, domain_id) - - return used_username - @lnaddress_ext.post("/api/v1/address/{domain_id}") @lnaddress_ext.put("/api/v1/address/{domain_id}/{user}/{wallet_key}") async def api_lnaddress_make_address(domain_id, data: CreateAddress, user=None, wallet_key=None): @@ -149,7 +148,7 @@ async def api_lnaddress_make_address(domain_id, data: CreateAddress, user=None, detail="The domain does not exist.", ) - domain_cost = domain[6] + domain_cost = domain.cost sats = data.sats ## FAILSAFE FOR CREATING ADDRESSES BY API