From 2dc7a466d79ad199f2c3b6b75fc7b183b09bb73e Mon Sep 17 00:00:00 2001
From: Guillaume Weber <gweber@takima.fr>
Date: Tue, 28 Jun 2022 15:37:25 +0200
Subject: [PATCH] feat: add default folder disable change folder button disable
 mission folder delete

---
 deadlock-plugins/deadlock-extension/src/core/config.ts    | 1 +
 .../deadlock-extension/src/core/controller.ts             | 8 +++++++-
 .../deadlock-extension/src/view/quickSetupView.ts         | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/deadlock-plugins/deadlock-extension/src/core/config.ts b/deadlock-plugins/deadlock-extension/src/core/config.ts
index 9dbf60ba..af4fa38c 100644
--- a/deadlock-plugins/deadlock-extension/src/core/config.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/config.ts
@@ -10,6 +10,7 @@ const deadlockExtensionPath = path.join(homeDir, 'deadlock-extension');
 
 const deadlockConfigPath = path.join(homeDir, '.deadlock');
 export const userSshKeyFolderPath = path.join(deadlockConfigPath, '.ssh');
+export const missionWorkDirPath = path.join(deadlockConfigPath, 'workspace');
 
 export const PROJECT_SRC_PATH = onContainer ? '/project' : path.join(homeDir, 'deadlock-extension', '/project');
 
diff --git a/deadlock-plugins/deadlock-extension/src/core/controller.ts b/deadlock-plugins/deadlock-extension/src/core/controller.ts
index 70a7e01f..dfc24dc7 100644
--- a/deadlock-plugins/deadlock-extension/src/core/controller.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/controller.ts
@@ -12,7 +12,7 @@ import { extensionLog as log } from '../recorder/utils/log';
 import { commands, ExtensionContext, Uri, window } from 'vscode';
 import { createSshKeyFiles } from './sshKeyManager';
 import { removeFiles } from '../recorder/utils/workdir';
-import { userSshKeyFolderPath } from './config';
+import { userSshKeyFolderPath, missionWorkDirPath } from './config';
 import { hasStatusNumber } from './utils/typeguards';
 import { User } from './mission/models/userChallenge';
 
@@ -77,6 +77,7 @@ export default class Controller {
     });
 
     this.quickSetupView.isAlreadyConnected = (await this.extensionStore.getAccessToken()) !== undefined;
+    this.setDefaultMissionWorkdir();
   }
 
   async chooseMissionWorkdir() {
@@ -99,9 +100,14 @@ export default class Controller {
     }
   }
 
+  private setDefaultMissionWorkdir() {
+    this.extensionStore.setMissionWorkdir(missionWorkDirPath);
+  }
+
   public async disconnect() {
     await removeFiles(`${userSshKeyFolderPath}/id_rsa`, `${userSshKeyFolderPath}/id_rsa.pub`);
     await this.extensionStore.clear();
+    this.setDefaultMissionWorkdir();
     this.quickSetupView.isAlreadyConnected = false;
   }
 
diff --git a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts
index 5fb0bc98..a620cc64 100644
--- a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts
+++ b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts
@@ -66,6 +66,7 @@ export default class QuickSetupView extends WebviewBase {
                 onClickFunctionName: 'launchChooseMissionWorkdirAction',
               },
               hadMissionWorkdir,
+              true,
             )}
          </div>
          `;
-- 
GitLab