mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
31 lines
1.1 KiB
TypeScript
31 lines
1.1 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 assert from "assert";
|
|
import { storesAndApisCanBeCreatedInjectionToken } from "./can-be-created-token";
|
|
import { ClusterRoleApi } from "@k8slens/kube-api";
|
|
import { kubeApiInjectionToken } from "./token";
|
|
import { logErrorInjectionToken, logInfoInjectionToken, logWarningInjectionToken } from "@k8slens/logger";
|
|
import { maybeKubeApiInjectable } from "./maybe-kube-api.injectable";
|
|
|
|
export const clusterRoleApiInjectable = getInjectable({
|
|
id: "cluster-role-api",
|
|
instantiate: (di) => {
|
|
assert(
|
|
di.inject(storesAndApisCanBeCreatedInjectionToken),
|
|
"clusterRoleApi is only available in certain environments",
|
|
);
|
|
|
|
return new ClusterRoleApi({
|
|
logError: di.inject(logErrorInjectionToken),
|
|
logInfo: di.inject(logInfoInjectionToken),
|
|
logWarn: di.inject(logWarningInjectionToken),
|
|
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
|
});
|
|
},
|
|
|
|
injectionToken: kubeApiInjectionToken,
|
|
});
|