mirror of
https://github.com/lnbits/lnbits.git
synced 2025-10-04 18:33:10 +02:00
black
This commit is contained in:
@@ -9,4 +9,4 @@ copilot_ext: Blueprint = Blueprint(
|
||||
|
||||
from .views_api import * # noqa
|
||||
from .views import * # noqa
|
||||
from .lnurl import * # noqa
|
||||
from .lnurl import * # noqa
|
||||
|
@@ -80,7 +80,7 @@ async def create_copilot(
|
||||
show_ack,
|
||||
show_price,
|
||||
lnurl_title,
|
||||
0
|
||||
0,
|
||||
),
|
||||
)
|
||||
return await get_copilot(copilot_id)
|
||||
|
@@ -17,12 +17,10 @@ async def lnurl_response(cp_id):
|
||||
return jsonify({"status": "ERROR", "reason": "Copilot not found."})
|
||||
|
||||
resp = LnurlPayResponse(
|
||||
callback=url_for(
|
||||
"copilot.lnurl_callback", cp_id=cp_id, _external=True
|
||||
),
|
||||
callback=url_for("copilot.lnurl_callback", cp_id=cp_id, _external=True),
|
||||
min_sendable=10000,
|
||||
max_sendable=50000000,
|
||||
metadata=LnurlPayMetadata(json.dumps([["text/plain", cp.lnurl_title]]))
|
||||
metadata=LnurlPayMetadata(json.dumps([["text/plain", cp.lnurl_title]])),
|
||||
)
|
||||
|
||||
params = resp.dict()
|
||||
@@ -47,7 +45,7 @@ async def lnurl_callback(cp_id):
|
||||
).dict()
|
||||
),
|
||||
)
|
||||
elif amount_received/1000 > 50000000:
|
||||
elif amount_received / 1000 > 50000000:
|
||||
return (
|
||||
jsonify(
|
||||
LnurlErrorResponse(
|
||||
@@ -69,18 +67,16 @@ async def lnurl_callback(cp_id):
|
||||
amount=int(amount_received / 1000),
|
||||
memo=cp.lnurl_title,
|
||||
webhook="/copilot/api/v1/copilot/hook/" + cp_id,
|
||||
description_hash=hashlib.sha256(
|
||||
(cp.lnurl_title).encode("utf-8")
|
||||
).digest(),
|
||||
description_hash=hashlib.sha256((cp.lnurl_title).encode("utf-8")).digest(),
|
||||
extra={"tag": "copilot", "comment": comment},
|
||||
)
|
||||
|
||||
resp = LnurlPayActionResponse(
|
||||
pr=payment_request,
|
||||
success_action=None,
|
||||
success_action=jsonify({tag: "message", message: "Thank you!"}),
|
||||
routes=[],
|
||||
)
|
||||
print(payment_request)
|
||||
print(jsonify(resp.dict()))
|
||||
|
||||
return jsonify(resp.dict())
|
||||
print(resp)
|
||||
|
||||
return jsonify(resp.dict())
|
||||
|
@@ -6,6 +6,7 @@ from lnurl import Lnurl, encode as lnurl_encode # type: ignore
|
||||
from lnurl.types import LnurlPayMetadata # type: ignore
|
||||
from lnurl.models import LnurlPaySuccessAction, UrlAction # type: ignore
|
||||
|
||||
|
||||
class Copilots(NamedTuple):
|
||||
id: str
|
||||
user: str
|
||||
@@ -38,4 +39,4 @@ class Copilots(NamedTuple):
|
||||
@property
|
||||
def lnurl(self) -> Lnurl:
|
||||
url = url_for("copilot.lnurl_response", cp_id=self.id, _external=True)
|
||||
return lnurl_encode(url)
|
||||
return lnurl_encode(url)
|
||||
|
@@ -8,26 +8,29 @@ from .crud import get_copilot
|
||||
|
||||
from quart import g, abort, render_template, jsonify, websocket
|
||||
from functools import wraps
|
||||
import trio
|
||||
import trio
|
||||
import shortuuid
|
||||
from . import copilot_ext
|
||||
|
||||
connected_websockets = {}
|
||||
|
||||
@copilot_ext.websocket('/ws/panel/<copilot_id>')
|
||||
|
||||
@copilot_ext.websocket("/ws/panel/<copilot_id>")
|
||||
async def ws_panel(copilot_id):
|
||||
global connected_websockets
|
||||
while True:
|
||||
data = await websocket.receive()
|
||||
connected_websockets[copilot_id] = shortuuid.uuid() + '-' + data
|
||||
connected_websockets[copilot_id] = shortuuid.uuid() + "-" + data
|
||||
|
||||
@copilot_ext.websocket('/ws/compose/<copilot_id>')
|
||||
|
||||
@copilot_ext.websocket("/ws/compose/<copilot_id>")
|
||||
async def ws_compose(copilot_id):
|
||||
global connected_websockets
|
||||
while True:
|
||||
data = await websocket.receive()
|
||||
await websocket.send(connected_websockets[copilot_id])
|
||||
|
||||
|
||||
|
||||
@copilot_ext.route("/")
|
||||
@validate_uuids(["usr"], required=True)
|
||||
@check_user_exists()
|
||||
@@ -41,12 +44,20 @@ async def compose(copilot_id):
|
||||
HTTPStatus.NOT_FOUND, "Copilot link does not exist."
|
||||
)
|
||||
if copilot.lnurl_toggle:
|
||||
return await render_template("copilot/compose.html", copilot=copilot, lnurl=copilot.lnurl, lnurl_toggle=copilot.lnurl_toggle)
|
||||
return await render_template("copilot/compose.html", copilot=copilot, lnurl_toggle=copilot.lnurl_toggle)
|
||||
return await render_template(
|
||||
"copilot/compose.html",
|
||||
copilot=copilot,
|
||||
lnurl=copilot.lnurl,
|
||||
lnurl_toggle=copilot.lnurl_toggle,
|
||||
)
|
||||
return await render_template(
|
||||
"copilot/compose.html", copilot=copilot, lnurl_toggle=copilot.lnurl_toggle
|
||||
)
|
||||
|
||||
|
||||
@copilot_ext.route("/<copilot_id>")
|
||||
async def panel(copilot_id):
|
||||
copilot = await get_copilot(copilot_id) or abort(
|
||||
HTTPStatus.NOT_FOUND, "Copilot link does not exist."
|
||||
)
|
||||
return await render_template("copilot/panel.html", copilot=copilot)
|
||||
return await render_template("copilot/panel.html", copilot=copilot)
|
||||
|
@@ -58,18 +58,14 @@ async def api_copilots_retrieve():
|
||||
try:
|
||||
return (
|
||||
jsonify(
|
||||
[
|
||||
{
|
||||
**copilot._asdict()
|
||||
}
|
||||
for copilot in await get_copilots(g.wallet.user)
|
||||
]
|
||||
[{**copilot._asdict()} for copilot in await get_copilots(g.wallet.user)]
|
||||
),
|
||||
HTTPStatus.OK,
|
||||
)
|
||||
except:
|
||||
return ""
|
||||
|
||||
|
||||
@copilot_ext.route("/api/v1/copilot/<copilot_id>", methods=["GET"])
|
||||
@api_check_wallet_key("invoice")
|
||||
async def api_copilot_retrieve(copilot_id):
|
||||
@@ -79,11 +75,7 @@ async def api_copilot_retrieve(copilot_id):
|
||||
return jsonify({"message": "copilot does not exist"}), HTTPStatus.NOT_FOUND
|
||||
|
||||
return (
|
||||
jsonify(
|
||||
{
|
||||
copilot._asdict()
|
||||
}
|
||||
),
|
||||
jsonify({copilot._asdict()}),
|
||||
HTTPStatus.OK,
|
||||
)
|
||||
|
||||
@@ -100,23 +92,39 @@ async def api_copilot_delete(copilot_id):
|
||||
|
||||
return "", HTTPStatus.NO_CONTENT
|
||||
|
||||
|
||||
#############################PAYMENTHOOKER##########################
|
||||
|
||||
|
||||
@copilot_ext.route("/api/v1/copilot/hook/<copilot_id>", methods=["POST"])
|
||||
async def api_copilot_hooker(copilot_id, trigger):
|
||||
copilot = await get_copilot(copilot_id)
|
||||
|
||||
if not copilot:
|
||||
return jsonify({"message": "Copilot link link does not exist."}), HTTPStatus.NOT_FOUND
|
||||
return (
|
||||
jsonify({"message": "Copilot link link does not exist."}),
|
||||
HTTPStatus.NOT_FOUND,
|
||||
)
|
||||
|
||||
socket_sendererer = app.socket_sendererer()
|
||||
if copilot.animation1threshold and int(g.data['amount']) > copilot.animation1threshold:
|
||||
socket_sendererer = app.socket_sendererer()
|
||||
if (
|
||||
copilot.animation1threshold
|
||||
and int(g.data["amount"]) > copilot.animation1threshold
|
||||
):
|
||||
data = copilot.animation1
|
||||
if copilot.animation2threshold and int(g.data['amount']) > copilot.animation2threshold:
|
||||
if (
|
||||
copilot.animation2threshold
|
||||
and int(g.data["amount"]) > copilot.animation2threshold
|
||||
):
|
||||
data = copilot.animation2
|
||||
if copilot.animation3threshold and int(g.data['amount']) > copilot.animation3threshold:
|
||||
if (
|
||||
copilot.animation3threshold
|
||||
and int(g.data["amount"]) > copilot.animation3threshold
|
||||
):
|
||||
data = copilot.animation3
|
||||
async with socket_sendererer.websocket('/ws/compose/' + copilot_id) as the_websocket:
|
||||
async with socket_sendererer.websocket(
|
||||
"/ws/compose/" + copilot_id
|
||||
) as the_websocket:
|
||||
await the_websocket.send(data)
|
||||
|
||||
return "", HTTPStatus.OK
|
||||
|
||||
return "", HTTPStatus.OK
|
||||
|
Reference in New Issue
Block a user