update migrations, models, crud

This commit is contained in:
bitkarrot 2023-03-02 16:45:41 -08:00
commit f95814577e
3 changed files with 17 additions and 10 deletions

View file

@ -95,12 +95,6 @@ async def check_lnaddress_format(username: str) -> bool:
return True return True
# async def get_wallet_key(wallet_id: str) -> str: # async def get_wallet_key(wallet_id: str) -> str:
# row = await maindb.fetchone("SELECT inkey FROM wallets WHERE id = ?", (wallet_id,))
# if row is not None:
# return row[0]
# else:
# assert False, "Cannot locate wallet invoice key"
# return
async def get_address_data(username: str) -> Optional[PayLink]: async def get_address_data(username: str) -> Optional[PayLink]:
row = await db.fetchone( row = await db.fetchone(

View file

@ -10,7 +10,8 @@ async def m001_initial(db):
description TEXT NOT NULL, description TEXT NOT NULL,
amount {db.big_int} NOT NULL, amount {db.big_int} NOT NULL,
served_meta INTEGER NOT NULL, served_meta INTEGER NOT NULL,
served_pr INTEGER NOT NULL served_pr INTEGER NOT NULL,
username TEXT
); );
""" """
) )
@ -97,7 +98,8 @@ async def m006_redux(db):
success_url TEXT, success_url TEXT,
comment_chars INTEGER DEFAULT 0, comment_chars INTEGER DEFAULT 0,
webhook_headers TEXT, webhook_headers TEXT,
webhook_body TEXT webhook_body TEXT,
username TEXT
); );
""" """
) )
@ -122,9 +124,10 @@ async def m006_redux(db):
max, max,
fiat_base_multiplier, fiat_base_multiplier,
webhook_headers, webhook_headers,
webhook_body webhook_body,
username
) )
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
""", """,
( (
row[0], row[0],
@ -142,6 +145,7 @@ async def m006_redux(db):
row[12], row[12],
row[13], row[13],
row[14], row[14],
row[15],
), ),
) )

View file

@ -23,6 +23,7 @@ class CreatePayLinkData(BaseModel):
success_text: str = Query(None) success_text: str = Query(None)
success_url: str = Query(None) success_url: str = Query(None)
fiat_base_multiplier: int = Query(100, ge=1) fiat_base_multiplier: int = Query(100, ge=1)
username: str = Query(None)
class PayLink(BaseModel): class PayLink(BaseModel):
@ -41,6 +42,7 @@ class PayLink(BaseModel):
comment_chars: int comment_chars: int
max: float max: float
fiat_base_multiplier: int fiat_base_multiplier: int
username: str
@classmethod @classmethod
def from_row(cls, row: Row) -> "PayLink": def from_row(cls, row: Row) -> "PayLink":
@ -73,3 +75,10 @@ class PayLink(BaseModel):
return {"tag": "message", "message": self.success_text} return {"tag": "message", "message": self.success_text}
else: else:
return None return None
async def lnurlpay_metadata(self, domain) -> LnurlPayMetadata:
text = f"Payment to {self.lnaddress}"
identifier = f"{self.lnaddress}@{domain}"
metadata = [["text/plain", text], ["text/identifier", identifier]]
return LnurlPayMetadata(json.dumps(metadata))