1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/api/endpoints/configmap.api.ts
Roman 7fcc9fac46 Merge remote-tracking branch 'origin/master' into mobx6-migration
# Conflicts:
#	src/common/catalog/catalog-entity-registry.ts
#	src/common/cluster-store.ts
#	src/extensions/registries/page-registry.ts
#	src/main/catalog-pusher.ts
#	src/main/catalog-sources/kubeconfig-sync.ts
#	src/main/extension-filesystem.ts
#	src/renderer/api/endpoints/configmap.api.ts
#	src/renderer/api/endpoints/job.api.ts
#	src/renderer/api/endpoints/resource-quota.api.ts
#	src/renderer/api/endpoints/secret.api.ts
#	src/renderer/api/kube-object.ts
#	src/renderer/api/kube-watch-api.ts
#	src/renderer/components/+apps-releases/release-menu.tsx
#	src/renderer/components/+catalog/catalog-add-button.tsx
#	src/renderer/components/+cluster/cluster-issues.tsx
#	src/renderer/components/+custom-resources/crd-resources.tsx
#	src/renderer/components/+entity-settings/entity-settings.tsx
#	src/renderer/components/+storage-volumes/volume-details-list.tsx
#	src/renderer/components/+user-management-roles-bindings/role-binding-details.tsx
#	src/renderer/components/+workloads-pods/pod-details-list.tsx
#	src/renderer/components/cluster-manager/cluster-view.tsx
#	src/renderer/components/cluster-settings/components/cluster-metrics-setting.tsx
#	src/renderer/components/cluster-settings/components/show-metrics.tsx
#	src/renderer/components/dock/__test__/dock-tabs.test.tsx
#	src/renderer/components/dock/log.store.ts
#	src/renderer/components/dock/logs.tsx
#	src/renderer/components/dock/upgrade-chart.store.ts
#	src/renderer/components/icon/icon.tsx
#	src/renderer/components/kube-object/kube-object-menu.tsx
#	src/renderer/components/notifications/notifications.store.tsx
#	src/renderer/hooks/useStorage.ts
#	src/renderer/navigation/page-param.ts
2021-05-19 19:53:31 +03:00

53 lines
1.7 KiB
TypeScript

/**
* Copyright (c) 2021 OpenLens Authors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import { KubeObject } from "../kube-object";
import type { KubeJsonApiData } from "../kube-json-api";
import { KubeApi } from "../kube-api";
import { autoBind } from "../../../common/utils";
export interface ConfigMap {
data: {
[param: string]: string;
};
}
export class ConfigMap extends KubeObject {
static kind = "ConfigMap";
static namespaced = true;
static apiBase = "/api/v1/configmaps";
constructor(data: KubeJsonApiData) {
super(data);
autoBind(this);
this.data ??= {};
}
getKeys(): string[] {
return Object.keys(this.data);
}
}
export const configMapApi = new KubeApi({
objectConstructor: ConfigMap,
});