From afeaef843ad168d577f9413da8edc7e663eb3e31 Mon Sep 17 00:00:00 2001
From: Lansana DIOMANDE <ldiomande@takima.fr>
Date: Tue, 26 Apr 2022 11:21:14 +0200
Subject: [PATCH] refactor: change extension store initialisation

---
 .../deadlock-extension/src/core/controller.ts        |  3 ++-
 .../deadlock-extension/src/core/extensionStore.ts    | 12 +++---------
 deadlock-plugins/deadlock-extension/src/extension.ts |  1 -
 3 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/deadlock-plugins/deadlock-extension/src/core/controller.ts b/deadlock-plugins/deadlock-extension/src/core/controller.ts
index da3c8b38..7d7d3bb1 100644
--- a/deadlock-plugins/deadlock-extension/src/core/controller.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/controller.ts
@@ -13,7 +13,9 @@ export default class Controller {
   private briefingView: BriefingView;
   private quickSetupView: QuickSetupView;
   private extensionStore: ExtensionStore;
+
   constructor(private context: vscode.ExtensionContext) {
+    this.extensionStore = ExtensionStore.getInstance(context);
     this.briefingView = new BriefingView();
     this.quickSetupView = new QuickSetupView(context.extensionUri);
     this.commandHandler = new CommandHandler(this);
@@ -22,7 +24,6 @@ export default class Controller {
       KEYCLOAK_TOKEN_CREATE_URL,
       KEYCLOAK_USER_INFO_URL,
     );
-    this.extensionStore = ExtensionStore.getInstance();
 
     this.init();
   }
diff --git a/deadlock-plugins/deadlock-extension/src/core/extensionStore.ts b/deadlock-plugins/deadlock-extension/src/core/extensionStore.ts
index cabc1475..5d4497c9 100644
--- a/deadlock-plugins/deadlock-extension/src/core/extensionStore.ts
+++ b/deadlock-plugins/deadlock-extension/src/core/extensionStore.ts
@@ -24,18 +24,12 @@ export default class ExtensionStore {
     if (await this.secretStorage.get(StoreKey.RefreshTokenKey)) this.secretStorage.delete(StoreKey.RefreshTokenKey);
   }
 
-  public static getInstance(): ExtensionStore {
-    if (!ExtensionStore.instance) {
-      throw new Error('ExtensionStore should be initiate with a storage first time');
-    }
-
-    return ExtensionStore.instance;
-  }
-
-  public static createInstance(context: ExtensionContext) {
+  public static getInstance(context?: ExtensionContext): ExtensionStore {
     if (!ExtensionStore.instance) {
+      if (!context) throw new Error('ExtensionStore should be initiate with a storage first time');
       ExtensionStore.instance = new ExtensionStore(context);
     }
+
     return ExtensionStore.instance;
   }
 
diff --git a/deadlock-plugins/deadlock-extension/src/extension.ts b/deadlock-plugins/deadlock-extension/src/extension.ts
index c9f74cbe..1cd5c99a 100644
--- a/deadlock-plugins/deadlock-extension/src/extension.ts
+++ b/deadlock-plugins/deadlock-extension/src/extension.ts
@@ -11,7 +11,6 @@ export const userConfig = new UserConfigTheia();
 
 export async function activate(context: vscode.ExtensionContext) {
   vscode.window.showInformationMessage('Bienvenue sur Deadlock!');
-  ExtensionStore.createInstance(context);
 
   const controller = new Controller(context);
 
-- 
GitLab