1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix rebase issues

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-07-20 10:26:03 -04:00
parent 1cd9625faa
commit e3849bf1a6
14 changed files with 96 additions and 159 deletions

View File

@ -8,14 +8,7 @@ import type { RenderResult } from "@testing-library/react";
import { fireEvent } from "@testing-library/react";
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import type { CallForHelmCharts } from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
import callForHelmChartsInjectable from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
import type { CallForHelmChartValues } from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
import type { CallForCreateHelmRelease } from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
import currentPathInjectable from "../../../renderer/routes/current-path.injectable";
import namespaceStoreInjectable from "../../../renderer/components/+namespaces/store.injectable";
import type { NamespaceStore } from "../../../renderer/components/+namespaces/store";
@ -30,6 +23,13 @@ import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/h
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
import readJsonFileInjectable from "../../../common/fs/read-json-file.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import { HelmChart } from "../../../renderer/k8s/helm-chart";
import type { ListHelmCharts } from "../../../renderer/k8s/helm-charts.api/list.injectable";
import listHelmChartsInjectable from "../../../renderer/k8s/helm-charts.api/list.injectable";
import type { GetHelmChartValues } from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
import type { CreateHelmRelease } from "../../../renderer/k8s/helm-releases.api/create.injectable";
import getHelmChartValuesInjectable from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
// TODO: Make tooltips free of side effects by making it deterministic
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
@ -39,11 +39,11 @@ jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
describe("installing helm chart from new tab", () => {
let builder: ApplicationBuilder;
let rendererDi: DiContainer;
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
let listHelmChartsMock: AsyncFnMock<ListHelmCharts>;
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
let callForCreateHelmReleaseMock: AsyncFnMock<CallForCreateHelmRelease>;
let getHelmChartValuesMock: AsyncFnMock<GetHelmChartValues>;
let createHelmReleaseMock: AsyncFnMock<CreateHelmRelease>;
beforeEach(() => {
builder = getApplicationBuilder();
@ -52,11 +52,11 @@ describe("installing helm chart from new tab", () => {
overrideFsWithFakes(rendererDi);
callForHelmChartsMock = asyncFn();
listHelmChartsMock = asyncFn();
callForHelmChartVersionsMock = asyncFn();
callForHelmChartReadmeMock = asyncFn();
callForHelmChartValuesMock = asyncFn();
callForCreateHelmReleaseMock = asyncFn();
getHelmChartValuesMock = asyncFn();
createHelmReleaseMock = asyncFn();
builder.beforeApplicationStart(({ rendererDi }) => {
rendererDi.override(
@ -67,8 +67,8 @@ describe("installing helm chart from new tab", () => {
rendererDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
rendererDi.override(
callForHelmChartsInjectable,
() => callForHelmChartsMock,
listHelmChartsInjectable,
() => listHelmChartsMock,
);
rendererDi.override(
@ -82,13 +82,13 @@ describe("installing helm chart from new tab", () => {
);
rendererDi.override(
callForHelmChartValuesInjectable,
() => callForHelmChartValuesMock,
getHelmChartValuesInjectable,
() => getHelmChartValuesMock,
);
rendererDi.override(
callForCreateHelmReleaseInjectable,
() => callForCreateHelmReleaseMock,
createHelmReleaseInjectable,
() => createHelmReleaseMock,
);
// TODO: Replace store mocking with mock for the actual side-effect (where the namespaces are coming from)
@ -145,7 +145,7 @@ describe("installing helm chart from new tab", () => {
// TODO: Make TerminalWindow unit testable to allow realistic behaviour
dockStore.closeTab("terminal");
await callForHelmChartsMock.resolve([
await listHelmChartsMock.resolve([
HelmChart.create({
apiVersion: "some-api-version",
name: "some-name",
@ -242,7 +242,7 @@ describe("installing helm chart from new tab", () => {
});
it("calls for default configuration of the chart", () => {
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
"some-repository",
"some-name",
"some-version",
@ -263,7 +263,7 @@ describe("installing helm chart from new tab", () => {
});
it("given default configuration resolves but versions have not resolved yet, still shows the spinner", async () => {
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration",
);
@ -282,7 +282,7 @@ describe("installing helm chart from new tab", () => {
describe("when default configuration and versions resolve", () => {
beforeEach(async () => {
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration",
);
@ -379,7 +379,7 @@ describe("installing helm chart from new tab", () => {
});
it("calls for installation with default configuration", () => {
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
expect(createHelmReleaseMock).toHaveBeenCalledWith({
chart: "some-name",
name: undefined,
namespace: "default",
@ -391,7 +391,7 @@ describe("installing helm chart from new tab", () => {
describe("when installation resolves", () => {
beforeEach(async () => {
await callForCreateHelmReleaseMock.resolve({
await createHelmReleaseMock.resolve({
log: "some-execution-output",
release: {
@ -554,7 +554,7 @@ describe("installing helm chart from new tab", () => {
});
it("calls for default configuration of the second chart", () => {
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
"some-repository",
"some-other-name",
"some-version",
@ -576,7 +576,7 @@ describe("installing helm chart from new tab", () => {
describe("when configuration and versions resolve", () => {
beforeEach(async () => {
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-other-default-configuration",
);
@ -601,7 +601,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(
callForCreateHelmReleaseMock,
createHelmReleaseMock,
).toHaveBeenCalledWith({
chart: "some-other-name",
name: undefined,
@ -614,7 +614,7 @@ describe("installing helm chart from new tab", () => {
describe("when selecting the dock tab for installing first chart", () => {
beforeEach(() => {
callForHelmChartValuesMock.mockClear();
getHelmChartValuesMock.mockClear();
callForHelmChartVersionsMock.mockClear();
const tab = rendered.getByTestId(
@ -630,7 +630,7 @@ describe("installing helm chart from new tab", () => {
it("does not call for default configuration", () => {
expect(
callForHelmChartValuesMock,
getHelmChartValuesMock,
).not.toHaveBeenCalled();
});
@ -654,7 +654,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(
callForCreateHelmReleaseMock,
createHelmReleaseMock,
).toHaveBeenCalledWith({
chart: "some-name",
name: undefined,
@ -674,7 +674,7 @@ describe("installing helm chart from new tab", () => {
beforeEach(() => {
callForHelmChartVersionsMock.mockClear();
callForHelmChartValuesMock.mockClear();
getHelmChartValuesMock.mockClear();
const menuId =
"install-chart-version-select-for-some-first-tab-id";
@ -702,7 +702,7 @@ describe("installing helm chart from new tab", () => {
});
it("calls for default configuration for the version of chart", () => {
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
"some-repository",
"some-name",
"some-other-version",
@ -741,7 +741,7 @@ describe("installing helm chart from new tab", () => {
describe("when default configuration resolves", () => {
beforeEach(async () => {
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration-for-other-version",
);
});
@ -766,7 +766,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(
callForCreateHelmReleaseMock,
createHelmReleaseMock,
).toHaveBeenCalledWith({
chart: "some-name",
name: undefined,
@ -823,7 +823,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith(
expect(createHelmReleaseMock).toHaveBeenCalledWith(
{
chart: "some-name",
name: undefined,
@ -886,7 +886,7 @@ describe("installing helm chart from new tab", () => {
)
.selectOption("some-other-version");
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration-for-other-version",
);
@ -942,7 +942,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
expect(createHelmReleaseMock).toHaveBeenCalledWith({
chart: "some-name",
name: undefined,
namespace: "default",
@ -959,7 +959,7 @@ describe("installing helm chart from new tab", () => {
)
.selectOption("some-other-version");
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration-for-other-version",
);
@ -1008,7 +1008,7 @@ describe("installing helm chart from new tab", () => {
fireEvent.click(installButton);
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
expect(createHelmReleaseMock).toHaveBeenCalledWith({
chart: "some-name",
name: "some-custom-name",
namespace: "default",

View File

@ -7,10 +7,8 @@ import asyncFn from "@async-fn/jest";
import type { RenderResult } from "@testing-library/react";
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
import { HelmChart } from "../../../renderer/k8s/helm-chart";
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
import type { CallForHelmChartValues } from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
import namespaceStoreInjectable from "../../../renderer/components/+namespaces/store.injectable";
import type { NamespaceStore } from "../../../renderer/components/+namespaces/store";
import type { CallForHelmChartVersions } from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
@ -22,7 +20,9 @@ import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/h
import { TabKind } from "../../../renderer/components/dock/dock/store";
import { controlWhenStoragesAreReady } from "../../../renderer/utils/create-storage/storages-are-ready";
import type { DiContainer } from "@ogre-tools/injectable";
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
import type { GetHelmChartValues } from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
import getHelmChartValuesInjectable from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
// TODO: Make tooltips free of side effects by making it deterministic
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
@ -33,7 +33,7 @@ describe("installing helm chart from previously opened tab", () => {
let builder: ApplicationBuilder;
let rendererDi: DiContainer;
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
let getHelmChartValuesMock: AsyncFnMock<GetHelmChartValues>;
let storagesAreReady: () => Promise<void>;
beforeEach(() => {
@ -44,7 +44,7 @@ describe("installing helm chart from previously opened tab", () => {
overrideFsWithFakes(rendererDi);
callForHelmChartVersionsMock = asyncFn();
callForHelmChartValuesMock = asyncFn();
getHelmChartValuesMock = asyncFn();
builder.beforeApplicationStart(({ rendererDi }) => {
rendererDi.override(
@ -62,17 +62,12 @@ describe("installing helm chart from previously opened tab", () => {
);
rendererDi.override(
callForHelmChartValuesInjectable,
() => callForHelmChartValuesMock,
getHelmChartValuesInjectable,
() => getHelmChartValuesMock,
);
rendererDi.override(
callForHelmChartValuesInjectable,
() => callForHelmChartValuesMock,
);
rendererDi.override(
callForCreateHelmReleaseInjectable,
createHelmReleaseInjectable,
() => jest.fn(),
);
@ -164,7 +159,7 @@ describe("installing helm chart from previously opened tab", () => {
});
it("calls for default configuration of the chart", () => {
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
"some-repository",
"some-name",
"some-other-version",
@ -180,7 +175,7 @@ describe("installing helm chart from previously opened tab", () => {
describe("when configuration and version resolves", () => {
beforeEach(async () => {
await callForHelmChartValuesMock.resolve(
await getHelmChartValuesMock.resolve(
"some-default-configuration",
);

View File

@ -8,12 +8,8 @@ import type { RenderResult } from "@testing-library/react";
import { fireEvent } from "@testing-library/react";
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
import type { CallForHelmCharts } from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
import callForHelmChartsInjectable from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
import { HelmChart } from "../../../renderer/k8s/helm-chart";
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
import type { CallForHelmChartReadme } from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
import callForHelmChartReadmeInjectable from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
import type { CallForHelmChartVersions } from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
@ -24,6 +20,9 @@ import directoryForLensLocalStorageInjectable from "../../../common/directory-fo
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
import type { DiContainer } from "@ogre-tools/injectable";
import type { ListHelmCharts } from "../../../renderer/k8s/helm-charts.api/list.injectable";
import listHelmChartsInjectable from "../../../renderer/k8s/helm-charts.api/list.injectable";
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
// TODO: Make tooltips free of side effects by making it deterministic
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
@ -33,7 +32,7 @@ jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
describe("opening dock tab for installing helm chart", () => {
let builder: ApplicationBuilder;
let rendererDi: DiContainer;
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
let listHelmChartsMock: AsyncFnMock<ListHelmCharts>;
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
let callForHelmChartValuesMock: jest.Mock;
@ -45,7 +44,7 @@ describe("opening dock tab for installing helm chart", () => {
overrideFsWithFakes(rendererDi);
callForHelmChartsMock = asyncFn();
listHelmChartsMock = asyncFn();
callForHelmChartVersionsMock = asyncFn();
callForHelmChartReadmeMock = asyncFn();
callForHelmChartValuesMock = jest.fn();
@ -59,8 +58,8 @@ describe("opening dock tab for installing helm chart", () => {
rendererDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
rendererDi.override(
callForHelmChartsInjectable,
() => callForHelmChartsMock,
listHelmChartsInjectable,
() => listHelmChartsMock,
);
rendererDi.override(
@ -74,12 +73,12 @@ describe("opening dock tab for installing helm chart", () => {
);
rendererDi.override(
callForHelmChartValuesInjectable,
callForHelmChartVersionsInjectable,
() => callForHelmChartValuesMock,
);
rendererDi.override(
callForCreateHelmReleaseInjectable,
createHelmReleaseInjectable,
() => jest.fn(),
);
@ -112,12 +111,12 @@ describe("opening dock tab for installing helm chart", () => {
});
it("calls for charts", () => {
expect(callForHelmChartsMock).toHaveBeenCalled();
expect(listHelmChartsMock).toHaveBeenCalled();
});
describe("when charts resolve", () => {
beforeEach(async () => {
await callForHelmChartsMock.resolve([
await listHelmChartsMock.resolve([
HelmChart.create({
apiVersion: "some-api-version",
name: "some-name",

View File

@ -6,7 +6,7 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import { asyncComputed } from "@ogre-tools/injectable-react";
import callForHelmChartReadmeInjectable from "./readme/call-for-helm-chart-readme.injectable";
import helmChartDetailsVersionSelectionInjectable from "./versions/helm-chart-details-version-selection.injectable";
import type { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
import type { HelmChart } from "../../../../renderer/k8s/helm-chart";
const readmeOfSelectedHelmChartInjectable = getInjectable({
id: "readme-of-selected-helm-chart",

View File

@ -3,7 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import { getChartDetails } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
import getHelmChartDetailsInjectable from "../../../../k8s/helm-charts.api/get-details.injectable";
export type CallForHelmChartReadme = (
repo: string,
@ -13,16 +13,16 @@ export type CallForHelmChartReadme = (
const callForHelmChartReadmeInjectable = getInjectable({
id: "call-for-helm-chart-readme",
instantiate: (di): CallForHelmChartReadme => {
const getHelmChartDetails = di.inject(getHelmChartDetailsInjectable);
instantiate:
(): CallForHelmChartReadme =>
async (repository: string, name: string, version: string) => {
// TODO: Dismantle wrong abstraction
const details = await getChartDetails(repository, name, { version });
return details.readme;
},
return async (repository, name, version) => {
// TODO: Dismantle wrong abstraction
const details = await getHelmChartDetails(repository, name, { version });
return details.readme;
};
},
causesSideEffects: true,
});

View File

@ -5,7 +5,7 @@
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import { asyncComputed } from "@ogre-tools/injectable-react";
import callForHelmChartVersionsInjectable from "./versions/call-for-helm-chart-versions.injectable";
import type { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
import type { HelmChart } from "../../../../renderer/k8s/helm-chart";
const versionsOfSelectedHelmChartInjectable = getInjectable({
id: "versions-of-selected-helm-chart",

View File

@ -3,8 +3,8 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import type { HelmChart } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
import { getChartDetails } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
import type { HelmChart } from "../../../../../renderer/k8s/helm-chart";
import getHelmChartDetailsInjectable from "../../../../k8s/helm-charts.api/get-details.injectable";
export type CallForHelmChartVersions = (
repo: string,
@ -14,13 +14,16 @@ export type CallForHelmChartVersions = (
const callForHelmChartVersionsInjectable = getInjectable({
id: "call-for-helm-chart-versions",
instantiate:
(): CallForHelmChartVersions => async (repository: string, name: string) => {
// TODO: Dismantle wrong abstraction
const details = await getChartDetails(repository, name);
instantiate: (di): CallForHelmChartVersions => {
const getHelmChartDetails = di.inject(getHelmChartDetailsInjectable);
return async (repository, name) => {
// TODO: Dismantle wrong abstraction
const details = await getHelmChartDetails(repository, name);
return details.versions;
},
};
},
causesSideEffects: true,
});

View File

@ -6,7 +6,7 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import type { IComputedValue } from "mobx";
import { computed, observable } from "mobx";
import versionsOfSelectedHelmChartInjectable from "../versions-of-selected-helm-chart.injectable";
import type { HelmChart } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
import type { HelmChart } from "../../../../../renderer/k8s/helm-chart";
import type { SingleValue } from "react-select";
interface VersionSelectionOption {

View File

@ -1,17 +0,0 @@
/**
* 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 type { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
import { listCharts } from "../../../../common/k8s-api/endpoints/helm-charts.api";
export type CallForHelmCharts = () => Promise<HelmChart[]>;
const callForHelmChartsInjectable = getInjectable({
id: "call-for-helm-charts",
instantiate: (): CallForHelmCharts => async () => await listCharts(),
causesSideEffects: true,
});
export default callForHelmChartsInjectable;

View File

@ -4,15 +4,15 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { asyncComputed } from "@ogre-tools/injectable-react";
import callForHelmChartsInjectable from "./call-for-helm-charts.injectable";
import listHelmChartsInjectable from "../../../k8s/helm-charts.api/list.injectable";
const helmChartsInjectable = getInjectable({
id: "helm-charts",
instantiate: (di) => {
const callForHelmCharts = di.inject(callForHelmChartsInjectable);
const listHelmCharts = di.inject(listHelmChartsInjectable);
return asyncComputed(async () => await callForHelmCharts(), []);
return asyncComputed(async () => await listHelmCharts(), []);
},
});

View File

@ -1,19 +0,0 @@
/**
* 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 type { HelmReleaseCreatePayload, HelmReleaseUpdateDetails } from "../../../../common/k8s-api/endpoints/helm-releases.api";
import { createRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api";
export type CallForCreateHelmRelease = (
payload: HelmReleaseCreatePayload
) => Promise<HelmReleaseUpdateDetails>;
const callForCreateHelmReleaseInjectable = getInjectable({
id: "call-for-create-helm-release",
instantiate: (): CallForCreateHelmRelease => createRelease,
causesSideEffects: true,
});
export default callForCreateHelmReleaseInjectable;

View File

@ -1,20 +0,0 @@
/**
* 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 { getChartValues } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
export type CallForHelmChartValues = (
repo: string,
name: string,
version: string
) => Promise<string>;
const callForHelmChartValuesInjectable = getInjectable({
id: "call-for-helm-chart-values",
instantiate: (): CallForHelmChartValues => getChartValues,
causesSideEffects: true,
});
export default callForHelmChartValuesInjectable;

View File

@ -5,8 +5,6 @@
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
import installChartTabStoreInjectable from "./store.injectable";
import { waitUntilDefined } from "../../../../common/utils";
import type { CallForHelmChartValues } from "./chart-data/call-for-helm-chart-values.injectable";
import callForHelmChartValuesInjectable from "./chart-data/call-for-helm-chart-values.injectable";
import type { IChartInstallData, InstallChartTabStore } from "./store";
import React from "react";
import {
@ -16,8 +14,6 @@ import {
runInAction,
} from "mobx";
import assert from "assert";
import type { CallForCreateHelmRelease } from "../../+helm-releases/create-release/call-for-create-helm-release.injectable";
import callForCreateHelmReleaseInjectable from "../../+helm-releases/create-release/call-for-create-helm-release.injectable";
import dockStoreInjectable from "../dock/store.injectable";
import type { NavigateToHelmReleases } from "../../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable";
import navigateToHelmReleasesInjectable from "../../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable";
@ -26,15 +22,19 @@ import type { CallForHelmChartVersions } from "../../+helm-charts/details/versio
import callForHelmChartVersionsInjectable from "../../+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
import type { HelmChart } from "../../../k8s/helm-chart";
import type { HelmReleaseUpdateDetails } from "../../../k8s/helm-releases.api/update.injectable";
import type { GetHelmChartValues } from "../../../k8s/helm-charts.api/get-values.injectable";
import getHelmChartValuesInjectable from "../../../k8s/helm-charts.api/get-values.injectable";
import type { CreateHelmRelease } from "../../../k8s/helm-releases.api/create.injectable";
import createHelmReleaseInjectable from "../../../k8s/helm-releases.api/create.injectable";
const installChartModelInjectable = getInjectable({
id: "install-chart-model",
instantiate: async (di, tabId: string) => {
const store = di.inject(installChartTabStoreInjectable);
const callForHelmChartValues = di.inject(callForHelmChartValuesInjectable);
const callForHelmChartValues = di.inject(getHelmChartValuesInjectable);
const callForHelmChartVersions = di.inject(callForHelmChartVersionsInjectable);
const callForCreateHelmRelease = di.inject(callForCreateHelmReleaseInjectable);
const callForCreateHelmRelease = di.inject(createHelmReleaseInjectable);
const dockStore = di.inject(dockStoreInjectable);
const navigateToHelmReleases = di.inject(navigateToHelmReleasesInjectable);
const closeTab = () => dockStore.closeTab(tabId);
@ -71,8 +71,8 @@ interface Dependencies {
closeTab: () => void;
navigateToHelmReleases: NavigateToHelmReleases;
waitForChart: () => Promise<void>;
callForCreateHelmRelease: CallForCreateHelmRelease;
callForHelmChartValues: CallForHelmChartValues;
callForCreateHelmRelease: CreateHelmRelease;
callForHelmChartValues: GetHelmChartValues;
callForHelmChartVersions: CallForHelmChartVersions;
store: InstallChartTabStore;
}

View File

@ -7,8 +7,6 @@ import { InstallChartTabStore } from "./store";
import createDockTabStoreInjectable from "../dock-tab-store/create-dock-tab-store.injectable";
import createStorageInjectable from "../../../utils/create-storage/create-storage.injectable";
import type { HelmReleaseUpdateDetails } from "../../../k8s/helm-releases.api/update.injectable";
import getHelmChartDetailsInjectable from "../../../k8s/helm-charts.api/get-details.injectable";
import getHelmChartValuesInjectable from "../../../k8s/helm-charts.api/get-values.injectable";
const installChartTabStoreInjectable = getInjectable({
id: "install-chart-tab-store",
@ -20,8 +18,6 @@ const installChartTabStoreInjectable = getInjectable({
createStorage: di.inject(createStorageInjectable),
versionsStore: createDockTabStore<string[]>(),
detailsStore: createDockTabStore<HelmReleaseUpdateDetails>(),
getHelmChartDetails: di.inject(getHelmChartDetailsInjectable),
getHelmChartValues: di.inject(getHelmChartValuesInjectable),
});
},
});