Delete from DB
diff --git a/static/components/merchant-details/merchant-details.js b/static/components/merchant-details/merchant-details.js
index 9a63d40..31dcfac 100644
--- a/static/components/merchant-details/merchant-details.js
+++ b/static/components/merchant-details/merchant-details.js
@@ -33,6 +33,23 @@ async function merchantDetails(path) {
LNbits.utils.notifyApiError(error)
}
},
+ requeryMerchantData: async function () {
+ try {
+ await LNbits.api.request(
+ 'GET',
+ `/nostrmarket/api/v1/merchant/${this.merchantId}/nostr`,
+ this.adminkey
+ )
+ this.$q.notify({
+ type: 'positive',
+ message: 'Merchant data refreshed from Nostr',
+ timeout: 5000
+ })
+ } catch (error) {
+ console.warn(error)
+ LNbits.utils.notifyApiError(error)
+ }
+ },
deleteMerchantTables: function () {
LNbits.utils
.confirmDialog(
diff --git a/static/components/order-list/order-list.html b/static/components/order-list/order-list.html
index d3c7705..f166b03 100644
--- a/static/components/order-list/order-list.html
+++ b/static/components/order-list/order-list.html
@@ -15,7 +15,7 @@
+ class="q-pt-md float-right" :label="search.restoring ? 'Restoring Orders...' : 'Load Orders'">
diff --git a/views_api.py b/views_api.py
index 457f659..4bb792f 100644
--- a/views_api.py
+++ b/views_api.py
@@ -219,7 +219,31 @@ async def api_republish_merchant(
logger.warning(ex)
raise HTTPException(
status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
- detail="Cannot get merchant",
+ detail="Cannot republish to nostr",
+ )
+
+@nostrmarket_ext.get("/api/v1/merchant/{merchant_id}/nostr")
+async def api_refresh_merchant(
+ merchant_id: str,
+ wallet: WalletTypeInfo = Depends(require_admin_key),
+):
+ try:
+ merchant = await get_merchant_for_user(wallet.wallet.user)
+ assert merchant, "Merchant cannot be found"
+ assert merchant.id == merchant_id, "Wrong merchant ID"
+
+ await nostr_client.merchant_temp_subscription(merchant.public_key)
+
+ except AssertionError as ex:
+ raise HTTPException(
+ status_code=HTTPStatus.BAD_REQUEST,
+ detail=str(ex),
+ )
+ except Exception as ex:
+ logger.warning(ex)
+ raise HTTPException(
+ status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
+ detail="Cannot refresh from nostr",
)