mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
/**
|
|
* 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 { HelmChartManager } from "../helm-chart-manager";
|
|
import getActiveHelmRepositoryInjectable from "../repositories/get-active-helm-repository.injectable";
|
|
|
|
const getHelmChartInjectable = getInjectable({
|
|
id: "get-helm-chart",
|
|
|
|
instantiate: (di) => {
|
|
const getActiveHelmRepository = di.inject(getActiveHelmRepositoryInjectable);
|
|
|
|
return async (repoName: string, chartName: string, version = "") => {
|
|
const repo = await getActiveHelmRepository(repoName);
|
|
|
|
if (!repo) {
|
|
return undefined;
|
|
}
|
|
|
|
const chartManager = HelmChartManager.forRepo(repo);
|
|
|
|
return {
|
|
readme: await chartManager.getReadme(chartName, version),
|
|
versions: await chartManager.chartVersions(chartName),
|
|
};
|
|
};
|
|
},
|
|
|
|
causesSideEffects: true,
|
|
});
|
|
|
|
export default getHelmChartInjectable;
|