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

Function useUpdateMeta

client/src/api/metadata/queries.ts:84–109  ·  view source on GitHub ↗
(meta: SigMFMetadata)

Source from the content-addressed store, hash-verified

82};
83
84export const useUpdateMeta = (meta: SigMFMetadata) => {
85 let client = useQueryClient();
86 if (!meta.getOrigin()) {
87 throw new Error('Meta is missing origin');
88 }
89 const { type, account, container, file_path: filePath } = meta.getOrigin();
90 const { dataSourcesQuery, filesQuery } = useUserSettings();
91 const { instance } = useMsal();
92 const metadataClient = MetadataClientFactory(type, filesQuery.data, dataSourcesQuery.data, instance);
93
94 return useMutation({
95 mutationFn: (newMeta: SigMFMetadata) => {
96 return updateDataSourceMeta(metadataClient, account, container, filePath, newMeta);
97 },
98 onMutate: async () => {
99 await client.cancelQueries(['datasource', type, account, container, filePath, 'meta']);
100 const previousMeta = client.getQueryData(['datasource', type, account, container, filePath, 'meta']);
101 client.setQueryData(['datasource', type, account, container, filePath, 'meta'], meta);
102 return { previousMeta };
103 },
104 onError: (err, newMeta, context) => {
105 console.error('onError', err);
106 client.setQueryData(['datasource', type, account, container, filePath, 'meta'], context.previousMeta);
107 },
108 });
109};
110
111export const useGetMetadataFeatures = (type: string) => {
112 const { filesQuery, dataSourcesQuery } = useUserSettings();

Callers 1

MetaRawFunction · 0.90

Calls 5

useUserSettingsFunction · 0.90
MetadataClientFactoryFunction · 0.90
useQueryClientFunction · 0.85
updateDataSourceMetaFunction · 0.85
getOriginMethod · 0.80

Tested by

no test coverage detected