1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/main/cluster-detectors/cluster-last-seen-detector.injectable.ts
Sebastian Malton 8e65a0acd6
Improve the injectability of cluster metadata detection (#6910)
* Improve the injectability of cluster metadata detection

- Remove unnecessary and complex base class

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove dead code

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove dead code

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-19 16:34:31 +02:00

33 lines
1017 B
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { clusterMetadataDetectorInjectionToken } from "./token";
import { ClusterMetadataKey } from "../../common/cluster-types";
import { getInjectable } from "@ogre-tools/injectable";
import requestClusterVersionInjectable from "./request-cluster-version.injectable";
const clusterLastSeenDetectorInjectable = getInjectable({
id: "cluster-last-seen-detector",
instantiate: (di) => {
const requestClusterVersion = di.inject(requestClusterVersionInjectable);
return {
key: ClusterMetadataKey.LAST_SEEN,
detect: async (cluster) => {
try {
await requestClusterVersion(cluster);
return { value: new Date().toJSON(), accuracy: 100 };
} catch {
return null;
}
},
};
},
injectionToken: clusterMetadataDetectorInjectionToken,
});
export default clusterLastSeenDetectorInjectable;