4
1
mirror of https://github.com/Qortal/qortal-ui.git synced 2025-02-15 19:55:49 +00:00
qortal-ui/core/src/apiKeyUtils.js
AlphaX-Projects 42201341c1 Cleanup code
2024-03-27 12:48:38 +01:00

55 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();
this.dispatchEvent(
new CustomEvent('disable-tour', {
bubbles: true,
composed: true
}),
);
}
}
export const testApiKey = async (apiKey) => {
const testUrl = "/admin/apikey/test?apiKey=" + apiKey;
let testRes = await api.request(testUrl, {
method: "GET"
});
return testRes === true;
}