{"version":3,"file":"useEditFolder.mjs","sources":["../../../admin/src/hooks/useEditFolder.ts"],"sourcesContent":["import { useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { CreateFolders, UpdateFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\n\ninterface EditFolderRequestParams {\n  attrs: CreateFolders.Request['body'] | UpdateFolder.Request['body'];\n  id?: UpdateFolder.Request['params']['id'];\n}\n\nconst editFolderRequest = (\n  put: FetchClient['put'],\n  post: FetchClient['post'],\n  { attrs, id }: EditFolderRequestParams\n): Promise<UpdateFolder.Response['data'] | CreateFolders.Response['data']> => {\n  const isEditing = !!id;\n  const method = isEditing ? put : post;\n\n  return method(`/upload/folders/${id ?? ''}`, attrs).then((res) => res.data);\n};\n\nexport const useEditFolder = () => {\n  const queryClient = useQueryClient();\n  const { put, post } = useFetchClient();\n\n  const mutation = useMutation<\n    UpdateFolder.Response['data'] | CreateFolders.Response['data'],\n    UpdateFolder.Response['error'] | CreateFolders.Response['error'],\n    EditFolderRequestParams\n  >((...args) => editFolderRequest(put, post, ...args), {\n    async onSuccess() {\n      await queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n      await queryClient.refetchQueries([pluginId, 'folder', 'structure'], { active: true });\n    },\n  });\n\n  const editFolder = (\n    attrs: EditFolderRequestParams['attrs'],\n    id?: EditFolderRequestParams['id']\n  ) => mutation.mutateAsync({ attrs, id });\n\n  return { ...mutation, editFolder, status: mutation.status };\n};\n"],"names":["editFolderRequest","put","post","attrs","id","isEditing","method","then","res","data","useEditFolder","queryClient","useQueryClient","useFetchClient","mutation","useMutation","args","onSuccess","refetchQueries","pluginId","active","editFolder","mutateAsync","status"],"mappings":";;;;AAWA,MAAMA,iBAAAA,GAAoB,CACxBC,GAAAA,EACAC,IAAAA,EACA,EAAEC,KAAK,EAAEC,EAAE,EAA2B,GAAA;IAEtC,MAAMC,SAAAA,GAAY,CAAC,CAACD,EAAAA;IACpB,MAAME,MAAAA,GAASD,YAAYJ,GAAAA,GAAMC,IAAAA;AAEjC,IAAA,OAAOI,MAAAA,CAAO,CAAC,gBAAgB,EAAEF,EAAAA,IAAM,EAAA,CAAA,CAAI,EAAED,KAAAA,CAAAA,CAAOI,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,IAAI,CAAA;AAC5E,CAAA;MAEaC,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,WAAAA,GAAcC,cAAAA,EAAAA;AACpB,IAAA,MAAM,EAAEX,GAAG,EAAEC,IAAI,EAAE,GAAGW,cAAAA,EAAAA;IAEtB,MAAMC,QAAAA,GAAWC,YAIf,CAAC,GAAGC,OAAShB,iBAAAA,CAAkBC,GAAAA,EAAKC,SAASc,IAAAA,CAAAA,EAAO;QACpD,MAAMC,SAAAA,CAAAA,GAAAA;YACJ,MAAMN,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA;aAAU,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;YACvE,MAAMT,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA,QAAA;AAAU,gBAAA;aAAY,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;AACrF,QAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMC,aAAa,CACjBlB,KAAAA,EACAC,EAAAA,GACGU,QAAAA,CAASQ,WAAW,CAAC;AAAEnB,YAAAA,KAAAA;AAAOC,YAAAA;AAAG,SAAA,CAAA;IAEtC,OAAO;AAAE,QAAA,GAAGU,QAAQ;AAAEO,QAAAA,UAAAA;AAAYE,QAAAA,MAAAA,EAAQT,SAASS;AAAO,KAAA;AAC5D;;;;"}