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