{"version":3,"file":"content-manager.mjs","sources":["../../../admin/src/services/content-manager.ts"],"sourcesContent":["import * as Homepage from '../../../shared/contracts/homepage';\n\n/* eslint-disable check-file/filename-naming-convention */\nimport { reviewWorkflowsApi } from './api';\n\nimport type {\n  GetStages,\n  UpdateStage,\n  UpdateAssignee,\n} from '../../../shared/contracts/review-workflows';\nimport type { Contracts } from '@strapi/content-manager/_internal/shared';\n\ntype ContentType = Contracts.ContentTypes.ContentType;\ninterface ContentTypes {\n  collectionType: ContentType[];\n  singleType: ContentType[];\n}\n\nconst SINGLE_TYPES = 'single-types';\n\nconst contentManagerApi = reviewWorkflowsApi\n  .enhanceEndpoints({\n    addTagTypes: ['RecentlyAssignedList', 'RecentDocumentList'],\n  })\n  .injectEndpoints({\n    endpoints: (builder) => ({\n      getStages: builder.query<\n        {\n          stages: NonNullable<GetStages.Response['data']>;\n          meta: NonNullable<GetStages.Response['meta']>;\n        },\n        GetStages.Params & { slug: string; params?: object }\n      >({\n        query: ({ model, slug, id, params }) => ({\n          url: `/review-workflows/content-manager/${slug}/${model}/${id}/stages`,\n          method: 'GET',\n          config: {\n            params,\n          },\n        }),\n        transformResponse: (res: GetStages.Response) => {\n          return {\n            meta: res.meta ?? { workflowCount: 0 },\n            stages: res.data ?? [],\n          };\n        },\n        providesTags: ['ReviewWorkflowStages'],\n      }),\n      updateStage: builder.mutation<\n        UpdateStage.Response['data'],\n        UpdateStage.Request['body'] & UpdateStage.Params & { slug: string; params?: object }\n      >({\n        query: ({ model, slug, id, params, ...data }) => ({\n          url: `/review-workflows/content-manager/${slug}/${model}/${id}/stage`,\n          method: 'PUT',\n          data,\n          config: {\n            params,\n          },\n        }),\n        transformResponse: (res: UpdateStage.Response) => res.data,\n        invalidatesTags: (_result, _error, { slug, id, model }) => {\n          return [\n            {\n              type: 'Document',\n              id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n            },\n            { type: 'Document', id: `${model}_LIST` },\n            'ReviewWorkflowStages',\n          ];\n        },\n      }),\n      updateAssignee: builder.mutation<\n        UpdateAssignee.Response['data'],\n        UpdateAssignee.Request['body'] & UpdateAssignee.Params & { slug: string; params?: object }\n      >({\n        query: ({ model, slug, id, params, ...data }) => ({\n          url: `/review-workflows/content-manager/${slug}/${model}/${id}/assignee`,\n          method: 'PUT',\n          data,\n          config: {\n            params,\n          },\n        }),\n        transformResponse: (res: UpdateAssignee.Response) => res.data,\n        invalidatesTags: (_result, _error, { slug, id, model }) => {\n          return [\n            {\n              type: 'Document',\n              id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n            },\n            { type: 'Document', id: `${model}_LIST` },\n            'RecentlyAssignedList',\n          ];\n        },\n      }),\n      getContentTypes: builder.query<ContentTypes, void>({\n        query: () => ({\n          url: `/content-manager/content-types`,\n          method: 'GET',\n        }),\n        transformResponse: (res: { data: Contracts.ContentTypes.ContentType[] }) => {\n          return res.data.reduce<ContentTypes>(\n            (acc, curr) => {\n              if (curr.isDisplayed) {\n                acc[curr.kind].push(curr);\n              }\n              return acc;\n            },\n            {\n              collectionType: [],\n              singleType: [],\n            }\n          );\n        },\n      }),\n      getRecentlyAssignedDocuments: builder.query<\n        Homepage.GetRecentlyAssignedDocuments.Response['data'],\n        void\n      >({\n        query: () => '/review-workflows/homepage/recently-assigned-documents',\n        transformResponse: (response: Homepage.GetRecentlyAssignedDocuments.Response) =>\n          response.data,\n        providesTags: (_, _err) => ['RecentlyAssignedList', 'RecentDocumentList'],\n      }),\n    }),\n    overrideExisting: true,\n  });\n\nconst {\n  useGetStagesQuery,\n  useUpdateStageMutation,\n  useUpdateAssigneeMutation,\n  useGetContentTypesQuery,\n  useGetRecentlyAssignedDocumentsQuery,\n} = contentManagerApi;\n\nexport {\n  useGetStagesQuery,\n  useUpdateStageMutation,\n  useUpdateAssigneeMutation,\n  useGetContentTypesQuery,\n  useGetRecentlyAssignedDocumentsQuery,\n};\nexport type { ContentTypes, ContentType };\n"],"names":["SINGLE_TYPES","contentManagerApi","reviewWorkflowsApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getStages","query","model","slug","id","params","url","method","config","transformResponse","res","meta","workflowCount","stages","data","providesTags","updateStage","mutation","invalidatesTags","_result","_error","type","updateAssignee","getContentTypes","reduce","acc","curr","isDisplayed","kind","push","collectionType","singleType","getRecentlyAssignedDocuments","response","_","_err","overrideExisting","useGetStagesQuery","useUpdateStageMutation","useUpdateAssigneeMutation","useGetContentTypesQuery","useGetRecentlyAssignedDocumentsQuery"],"mappings":"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"}