{"version":3,"file":"useRemoveAsset.mjs","sources":["../../../admin/src/hooks/useRemoveAsset.ts"],"sourcesContent":["import { useNotification, useFetchClient, FetchResponse } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient, UseMutationResult } from 'react-query';\n\nimport { pluginId } from '../pluginId';\n\nimport type { DeleteFile } from '../../../shared/contracts/files';\n\ntype UseRemoveAsset = {\n removeAsset: (assetId: number) => Promise;\n} & UseMutationResult, Error, number>;\n\nexport const useRemoveAsset = (onSuccess: () => void): UseRemoveAsset => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const queryClient = useQueryClient();\n const { del } = useFetchClient();\n\n const mutation = useMutation(\n (assetId: number) => del(`/upload/files/${assetId}`),\n {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'modal.remove.success-label',\n defaultMessage: 'Elements have been successfully deleted.',\n }),\n });\n\n onSuccess();\n },\n onError(error: Error) {\n toggleNotification({ type: 'danger', message: error.message });\n },\n }\n );\n\n const removeAsset = async (assetId: number) => {\n await mutation.mutateAsync(assetId);\n };\n\n return { ...mutation, removeAsset };\n};\n"],"names":["useRemoveAsset","onSuccess","toggleNotification","useNotification","formatMessage","useIntl","queryClient","useQueryClient","del","useFetchClient","mutation","useMutation","assetId","refetchQueries","pluginId","active","type","message","id","defaultMessage","onError","error","removeAsset","mutateAsync"],"mappings":";;;;;AAYO,MAAMA,iBAAiB,CAACC,SAAAA,GAAAA;IAC7B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,WAAcC,GAAAA,cAAAA,EAAAA;IACpB,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;IAEhB,MAAMC,QAAAA,GAAWC,WACf,CAAA,CAACC,OAAoBJ,GAAAA,GAAAA,CAAyB,CAAC,cAAc,EAAEI,OAAQ,CAAA,CAAC,CACxE,EAAA;AACEX,QAAAA,SAAAA,CAAAA,GAAAA;AACEK,YAAAA,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA;aAAS,EAAE;gBAAEC,MAAQ,EAAA;AAAK,aAAA,CAAA;AAChET,YAAAA,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA;aAAc,EAAE;gBAAEC,MAAQ,EAAA;AAAK,aAAA,CAAA;YAErEb,kBAAmB,CAAA;gBACjBc,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAASb,aAAc,CAAA;oBACrBc,EAAI,EAAA,4BAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEAlB,YAAAA,SAAAA,EAAAA;AACF,SAAA;AACAmB,QAAAA,OAAAA,CAAAA,CAAQC,KAAY,EAAA;YAClBnB,kBAAmB,CAAA;gBAAEc,IAAM,EAAA,QAAA;AAAUC,gBAAAA,OAAAA,EAASI,MAAMJ;AAAQ,aAAA,CAAA;AAC9D;AACF,KAAA,CAAA;AAGF,IAAA,MAAMK,cAAc,OAAOV,OAAAA,GAAAA;QACzB,MAAMF,QAAAA,CAASa,WAAW,CAACX,OAAAA,CAAAA;AAC7B,KAAA;IAEA,OAAO;AAAE,QAAA,GAAGF,QAAQ;AAAEY,QAAAA;AAAY,KAAA;AACpC;;;;"}