diff --git a/lnbits/extensions/nostrnip5/crud.py b/lnbits/extensions/nostrnip5/crud.py index 27dffa98..b7c019f7 100644 --- a/lnbits/extensions/nostrnip5/crud.py +++ b/lnbits/extensions/nostrnip5/crud.py @@ -101,6 +101,26 @@ async def activate_address(domain_id: str, address_id: str) -> Address: return address +async def rotate_address(domain_id: str, address_id: str, pubkey: str) -> Address: + await db.execute( + """ + UPDATE nostrnip5.addresses + SET pubkey = ? + WHERE domain_id = ? + AND id = ? + """, + ( + pubkey, + domain_id, + address_id, + ), + ) + + address = await get_address(domain_id, address_id) + assert address, "Newly updated address couldn't be retrieved" + return address + + async def delete_domain(domain_id) -> bool: await db.execute( """ diff --git a/lnbits/extensions/nostrnip5/models.py b/lnbits/extensions/nostrnip5/models.py index 604b88b1..e02f2909 100644 --- a/lnbits/extensions/nostrnip5/models.py +++ b/lnbits/extensions/nostrnip5/models.py @@ -6,6 +6,10 @@ from fastapi.param_functions import Query from pydantic import BaseModel +class RotateAddressData(BaseModel): + pubkey: str + + class CreateAddressData(BaseModel): domain_id: str local_part: str diff --git a/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html b/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html index 077c16da..3740e0b6 100644 --- a/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html +++ b/lnbits/extensions/nostrnip5/templates/nostrnip5/index.html @@ -118,6 +118,16 @@