From 8204dc5a9a66409e600e449e983a66b146174106 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Wed, 27 Apr 2022 11:32:34 +0300 Subject: [PATCH] Reimplement setup for root frame using runnables instead of non-OCP in index.ts Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- .../start-kubeconfig-sync.injectable.ts | 31 +++++++++++++++++++ .../start-update-checking.injectable.ts | 23 ++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 src/main/start-main-application/on-root-frame-render/implementations/start-kubeconfig-sync.injectable.ts create mode 100644 src/main/start-main-application/on-root-frame-render/implementations/start-update-checking.injectable.ts diff --git a/src/main/start-main-application/on-root-frame-render/implementations/start-kubeconfig-sync.injectable.ts b/src/main/start-main-application/on-root-frame-render/implementations/start-kubeconfig-sync.injectable.ts new file mode 100644 index 0000000000..cedaa378aa --- /dev/null +++ b/src/main/start-main-application/on-root-frame-render/implementations/start-kubeconfig-sync.injectable.ts @@ -0,0 +1,31 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import { onRootFrameRenderInjectionToken } from "../on-root-frame-render-injection-token"; +import directoryForKubeConfigsInjectable from "../../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable"; +import kubeconfigSyncManagerInjectable from "../../../catalog-sources/kubeconfig-sync-manager/kubeconfig-sync-manager.injectable"; +import ensureDirInjectable from "../../../../common/fs/ensure-dir.injectable"; + +const startKubeconfigSyncInjectable = getInjectable({ + id: "start-kubeconfig-sync", + + instantiate: (di) => { + const directoryForKubeConfigs = di.inject(directoryForKubeConfigsInjectable); + const kubeConfigSyncManager = di.inject(kubeconfigSyncManagerInjectable); + const ensureDir = di.inject(ensureDirInjectable); + + return { + run: async () => { + await ensureDir(directoryForKubeConfigs); + + kubeConfigSyncManager.startSync(); + }, + }; + }, + + injectionToken: onRootFrameRenderInjectionToken, +}); + +export default startKubeconfigSyncInjectable; diff --git a/src/main/start-main-application/on-root-frame-render/implementations/start-update-checking.injectable.ts b/src/main/start-main-application/on-root-frame-render/implementations/start-update-checking.injectable.ts new file mode 100644 index 0000000000..f305f36638 --- /dev/null +++ b/src/main/start-main-application/on-root-frame-render/implementations/start-update-checking.injectable.ts @@ -0,0 +1,23 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import { onRootFrameRenderInjectionToken } from "../on-root-frame-render-injection-token"; +import { startUpdateChecking } from "../../../app-updater"; + +const startUpdateCheckingInjectable = getInjectable({ + id: "start-update-checking", + + instantiate: () => ({ + run: () => { + startUpdateChecking(); + }, + }), + + causesSideEffects: true, + + injectionToken: onRootFrameRenderInjectionToken, +}); + +export default startUpdateCheckingInjectable;