fix lnaddress

This commit is contained in:
Tiago vasconcelos 2021-11-25 16:24:11 +00:00
parent 3b80ff5171
commit 1b29eb9f75
6 changed files with 20 additions and 20 deletions

View File

@ -1,5 +1,8 @@
import json
import httpx
from lnbits.extensions.lnaddress.models import Domains from lnbits.extensions.lnaddress.models import Domains
import httpx, json
async def cloudflare_create_record( async def cloudflare_create_record(

View File

@ -125,10 +125,9 @@ async def get_addresses(wallet_ids: Union[str, List[str]]) -> List[Addresses]:
return [Addresses(**row) for row in rows] return [Addresses(**row) for row in rows]
async def set_address_paid(payment_hash: str) -> Addresses: async def set_address_paid(payment_hash: str) -> Addresses:
_address = await get_address(payment_hash) address = await get_address(payment_hash)
address = _address._asdict()
if address["paid"] == False: if address.paid == False:
await db.execute( await db.execute(
""" """
UPDATE lnaddress.address UPDATE lnaddress.address
@ -143,10 +142,9 @@ async def set_address_paid(payment_hash: str) -> Addresses:
return new_address return new_address
async def set_address_renewed(address_id: str, duration: int): async def set_address_renewed(address_id: str, duration: int):
_address = await get_address(address_id) address = await get_address(address_id)
address = _address._asdict()
extend_duration = int(address["duration"]) + duration extend_duration = int(address.duration) + duration
await db.execute( await db.execute(
""" """
UPDATE lnaddress.address UPDATE lnaddress.address

View File

@ -20,7 +20,7 @@ class Domains(BaseModel):
domain: str domain: str
cf_token: str cf_token: str
cf_zone_id: str cf_zone_id: str
webhook: str webhook: Optional[str]
cost: int cost: int
time: int time: int
@ -37,7 +37,7 @@ class Addresses(BaseModel):
id: str id: str
wallet: str wallet: str
domain: str domain: str
email: str email: Optional[str]
username: str username: str
wallet_key: str wallet_key: str
wallet_endpoint: str wallet_endpoint: str

View File

@ -20,7 +20,7 @@ templates = Jinja2Templates(directory="templates")
async def index(request: Request, user: User = Depends(check_user_exists)): async def index(request: Request, user: User = Depends(check_user_exists)):
return lnaddress_renderer().TemplateResponse("lnaddress/index.html", {"request": request, "user": user.dict()}) 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): async def display(domain_id, request: Request):
domain = await get_domain(domain_id) domain = await get_domain(domain_id)
if not domain: if not domain:
@ -28,7 +28,7 @@ async def display(domain_id, request: Request):
status_code=HTTPStatus.NOT_FOUND, detail="Domain does not exist." 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) wallet = await get_wallet(domain.wallet)

View File

@ -63,8 +63,7 @@ async def api_domain_create(request: Request,data: CreateDomain, domain_id=None,
else: else:
domain = await create_domain(data=data) domain = await create_domain(data=data)
root_url = urlparse(request.url.path).netloc root_url = urlparse(str(request.url)).netloc
#root_url = request.url_root
cf_response = await cloudflare_create_record( cf_response = await cloudflare_create_record(
domain=domain, domain=domain,
@ -113,6 +112,12 @@ async def api_addresses(
return [address.dict() for address in await get_addresses(wallet_ids)] 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}") @lnaddress_ext.get("/api/v1/address/{domain}/{username}/{wallet_key}")
async def api_get_user_info(username, wallet_key, domain): async def api_get_user_info(username, wallet_key, domain):
address = await get_address_by_username(username, 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() 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.post("/api/v1/address/{domain_id}")
@lnaddress_ext.put("/api/v1/address/{domain_id}/{user}/{wallet_key}") @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): 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.", detail="The domain does not exist.",
) )
domain_cost = domain[6] domain_cost = domain.cost
sats = data.sats sats = data.sats
## FAILSAFE FOR CREATING ADDRESSES BY API ## FAILSAFE FOR CREATING ADDRESSES BY API