feat: get default public key from vscode
This commit is contained in:
@@ -570,7 +570,7 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
||||
const devContainerUsername = data.data.devContainerUsername
|
||||
const devContainerPassword = data.data.devContainerPassword
|
||||
const devContainerPort = data.data.devContainerPort
|
||||
const devContainerWorkDir = `${data.data.devContainerWorkDir}/${devContainerUsername}`
|
||||
const devContainerWorkDir = '/data/workspace'
|
||||
|
||||
// default: open with password
|
||||
firstOpenRemoteFolder(devContainerHost, devContainerUsername, devContainerPassword, devContainerPort, devContainerWorkDir)
|
||||
@@ -623,13 +623,18 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
||||
}
|
||||
|
||||
// TODO: create container
|
||||
function createDevContainer(repoId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
async function createDevContainer(repoId) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
// get public key
|
||||
const publicKey = await getDefaultPublicKeyFromVSCode()
|
||||
|
||||
// request creating container
|
||||
const url = DEVSTAR_HOME + "/api/devcontainer"
|
||||
var token = USERTOKEN
|
||||
|
||||
const postData = {
|
||||
"repoId": repoId.toString(),
|
||||
"sshPublicKeyList": [publicKey]
|
||||
}
|
||||
|
||||
fetch(url, {
|
||||
@@ -663,6 +668,17 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
||||
})
|
||||
}
|
||||
|
||||
async function getDefaultPublicKeyFromVSCode() {
|
||||
try {
|
||||
const data = await biCommunication2Webview('getDefaultPublicKey', null);
|
||||
const defaultPublicKey = data.defaultPublicKey;
|
||||
|
||||
return defaultPublicKey;
|
||||
} catch (error) {
|
||||
console.log("Failed to get default public key: ", error)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: delete container
|
||||
function deleteDevContainer(repoId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
@@ -103,7 +103,6 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
||||
// set user token to vscode global state
|
||||
await biCommunication2Vscode('setUserToken', jsonData.data)
|
||||
.then((data) => {
|
||||
console.log(data)
|
||||
var iframe = document.getElementById('embedded-devstar');
|
||||
if (iframe && iframe.contentWindow) {
|
||||
iframe.contentWindow.postMessage({ action: 'setUserToken', data: data}, '*');
|
||||
@@ -114,6 +113,12 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
||||
iframe.contentWindow.postMessage({ action: 'setUserToken', data: {ok: false}}, '*');
|
||||
}
|
||||
});
|
||||
} else if (jsonData.action === 'getDefaultPublicKey') {
|
||||
const data = await biCommunication2Vscode('getDefaultPublicKey', {})
|
||||
var iframe = document.getElementById('embedded-devstar')
|
||||
if (iframe && iframe.contentWindow) {
|
||||
iframe.contentWindow.postMessage({ action: 'getDefaultPublicKey', data: data}, "*")
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error parsing message:', error);
|
||||
|
Reference in New Issue
Block a user