chore: properly define model types (#94)

This commit is contained in:
dni ⚡ 2025-08-18 10:42:06 +02:00 committed by GitHub
commit 860d281a18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,12 +1,11 @@
import json
from datetime import datetime
from typing import Optional
from datetime import datetime, timezone
from fastapi import Query, Request
from lnbits.helpers import normalize_path
from lnurl import encode as lnurl_encode
from lnurl.types import LnurlPayMetadata
from pydantic import BaseModel
from pydantic import BaseModel, Field
from .helpers import parse_nostr_private_key
from .nostr.key import PrivateKey
@ -26,19 +25,19 @@ class LnurlpSettings(BaseModel):
class CreatePayLinkData(BaseModel):
description: str
wallet: Optional[str] = None
wallet: str | None = None
min: float = Query(1, ge=0.01)
max: float = Query(1, ge=0.01)
currency: str = Query(None)
comment_chars: int = Query(0, ge=0, le=799)
webhook_url: str = Query(None)
webhook_headers: str = Query(None)
webhook_body: str = Query(None)
success_text: str = Query(None)
success_url: str = Query(None)
fiat_base_multiplier: int = Query(100, ge=1)
username: str = Query(None)
zaps: Optional[bool] = Query(False)
currency: str | None = Query(None)
webhook_url: str | None = Query(None)
webhook_headers: str | None = Query(None)
webhook_body: str | None = Query(None)
success_text: str | None = Query(None)
success_url: str | None = Query(None)
fiat_base_multiplier: int | None = Query(100, ge=1)
username: str | None = Query(None)
zaps: bool | None = Query(False)
disposable: bool | None = Query(True)
@ -47,22 +46,22 @@ class PayLink(BaseModel):
wallet: str
description: str
min: float
max: float
served_meta: int
served_pr: int
username: Optional[str]
zaps: Optional[bool]
domain: Optional[str]
webhook_url: Optional[str]
webhook_headers: Optional[str]
webhook_body: Optional[str]
success_text: Optional[str]
success_url: Optional[str]
currency: Optional[str]
comment_chars: int
max: float
fiat_base_multiplier: int
created_at: datetime
updated_at: datetime
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
username: str | None = None
zaps: bool | None = None
domain: str | None = None
webhook_url: str | None = None
webhook_headers: str | None = None
webhook_body: str | None = None
success_text: str | None = None
success_url: str | None = None
currency: str | None = None
fiat_base_multiplier: int | None = None
disposable: bool
@ -73,7 +72,6 @@ class PayLink(BaseModel):
if url.netloc.endswith(".onion"):
# change url string scheme to http
url_str = url_str.replace("https://", "http://")
return lnurl_encode(url_str)
@property