- finally fixed custom imput to match what is on backend on sighting amend endpoint

This commit is contained in:
2025-12-05 12:53:42 +00:00
parent 9208470e53
commit 9e89193747
5 changed files with 108 additions and 44 deletions

View File

@@ -1,5 +1,6 @@
import { useQuery } from "@tanstack/react-query";
import { useQuery, useMutation } from "@tanstack/react-query";
import { CAMBASE } from "../../../utils/config";
import type { CustomFieldConfig } from "../../../types/types";
const fetchCustomFields = async () => {
const response = await fetch(`${CAMBASE}/api/fetch-config?id=SightingAmmend0-custom-fields`);
@@ -9,11 +10,56 @@ const fetchCustomFields = async () => {
return response.json();
};
const postCustomFields = async (customFieldConfig: CustomFieldConfig[]) => {
const fields = [];
for (const customField of customFieldConfig) {
if (customField.value)
if (customFieldConfig.indexOf(customField) > 2) {
fields.push({
property: `propStringName${customFieldConfig.indexOf(customField) + 1}`,
value: customField.label,
});
fields.push({
property: `propStringValue${customFieldConfig.indexOf(customField) + 1}`,
value: customField.value,
});
} else {
fields.push(
{
property: `propCustomFieldName${customFieldConfig.indexOf(customField) + 1}`,
value: customField.label,
},
{
property: `propCustomFieldValue${customFieldConfig.indexOf(customField) + 1}`,
value: customField.value,
},
);
}
}
const customFieldConfigPayload = {
id: "SightingAmmend0-custom-fields",
fields,
};
const response = await fetch(`${CAMBASE}/api/update-config`, {
method: "POST",
body: JSON.stringify(customFieldConfigPayload),
});
if (!response.ok) throw new Error("Network response was not ok");
return response.json();
};
export const useCustomFields = () => {
const customFieldsQuery = useQuery({
queryKey: ["customFields"],
queryFn: fetchCustomFields,
});
return { customFieldsQuery };
const customFieldsMutation = useMutation({
mutationKey: ["customFieldsMutation"],
mutationFn: postCustomFields,
});
return { customFieldsQuery, customFieldsMutation };
};