4
1
mirror of https://github.com/Qortal/qortal-ui.git synced 2025-02-16 04:05:48 +00:00
qortal-ui/qortal-ui-core/src/apiKeyUtils.js

51 lines
1.4 KiB
JavaScript

import * as api from 'qortal-ui-crypto'
import mykey from './functional-components/mykey-page.js'
'use strict'
export const checkApiKey = async (nodeConfig) => {
let selectedNode = nodeConfig.knownNodes[nodeConfig.node];
let apiKey = selectedNode.apiKey;
// Attempt to generate an API key
const generateUrl = "/admin/apikey/generate";
let generateRes = await api.request(generateUrl, {
method: "POST"
});
if (generateRes != null && generateRes.error == null && generateRes.length >= 8) {
console.log("Generated API key");
apiKey = generateRes;
// Store the generated API key
selectedNode.apiKey = apiKey;
nodeConfig.knownNodes[nodeConfig.node] = selectedNode;
localStorage.setItem('myQortalNodes', JSON.stringify(nodeConfig.knownNodes));
}
else {
console.log("Unable to generate API key");
}
// Now test the API key
let testResult = await testApiKey(apiKey);
if (testResult === true) {
console.log("API key test passed");
}
else {
console.log("API key test failed");
mykey.show();
}
}
export const testApiKey = async (apiKey) => {
const testUrl = "/admin/apikey/test?apiKey=" + apiKey;
let testRes = await api.request(testUrl, {
method: "GET"
});
if (testRes === true) {
return true;
}
return false;
}