Files
pole-book/server/node_modules/@strapi/upload/dist/admin/hooks/useConfig.mjs

56 lines
1.6 KiB
JavaScript

import { useTracking, useNotification, useFetchClient } from '@strapi/admin/strapi-admin';
import { useIntl } from 'react-intl';
import { useQuery, useMutation } from 'react-query';
import { pluginId } from '../pluginId.mjs';
const endpoint = `/${pluginId}/configuration`;
const queryKey = [
pluginId,
'configuration'
];
const useConfig = ()=>{
const { trackUsage } = useTracking();
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { get, put } = useFetchClient();
const config = useQuery(queryKey, async ()=>{
const res = await get(endpoint);
return res.data.data;
}, {
onError () {
return toggleNotification({
type: 'danger',
message: formatMessage({
id: 'notification.error'
})
});
},
/**
* We're cementing that we always expect an object to be returned.
*/ select: (data)=>data || {}
});
const putMutation = useMutation(async (body)=>{
await put(endpoint, body);
}, {
onSuccess () {
trackUsage('didEditMediaLibraryConfig');
config.refetch();
},
onError () {
return toggleNotification({
type: 'danger',
message: formatMessage({
id: 'notification.error'
})
});
}
});
return {
config,
mutateConfig: putMutation
};
};
export { useConfig };
//# sourceMappingURL=useConfig.mjs.map