- finally fixed custom imput to match what is on backend on sighting amend endpoint
This commit is contained in:
@@ -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 };
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user