MCPcopy Create free account
hub / github.com/IQEngine/IQEngine / useCreatePlugin

Function useCreatePlugin

client/src/api/plugin/queries.tsx:133–152  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

131};
132
133export const useCreatePlugin = () => {
134 const client = useQueryClient();
135
136 return useMutation({
137 mutationFn: (plugin: PluginDefinition) => {
138 return axios.post('/api/plugins/', plugin);
139 },
140 onMutate: async (plugin: PluginDefinition) => {
141 await client.cancelQueries(['plugins']);
142 const previousPlugins = client.getQueryData<PluginDefinition[]>(['plugins']);
143 const updatedPlugins = Array.isArray(previousPlugins) ? [...previousPlugins, plugin] : [plugin];
144 client.setQueryData<PluginDefinition[]>(['plugins'], updatedPlugins);
145 return { previousPlugins };
146 },
147 onError: (err, plugin, context) => {
148 console.error('onError', err);
149 client.setQueryData(['plugins'], context.previousPlugins);
150 },
151 });
152};

Callers 1

PluginAddFunction · 0.90

Calls 1

useQueryClientFunction · 0.85

Tested by

no test coverage detected