From 39ea483f087efaae76b2efa352fc967f65967d8d Mon Sep 17 00:00:00 2001 From: Niko Storni Date: Mon, 23 Sep 2019 23:00:58 +0200 Subject: [PATCH] fix resolution of claims --- app/components/client/playground-scripts.js | 2 +- app/helpers/fetch-metadata.js | 36 ++++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/app/components/client/playground-scripts.js b/app/components/client/playground-scripts.js index 3ff07e9..5f19571 100644 --- a/app/components/client/playground-scripts.js +++ b/app/components/client/playground-scripts.js @@ -257,7 +257,7 @@ const handleExamples = debounce(event => { switch(data.action) { case "choose claim": - fetchMetadata(exampleNumber, data.claimId); + fetchMetadata(exampleNumber, `${data.name}#${data.claimId}`); if (document.querySelector(".playground-navigation__example:nth-child(3)").classList.contains("active")) document.getElementById("fetch-claim-uri").value = event.dataset.name + "#" + event.dataset.claimId; diff --git a/app/helpers/fetch-metadata.js b/app/helpers/fetch-metadata.js index bdef885..f4d45e1 100644 --- a/app/helpers/fetch-metadata.js +++ b/app/helpers/fetch-metadata.js @@ -13,6 +13,8 @@ import stringifyObject from "stringify-object"; import messageSlack from "./slack"; import publishMeme from "./publish-meme"; +import lbrytvAPI from "~helper/lbrytv-sdk"; + import randomString from "./random-string"; import { send } from "~socket"; import uploadImage from "./upload-image"; @@ -76,10 +78,10 @@ export default async(data, socket) => { - switch(true) { + switch(resolveMethod) { // T I P // E X A M P L E - case resolveMethod === "support_create": + case "support_create": if (!approvedContentIdsForTipping.includes(claimAddress)) { return send(socket, { example: data.example, @@ -103,7 +105,7 @@ export default async(data, socket) => { // P U B L I S H // E X A M P L E - case resolveMethod === "publish": + case "publish": apiRequestMethod = "PUT"; // Required for publishing @@ -194,10 +196,36 @@ export default async(data, socket) => { // R E S O L V E // E X A M P L E - case resolveMethod === "resolve": + case "resolve": apiRequestMethod = "GET"; body.uri = claimAddress; + try { + let resolveResponse = await lbrytvAPI.resolve([claimAddress]); + if (socket) { + const renderedCode = prism.highlight( + stringifyObject(resolveResponse, { indent: " ", singleQuotes: false }), + prism.languages.json, + "json" + ); + + return send(socket, { + example: data.example, + html: raw(` +

Response

+ ${explorerNotice} +
${renderedCode}
+ `), + message: "show result", + selector: `#example${data.example}-result` + }); + } + } catch(error) { + messageSlack({ + message: "```" + error + "```", + title: "DAEMON ERROR: resolve" + }); + } break;