diff --git a/test/home.html b/test/home.html
index e2c64e8..bcc8fe8 100644
--- a/test/home.html
+++ b/test/home.html
@@ -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) => {
diff --git a/test/index.html b/test/index.html
index eebcecf..cd0ce0c 100644
--- a/test/index.html
+++ b/test/index.html
@@ -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);