diff --git a/lnbits/extensions/nostrnip5/crud.py b/lnbits/extensions/nostrnip5/crud.py index fe71b981f..66b9840b3 100644 --- a/lnbits/extensions/nostrnip5/crud.py +++ b/lnbits/extensions/nostrnip5/crud.py @@ -3,7 +3,7 @@ from typing import List, Optional, Union from lnbits.helpers import urlsafe_short_hash from . import db -from .models import Address, CreateAddressData, CreateDomainData, Domain +from .models import Address, CreateAddressData, CreateDomainData, Domain, EditDomainData async def get_domain(domain_id: str) -> Optional[Domain]: @@ -170,6 +170,26 @@ async def create_address_internal(domain_id: str, data: CreateAddressData) -> Ad return address +async def update_domain_internal(wallet_id: str, data: EditDomainData) -> Domain: + if data.currency != "Satoshis": + amount = data.amount * 100 + else: + amount = data.amount + print(data) + await db.execute( + """ + UPDATE nostrnip5.domains + SET amount = ?, currency = ? + WHERE id = ? + """, + (int(amount), data.currency, data.id), + ) + + domain = await get_domain(data.id) + assert domain, "Domain couldn't be updated" + return domain + + async def create_domain_internal(wallet_id: str, data: CreateDomainData) -> Domain: domain_id = urlsafe_short_hash() diff --git a/lnbits/extensions/nostrnip5/models.py b/lnbits/extensions/nostrnip5/models.py index e02f2909a..5abbf1281 100644 --- a/lnbits/extensions/nostrnip5/models.py +++ b/lnbits/extensions/nostrnip5/models.py @@ -24,6 +24,16 @@ class CreateDomainData(BaseModel): domain: str +class EditDomainData(BaseModel): + id: str + currency: str + amount: float = Query(..., ge=0.01) + + @classmethod + def from_row(cls, row: Row) -> "EditDomainData": + return cls(**dict(row)) + + class Domain(BaseModel): id: str wallet: str diff --git a/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html b/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html index 6b805cccf..8ebaa5027 100644 --- a/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html +++ b/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html @@ -73,6 +73,14 @@ :color="($q.dark.isActive) ? 'grey-7' : 'grey-5'" @click="deleteDomain(props.row.id)" > + {{ col.value }} @@ -226,6 +234,39 @@ + + + + + + +
+ Update Amount + Cancel +
+
+
+
+