22import hashlib
33import json
44from collections import OrderedDict
5- from typing import Optional
65
7- from lnurl import encode as lnurl_encode
6+ from fastapi import Request
87from lnurl .types import LnurlPayMetadata
98from pydantic import BaseModel
10- from starlette .requests import Request
119
1210from .helpers import totp
1311
@@ -58,8 +56,8 @@ def get_word(self, payment_hash):
5856
5957class CreateShop (BaseModel ):
6058 wallet : str
61- method : Optional [ str ] = "wordlist"
62- wordlist : Optional [ str ] = None
59+ method : str | None = "wordlist"
60+ wordlist : str | None = None
6361
6462
6563class Shop (BaseModel ):
@@ -90,21 +88,14 @@ class Item(BaseModel):
9088 id : str
9189 name : str
9290 description : str
93- image : Optional [ str ]
94- enabled : Optional [ bool ] = True
91+ image : str | None = None
92+ enabled : bool | None = True
9593 price : float
9694 unit : str
9795
98- def lnurl (self , req : Request ) -> str :
99- return lnurl_encode (
100- str (req .url_for ("offlineshop.lnurl_response" , item_id = self .id ))
101- )
102-
10396 def values (self , req : Request ):
10497 values = self .dict ()
105- values ["lnurl" ] = lnurl_encode (
106- str (req .url_for ("offlineshop.lnurl_response" , item_id = self .id ))
107- )
98+ values ["url" ] = str (req .url_for ("offlineshop.lnurl_response" , item_id = self .id ))
10899 return values
109100
110101 @property
@@ -127,4 +118,4 @@ class CreateItem(BaseModel):
127118 description : str
128119 price : float
129120 unit : str
130- image : Optional [ str ] = None
121+ image : str | None = None
0 commit comments