From d66184c077ce6232210e54d69ade75f29a2e4aed Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Tue, 21 Feb 2023 10:31:42 +0200 Subject: [PATCH] feat: add `/api/v1/relay-info` endpoint --- views_api.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/views_api.py b/views_api.py index 2700378..4f9a3fa 100644 --- a/views_api.py +++ b/views_api.py @@ -5,6 +5,7 @@ from fastapi import Depends, Request, WebSocket from fastapi.exceptions import HTTPException from loguru import logger from pydantic.types import UUID4 +from starlette.responses import JSONResponse from lnbits.core.services import create_invoice from lnbits.decorators import ( @@ -29,7 +30,7 @@ from .crud import ( update_account, update_relay, ) -from .helpers import extract_domain, normalize_public_key +from .helpers import extract_domain, normalize_public_key, relay_info_response from .models import BuyOrder, NostrAccount, NostrPartialAccount from .relay.client_manager import NostrClientConnection, NostrClientManager from .relay.relay import NostrRelay @@ -124,6 +125,18 @@ async def api_get_relays( status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail="Cannot fetch relays", ) +@nostrrelay_ext.get("/api/v1/relay-info") +async def api_get_relay_info( request: Request, +) -> JSONResponse: + + if request.headers.get("accept") == "application/nostr+json": + return relay_info_response({}) + + raise HTTPException( + status_code=HTTPStatus.NOT_FOUND, + detail="Cannot fetch relays info", + ) + @nostrrelay_ext.get("/api/v1/relay/{relay_id}")