refactor: update extension points settings using new configMap API (#7529)

#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Update extension points settings using new configMap API

#### Does this PR introduce a user-facing change?

```release-note
None
```
pull/7530/head
Ryan Wang 2025-06-10 00:34:34 +08:00 committed by GitHub
parent 8dfae708ff
commit c50099e491
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 29 deletions

View File

@ -1,6 +1,6 @@
<script lang="ts" setup>
import {
coreApiClient,
consoleApiClient,
type ExtensionPointDefinition,
} from "@halo-dev/api-client";
import {
@ -17,6 +17,8 @@ import { useI18n } from "vue-i18n";
import { useExtensionDefinitionFetch } from "../../composables/use-extension-definition-fetch";
import ExtensionDefinitionListItem from "./ExtensionDefinitionListItem.vue";
const EXTENSION_POINT_ENABLED_GROUP = "extensionPointEnabled";
const { t } = useI18n();
const queryClient = useQueryClient();
@ -45,16 +47,13 @@ const { data: value } = useQuery({
queryFn: async () => {
if (!extensionPointDefinition.value) return null;
const { data } = await coreApiClient.configMap.getConfigMap({
name: "system",
});
const extensionPointEnabled = JSON.parse(
data.data?.["extensionPointEnabled"] || "{}"
);
const { data: extensionPointEnabled } =
await consoleApiClient.configMap.system.getSystemConfigByGroup({
group: EXTENSION_POINT_ENABLED_GROUP,
});
const extensionPointValue =
extensionPointEnabled[extensionPointDefinition.value?.metadata.name];
extensionPointEnabled?.[extensionPointDefinition.value?.metadata.name];
// check is array
if (Array.isArray(extensionPointValue)) {
@ -79,27 +78,17 @@ async function handleChange(value: string) {
isSubmitting.value = true;
try {
const { data: configMap } = await coreApiClient.configMap.getConfigMap({
name: "system",
});
const { data: extensionPointEnabled } =
await consoleApiClient.configMap.system.getSystemConfigByGroup({
group: EXTENSION_POINT_ENABLED_GROUP,
});
const extensionPointEnabled = JSON.parse(
configMap.data?.["extensionPointEnabled"] || "{}"
);
extensionPointEnabled[extensionPointDefinition.value?.metadata.name] = [
value,
];
await coreApiClient.configMap.patchConfigMap({
name: "system",
jsonPatchInner: [
{
op: "add",
path: "/data/extensionPointEnabled",
value: JSON.stringify(extensionPointEnabled),
},
],
await consoleApiClient.configMap.system.updateSystemConfigByGroup({
group: EXTENSION_POINT_ENABLED_GROUP,
body: {
...extensionPointEnabled,
[extensionPointDefinition.value?.metadata.name]: [value],
},
});
Toast.success(t("core.common.toast.save_success"));