@strapi/content-manager 5.42.1 → 5.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/admin/components/Widgets.js +1 -1
  2. package/dist/admin/components/Widgets.js.map +1 -1
  3. package/dist/admin/components/Widgets.mjs +1 -1
  4. package/dist/admin/components/Widgets.mjs.map +1 -1
  5. package/dist/admin/hooks/useDocument.js +3 -2
  6. package/dist/admin/hooks/useDocument.js.map +1 -1
  7. package/dist/admin/hooks/useDocument.mjs +3 -2
  8. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  9. package/dist/admin/hooks/useDocumentActions.js +5 -5
  10. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  11. package/dist/admin/hooks/useDocumentActions.mjs +6 -6
  12. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  13. package/dist/admin/hooks/useDocumentLayout.js +2 -2
  14. package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
  15. package/dist/admin/hooks/useDocumentLayout.mjs +2 -2
  16. package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
  17. package/dist/admin/hooks/usePersistentQueryParams.js +46 -22
  18. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  19. package/dist/admin/hooks/usePersistentQueryParams.mjs +48 -24
  20. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  21. package/dist/admin/pages/EditView/EditViewPage.js +33 -6
  22. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  23. package/dist/admin/pages/EditView/EditViewPage.mjs +14 -6
  24. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  25. package/dist/admin/pages/EditView/components/DocumentActions.js +30 -20
  26. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  27. package/dist/admin/pages/EditView/components/DocumentActions.mjs +30 -20
  28. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +3 -1
  30. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +3 -1
  32. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +19 -0
  34. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +19 -0
  36. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +1 -0
  38. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +1 -0
  40. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +4 -1
  42. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +4 -1
  44. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +36 -9
  46. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +36 -9
  48. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  49. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +22 -5
  50. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  51. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +26 -9
  52. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  53. package/dist/admin/pages/ListView/ListViewPage.js +23 -10
  54. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  55. package/dist/admin/pages/ListView/ListViewPage.mjs +23 -10
  56. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  57. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +1 -1
  58. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  59. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +1 -1
  60. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  61. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +37 -25
  62. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  63. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +38 -26
  64. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  65. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +3 -0
  66. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  67. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +3 -0
  68. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  69. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +3 -2
  70. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
  71. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +3 -2
  72. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
  73. package/dist/admin/services/documents.js +32 -7
  74. package/dist/admin/services/documents.js.map +1 -1
  75. package/dist/admin/services/documents.mjs +32 -8
  76. package/dist/admin/services/documents.mjs.map +1 -1
  77. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  78. package/dist/admin/src/hooks/useDocument.d.ts +1 -1
  79. package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +8 -1
  80. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +3 -1
  81. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +2 -0
  82. package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +1 -1
  83. package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +2 -1
  84. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  85. package/dist/admin/src/services/api.d.ts +1 -1
  86. package/dist/admin/src/services/components.d.ts +2 -2
  87. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  88. package/dist/admin/src/services/documents.d.ts +22 -17
  89. package/dist/admin/src/services/homepage.d.ts +1 -1
  90. package/dist/admin/src/services/init.d.ts +1 -1
  91. package/dist/admin/src/services/relations.d.ts +2 -2
  92. package/dist/admin/src/services/uid.d.ts +3 -3
  93. package/dist/admin/translations/cs.json.js +242 -8
  94. package/dist/admin/translations/cs.json.js.map +1 -1
  95. package/dist/admin/translations/cs.json.mjs +242 -9
  96. package/dist/admin/translations/cs.json.mjs.map +1 -1
  97. package/dist/admin/translations/nl.json.js +180 -11
  98. package/dist/admin/translations/nl.json.js.map +1 -1
  99. package/dist/admin/translations/nl.json.mjs +180 -11
  100. package/dist/admin/translations/nl.json.mjs.map +1 -1
  101. package/dist/server/controllers/collection-types.js +32 -1
  102. package/dist/server/controllers/collection-types.js.map +1 -1
  103. package/dist/server/controllers/collection-types.mjs +33 -2
  104. package/dist/server/controllers/collection-types.mjs.map +1 -1
  105. package/dist/server/routes/admin.js +21 -0
  106. package/dist/server/routes/admin.js.map +1 -1
  107. package/dist/server/routes/admin.mjs +21 -0
  108. package/dist/server/routes/admin.mjs.map +1 -1
  109. package/dist/server/src/controllers/collection-types.d.ts +1 -0
  110. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  111. package/dist/server/src/controllers/index.d.ts +1 -0
  112. package/dist/server/src/controllers/index.d.ts.map +1 -1
  113. package/dist/server/src/index.d.ts +1 -0
  114. package/dist/server/src/index.d.ts.map +1 -1
  115. package/dist/server/src/routes/admin.d.ts.map +1 -1
  116. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"CellContent.mjs","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellContent.tsx"],"sourcesContent":["import { Tooltip, Typography } from '@strapi/design-system';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { CellValue } from './CellValue';\nimport { SingleComponent, RepeatableComponent } from './Components';\nimport { MediaSingle, MediaMultiple } from './Media';\nimport { RelationMultiple, RelationSingle } from './Relations';\n\nimport type { ListFieldLayout } from '../../../../hooks/useDocumentLayout';\nimport type { Schema, Data } from '@strapi/types';\n\ninterface CellContentProps extends Omit<ListFieldLayout, 'cellFormatter'> {\n content: Schema.Attribute.Value<Schema.Attribute.AnyAttribute>;\n rowId: Data.ID;\n}\n\nconst CellContent = ({ content, mainField, attribute, rowId, name }: CellContentProps) => {\n if (!hasContent(content, mainField, attribute)) {\n return (\n <Typography\n textColor=\"neutral800\"\n paddingLeft={attribute.type === ('relation' || 'component') ? '1.6rem' : 0}\n paddingRight={attribute.type === ('relation' || 'component') ? '1.6rem' : 0}\n >\n -\n </Typography>\n );\n }\n\n switch (attribute.type) {\n case 'media':\n if (!attribute.multiple) {\n return <MediaSingle {...content} />;\n }\n\n return <MediaMultiple content={content} />;\n\n case 'relation': {\n if (isSingleRelation(attribute.relation)) {\n return <RelationSingle mainField={mainField} content={content} />;\n }\n\n return <RelationMultiple rowId={rowId} mainField={mainField} content={content} name={name} />;\n }\n\n case 'component':\n if (attribute.repeatable) {\n return <RepeatableComponent mainField={mainField} content={content} />;\n }\n\n return <SingleComponent mainField={mainField} content={content} />;\n\n case 'string':\n return (\n <Tooltip label={content}>\n <Typography maxWidth=\"30rem\" ellipsis textColor=\"neutral800\">\n <CellValue type={attribute.type} value={content} />\n </Typography>\n </Tooltip>\n );\n\n default:\n return (\n <Typography maxWidth=\"30rem\" ellipsis textColor=\"neutral800\">\n <CellValue type={attribute.type} value={content} />\n </Typography>\n );\n }\n};\n\nconst hasContent = (\n content: CellContentProps['content'],\n mainField: CellContentProps['mainField'],\n attribute: CellContentProps['attribute']\n) => {\n if (attribute.type === 'component') {\n // Repeatable fields show the ID as fallback, in case the mainField\n // doesn't have any content\n if (attribute.repeatable || !mainField) {\n return content?.length > 0;\n }\n\n const value = content?.[mainField.name];\n\n // relations, media ... show the id as fallback\n if (mainField.name === 'id' && ![undefined, null].includes(value)) {\n return true;\n }\n\n return !isEmpty(value);\n }\n\n if (attribute.type === 'relation') {\n if (isSingleRelation(attribute.relation)) {\n return !isEmpty(content);\n }\n\n if (Array.isArray(content)) {\n return content.length > 0;\n }\n\n return content?.count > 0;\n }\n\n /*\n Biginteger fields need to be treated as strings, as `isNumber`\n doesn't deal with them.\n */\n if (['integer', 'decimal', 'float', 'number'].includes(attribute.type)) {\n return typeof content === 'number';\n }\n\n if (attribute.type === 'boolean') {\n return content !== null;\n }\n\n return !isEmpty(content);\n};\n\nconst isSingleRelation = (\n type: Extract<CellContentProps['attribute'], { type: 'relation' }>['relation']\n) => ['oneToOne', 'manyToOne', 'oneToOneMorph'].includes(type);\n\nexport { CellContent };\nexport type { CellContentProps };\n"],"names":["CellContent","content","mainField","attribute","rowId","name","hasContent","_jsx","Typography","textColor","paddingLeft","type","paddingRight","multiple","MediaSingle","MediaMultiple","isSingleRelation","relation","RelationSingle","RelationMultiple","repeatable","RepeatableComponent","SingleComponent","Tooltip","label","maxWidth","ellipsis","CellValue","value","length","undefined","includes","isEmpty","Array","isArray","count"],"mappings":"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"}
1
+ {"version":3,"file":"CellContent.mjs","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellContent.tsx"],"sourcesContent":["import { Tooltip, Typography } from '@strapi/design-system';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { CellValue } from './CellValue';\nimport { SingleComponent, RepeatableComponent } from './Components';\nimport { MediaSingle, MediaMultiple } from './Media';\nimport { RelationMultiple, RelationSingle } from './Relations';\n\nimport type { ListFieldLayout } from '../../../../hooks/useDocumentLayout';\nimport type { Schema, Data } from '@strapi/types';\n\ninterface CellContentProps extends Omit<ListFieldLayout, 'cellFormatter'> {\n content: Schema.Attribute.Value<Schema.Attribute.AnyAttribute>;\n rowId: Data.ID;\n}\n\nconst CellContent = ({ content, mainField, attribute, rowId, name }: CellContentProps) => {\n const isIdColumn = name === 'id';\n\n if (!hasContent(content, mainField, attribute)) {\n return (\n <Typography\n textColor=\"neutral800\"\n paddingLeft={attribute.type === ('relation' || 'component') ? '1.6rem' : 0}\n paddingRight={attribute.type === ('relation' || 'component') ? '1.6rem' : 0}\n >\n -\n </Typography>\n );\n }\n\n switch (attribute.type) {\n case 'media':\n if (!attribute.multiple) {\n return <MediaSingle {...content} />;\n }\n\n return <MediaMultiple content={content} />;\n\n case 'relation': {\n if (isSingleRelation(attribute.relation)) {\n return <RelationSingle mainField={mainField} content={content} />;\n }\n\n return <RelationMultiple rowId={rowId} mainField={mainField} content={content} name={name} />;\n }\n\n case 'component':\n if (attribute.repeatable) {\n return <RepeatableComponent mainField={mainField} content={content} />;\n }\n\n return <SingleComponent mainField={mainField} content={content} />;\n\n case 'string':\n return (\n <Tooltip label={content}>\n <Typography maxWidth=\"30rem\" ellipsis textColor=\"neutral800\">\n <CellValue isIdColumn={isIdColumn} type={attribute.type} value={content} />\n </Typography>\n </Tooltip>\n );\n\n default:\n return (\n <Typography maxWidth=\"30rem\" ellipsis textColor=\"neutral800\">\n <CellValue isIdColumn={isIdColumn} type={attribute.type} value={content} />\n </Typography>\n );\n }\n};\n\nconst hasContent = (\n content: CellContentProps['content'],\n mainField: CellContentProps['mainField'],\n attribute: CellContentProps['attribute']\n) => {\n if (attribute.type === 'component') {\n // Repeatable fields show the ID as fallback, in case the mainField\n // doesn't have any content\n if (attribute.repeatable || !mainField) {\n return content?.length > 0;\n }\n\n const value = content?.[mainField.name];\n\n // relations, media ... show the id as fallback\n if (mainField.name === 'id' && ![undefined, null].includes(value)) {\n return true;\n }\n\n return !isEmpty(value);\n }\n\n if (attribute.type === 'relation') {\n if (isSingleRelation(attribute.relation)) {\n return !isEmpty(content);\n }\n\n if (Array.isArray(content)) {\n return content.length > 0;\n }\n\n return content?.count > 0;\n }\n\n /*\n Biginteger fields need to be treated as strings, as `isNumber`\n doesn't deal with them.\n */\n if (['integer', 'decimal', 'float', 'number'].includes(attribute.type)) {\n return typeof content === 'number';\n }\n\n if (attribute.type === 'boolean') {\n return content !== null;\n }\n\n return !isEmpty(content);\n};\n\nconst isSingleRelation = (\n type: Extract<CellContentProps['attribute'], { type: 'relation' }>['relation']\n) => ['oneToOne', 'manyToOne', 'oneToOneMorph'].includes(type);\n\nexport { CellContent };\nexport type { CellContentProps };\n"],"names":["CellContent","content","mainField","attribute","rowId","name","isIdColumn","hasContent","_jsx","Typography","textColor","paddingLeft","type","paddingRight","multiple","MediaSingle","MediaMultiple","isSingleRelation","relation","RelationSingle","RelationMultiple","repeatable","RepeatableComponent","SingleComponent","Tooltip","label","maxWidth","ellipsis","CellValue","value","length","undefined","includes","isEmpty","Array","isArray","count"],"mappings":"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"}
@@ -4,7 +4,7 @@ var parseISO = require('date-fns/parseISO');
4
4
  var toString = require('lodash/toString');
5
5
  var reactIntl = require('react-intl');
6
6
 
7
- const CellValue = ({ type, value })=>{
7
+ const CellValue = ({ isIdColumn = false, type, value })=>{
8
8
  const { formatDate, formatTime, formatNumber, formatMessage } = reactIntl.useIntl();
9
9
  let formattedValue = value;
10
10
  if (type === 'date') {
@@ -49,7 +49,8 @@ const CellValue = ({ type, value })=>{
49
49
  'biginteger'
50
50
  ].includes(type)) {
51
51
  formattedValue = formatNumber(value, {
52
- maximumFractionDigits: 0
52
+ maximumFractionDigits: 0,
53
+ useGrouping: !isIdColumn
53
54
  });
54
55
  }
55
56
  return toString(formattedValue);
@@ -1 +1 @@
1
- {"version":3,"file":"CellValue.js","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellValue.tsx"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport toString from 'lodash/toString';\nimport { useIntl } from 'react-intl';\n\nimport type { Schema } from '@strapi/types';\n\ninterface CellValueProps {\n type: Schema.Attribute.Kind | 'custom';\n value: any;\n}\n\nconst CellValue = ({ type, value }: CellValueProps) => {\n const { formatDate, formatTime, formatNumber, formatMessage } = useIntl();\n let formattedValue = value;\n\n if (type === 'date') {\n formattedValue = formatDate(parseISO(value), { dateStyle: 'full' });\n }\n\n if (type === 'datetime') {\n formattedValue = formatDate(value, { dateStyle: 'full', timeStyle: 'short' });\n }\n\n if (type === 'time') {\n const [hour, minute, second] = value.split(':');\n const date = new Date();\n date.setHours(hour);\n date.setMinutes(minute);\n date.setSeconds(second);\n\n formattedValue = formatTime(date, {\n timeStyle: 'short',\n });\n }\n\n if (['float', 'decimal'].includes(type)) {\n formattedValue = formatNumber(value, {\n // Should be kept in sync with the corresponding value\n // in the design-system/NumberInput: https://github.com/strapi/design-system/blob/main/packages/strapi-design-system/src/NumberInput/NumberInput.js#L53\n maximumFractionDigits: 20,\n });\n }\n\n if (type === 'boolean') {\n formattedValue = formatMessage({\n id: value\n ? 'app.components.ToggleCheckbox.on-label'\n : 'app.components.ToggleCheckbox.off-label',\n defaultMessage: value ? 'true' : 'false',\n });\n }\n\n if (['integer', 'biginteger'].includes(type)) {\n formattedValue = formatNumber(value, { maximumFractionDigits: 0 });\n }\n\n return toString(formattedValue);\n};\n\nexport { CellValue };\nexport type { CellValueProps };\n"],"names":["CellValue","type","value","formatDate","formatTime","formatNumber","formatMessage","useIntl","formattedValue","parseISO","dateStyle","timeStyle","hour","minute","second","split","date","Date","setHours","setMinutes","setSeconds","includes","maximumFractionDigits","id","defaultMessage","toString"],"mappings":";;;;;;AAWA,MAAMA,YAAY,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAkB,GAAA;IAChD,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAChE,IAAA,IAAIC,cAAAA,GAAiBN,KAAAA;AAErB,IAAA,IAAID,SAAS,MAAA,EAAQ;QACnBO,cAAAA,GAAiBL,UAAAA,CAAWM,SAASP,KAAAA,CAAAA,EAAQ;YAAEQ,SAAAA,EAAW;AAAO,SAAA,CAAA;AACnE,IAAA;AAEA,IAAA,IAAIT,SAAS,UAAA,EAAY;AACvBO,QAAAA,cAAAA,GAAiBL,WAAWD,KAAAA,EAAO;YAAEQ,SAAAA,EAAW,MAAA;YAAQC,SAAAA,EAAW;AAAQ,SAAA,CAAA;AAC7E,IAAA;AAEA,IAAA,IAAIV,SAAS,MAAA,EAAQ;AACnB,QAAA,MAAM,CAACW,IAAAA,EAAMC,MAAAA,EAAQC,OAAO,GAAGZ,KAAAA,CAAMa,KAAK,CAAC,GAAA,CAAA;AAC3C,QAAA,MAAMC,OAAO,IAAIC,IAAAA,EAAAA;AACjBD,QAAAA,IAAAA,CAAKE,QAAQ,CAACN,IAAAA,CAAAA;AACdI,QAAAA,IAAAA,CAAKG,UAAU,CAACN,MAAAA,CAAAA;AAChBG,QAAAA,IAAAA,CAAKI,UAAU,CAACN,MAAAA,CAAAA;AAEhBN,QAAAA,cAAAA,GAAiBJ,WAAWY,IAAAA,EAAM;YAChCL,SAAAA,EAAW;AACb,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,OAAA;AAAS,QAAA;KAAU,CAACU,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AACvCO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;;;YAGnCoB,qBAAAA,EAAuB;AACzB,SAAA,CAAA;AACF,IAAA;AAEA,IAAA,IAAIrB,SAAS,SAAA,EAAW;AACtBO,QAAAA,cAAAA,GAAiBF,aAAAA,CAAc;AAC7BiB,YAAAA,EAAAA,EAAIrB,QACA,wCAAA,GACA,yCAAA;AACJsB,YAAAA,cAAAA,EAAgBtB,QAAQ,MAAA,GAAS;AACnC,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA;KAAa,CAACmB,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AAC5CO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;YAAEoB,qBAAAA,EAAuB;AAAE,SAAA,CAAA;AAClE,IAAA;AAEA,IAAA,OAAOG,QAAAA,CAASjB,cAAAA,CAAAA;AAClB;;;;"}
1
+ {"version":3,"file":"CellValue.js","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellValue.tsx"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport toString from 'lodash/toString';\nimport { useIntl } from 'react-intl';\n\nimport type { Schema } from '@strapi/types';\n\ninterface CellValueProps {\n isIdColumn?: boolean;\n type: Schema.Attribute.Kind | 'custom';\n value: any;\n}\n\nconst CellValue = ({ isIdColumn = false, type, value }: CellValueProps) => {\n const { formatDate, formatTime, formatNumber, formatMessage } = useIntl();\n let formattedValue = value;\n\n if (type === 'date') {\n formattedValue = formatDate(parseISO(value), { dateStyle: 'full' });\n }\n\n if (type === 'datetime') {\n formattedValue = formatDate(value, { dateStyle: 'full', timeStyle: 'short' });\n }\n\n if (type === 'time') {\n const [hour, minute, second] = value.split(':');\n const date = new Date();\n date.setHours(hour);\n date.setMinutes(minute);\n date.setSeconds(second);\n\n formattedValue = formatTime(date, {\n timeStyle: 'short',\n });\n }\n\n if (['float', 'decimal'].includes(type)) {\n formattedValue = formatNumber(value, {\n // Should be kept in sync with the corresponding value\n // in the design-system/NumberInput: https://github.com/strapi/design-system/blob/main/packages/strapi-design-system/src/NumberInput/NumberInput.js#L53\n maximumFractionDigits: 20,\n });\n }\n\n if (type === 'boolean') {\n formattedValue = formatMessage({\n id: value\n ? 'app.components.ToggleCheckbox.on-label'\n : 'app.components.ToggleCheckbox.off-label',\n defaultMessage: value ? 'true' : 'false',\n });\n }\n\n if (['integer', 'biginteger'].includes(type)) {\n formattedValue = formatNumber(value, { maximumFractionDigits: 0, useGrouping: !isIdColumn });\n }\n\n return toString(formattedValue);\n};\n\nexport { CellValue };\nexport type { CellValueProps };\n"],"names":["CellValue","isIdColumn","type","value","formatDate","formatTime","formatNumber","formatMessage","useIntl","formattedValue","parseISO","dateStyle","timeStyle","hour","minute","second","split","date","Date","setHours","setMinutes","setSeconds","includes","maximumFractionDigits","id","defaultMessage","useGrouping","toString"],"mappings":";;;;;;AAYA,MAAMA,SAAAA,GAAY,CAAC,EAAEC,UAAAA,GAAa,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAkB,GAAA;IACpE,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAChE,IAAA,IAAIC,cAAAA,GAAiBN,KAAAA;AAErB,IAAA,IAAID,SAAS,MAAA,EAAQ;QACnBO,cAAAA,GAAiBL,UAAAA,CAAWM,SAASP,KAAAA,CAAAA,EAAQ;YAAEQ,SAAAA,EAAW;AAAO,SAAA,CAAA;AACnE,IAAA;AAEA,IAAA,IAAIT,SAAS,UAAA,EAAY;AACvBO,QAAAA,cAAAA,GAAiBL,WAAWD,KAAAA,EAAO;YAAEQ,SAAAA,EAAW,MAAA;YAAQC,SAAAA,EAAW;AAAQ,SAAA,CAAA;AAC7E,IAAA;AAEA,IAAA,IAAIV,SAAS,MAAA,EAAQ;AACnB,QAAA,MAAM,CAACW,IAAAA,EAAMC,MAAAA,EAAQC,OAAO,GAAGZ,KAAAA,CAAMa,KAAK,CAAC,GAAA,CAAA;AAC3C,QAAA,MAAMC,OAAO,IAAIC,IAAAA,EAAAA;AACjBD,QAAAA,IAAAA,CAAKE,QAAQ,CAACN,IAAAA,CAAAA;AACdI,QAAAA,IAAAA,CAAKG,UAAU,CAACN,MAAAA,CAAAA;AAChBG,QAAAA,IAAAA,CAAKI,UAAU,CAACN,MAAAA,CAAAA;AAEhBN,QAAAA,cAAAA,GAAiBJ,WAAWY,IAAAA,EAAM;YAChCL,SAAAA,EAAW;AACb,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,OAAA;AAAS,QAAA;KAAU,CAACU,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AACvCO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;;;YAGnCoB,qBAAAA,EAAuB;AACzB,SAAA,CAAA;AACF,IAAA;AAEA,IAAA,IAAIrB,SAAS,SAAA,EAAW;AACtBO,QAAAA,cAAAA,GAAiBF,aAAAA,CAAc;AAC7BiB,YAAAA,EAAAA,EAAIrB,QACA,wCAAA,GACA,yCAAA;AACJsB,YAAAA,cAAAA,EAAgBtB,QAAQ,MAAA,GAAS;AACnC,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA;KAAa,CAACmB,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AAC5CO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;YAAEoB,qBAAAA,EAAuB,CAAA;AAAGG,YAAAA,WAAAA,EAAa,CAACzB;AAAW,SAAA,CAAA;AAC5F,IAAA;AAEA,IAAA,OAAO0B,QAAAA,CAASlB,cAAAA,CAAAA;AAClB;;;;"}
@@ -2,7 +2,7 @@ import parseISO from 'date-fns/parseISO';
2
2
  import toString from 'lodash/toString';
3
3
  import { useIntl } from 'react-intl';
4
4
 
5
- const CellValue = ({ type, value })=>{
5
+ const CellValue = ({ isIdColumn = false, type, value })=>{
6
6
  const { formatDate, formatTime, formatNumber, formatMessage } = useIntl();
7
7
  let formattedValue = value;
8
8
  if (type === 'date') {
@@ -47,7 +47,8 @@ const CellValue = ({ type, value })=>{
47
47
  'biginteger'
48
48
  ].includes(type)) {
49
49
  formattedValue = formatNumber(value, {
50
- maximumFractionDigits: 0
50
+ maximumFractionDigits: 0,
51
+ useGrouping: !isIdColumn
51
52
  });
52
53
  }
53
54
  return toString(formattedValue);
@@ -1 +1 @@
1
- {"version":3,"file":"CellValue.mjs","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellValue.tsx"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport toString from 'lodash/toString';\nimport { useIntl } from 'react-intl';\n\nimport type { Schema } from '@strapi/types';\n\ninterface CellValueProps {\n type: Schema.Attribute.Kind | 'custom';\n value: any;\n}\n\nconst CellValue = ({ type, value }: CellValueProps) => {\n const { formatDate, formatTime, formatNumber, formatMessage } = useIntl();\n let formattedValue = value;\n\n if (type === 'date') {\n formattedValue = formatDate(parseISO(value), { dateStyle: 'full' });\n }\n\n if (type === 'datetime') {\n formattedValue = formatDate(value, { dateStyle: 'full', timeStyle: 'short' });\n }\n\n if (type === 'time') {\n const [hour, minute, second] = value.split(':');\n const date = new Date();\n date.setHours(hour);\n date.setMinutes(minute);\n date.setSeconds(second);\n\n formattedValue = formatTime(date, {\n timeStyle: 'short',\n });\n }\n\n if (['float', 'decimal'].includes(type)) {\n formattedValue = formatNumber(value, {\n // Should be kept in sync with the corresponding value\n // in the design-system/NumberInput: https://github.com/strapi/design-system/blob/main/packages/strapi-design-system/src/NumberInput/NumberInput.js#L53\n maximumFractionDigits: 20,\n });\n }\n\n if (type === 'boolean') {\n formattedValue = formatMessage({\n id: value\n ? 'app.components.ToggleCheckbox.on-label'\n : 'app.components.ToggleCheckbox.off-label',\n defaultMessage: value ? 'true' : 'false',\n });\n }\n\n if (['integer', 'biginteger'].includes(type)) {\n formattedValue = formatNumber(value, { maximumFractionDigits: 0 });\n }\n\n return toString(formattedValue);\n};\n\nexport { CellValue };\nexport type { CellValueProps };\n"],"names":["CellValue","type","value","formatDate","formatTime","formatNumber","formatMessage","useIntl","formattedValue","parseISO","dateStyle","timeStyle","hour","minute","second","split","date","Date","setHours","setMinutes","setSeconds","includes","maximumFractionDigits","id","defaultMessage","toString"],"mappings":";;;;AAWA,MAAMA,YAAY,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAkB,GAAA;IAChD,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAChE,IAAA,IAAIC,cAAAA,GAAiBN,KAAAA;AAErB,IAAA,IAAID,SAAS,MAAA,EAAQ;QACnBO,cAAAA,GAAiBL,UAAAA,CAAWM,SAASP,KAAAA,CAAAA,EAAQ;YAAEQ,SAAAA,EAAW;AAAO,SAAA,CAAA;AACnE,IAAA;AAEA,IAAA,IAAIT,SAAS,UAAA,EAAY;AACvBO,QAAAA,cAAAA,GAAiBL,WAAWD,KAAAA,EAAO;YAAEQ,SAAAA,EAAW,MAAA;YAAQC,SAAAA,EAAW;AAAQ,SAAA,CAAA;AAC7E,IAAA;AAEA,IAAA,IAAIV,SAAS,MAAA,EAAQ;AACnB,QAAA,MAAM,CAACW,IAAAA,EAAMC,MAAAA,EAAQC,OAAO,GAAGZ,KAAAA,CAAMa,KAAK,CAAC,GAAA,CAAA;AAC3C,QAAA,MAAMC,OAAO,IAAIC,IAAAA,EAAAA;AACjBD,QAAAA,IAAAA,CAAKE,QAAQ,CAACN,IAAAA,CAAAA;AACdI,QAAAA,IAAAA,CAAKG,UAAU,CAACN,MAAAA,CAAAA;AAChBG,QAAAA,IAAAA,CAAKI,UAAU,CAACN,MAAAA,CAAAA;AAEhBN,QAAAA,cAAAA,GAAiBJ,WAAWY,IAAAA,EAAM;YAChCL,SAAAA,EAAW;AACb,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,OAAA;AAAS,QAAA;KAAU,CAACU,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AACvCO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;;;YAGnCoB,qBAAAA,EAAuB;AACzB,SAAA,CAAA;AACF,IAAA;AAEA,IAAA,IAAIrB,SAAS,SAAA,EAAW;AACtBO,QAAAA,cAAAA,GAAiBF,aAAAA,CAAc;AAC7BiB,YAAAA,EAAAA,EAAIrB,QACA,wCAAA,GACA,yCAAA;AACJsB,YAAAA,cAAAA,EAAgBtB,QAAQ,MAAA,GAAS;AACnC,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA;KAAa,CAACmB,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AAC5CO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;YAAEoB,qBAAAA,EAAuB;AAAE,SAAA,CAAA;AAClE,IAAA;AAEA,IAAA,OAAOG,QAAAA,CAASjB,cAAAA,CAAAA;AAClB;;;;"}
1
+ {"version":3,"file":"CellValue.mjs","sources":["../../../../../../admin/src/pages/ListView/components/TableCells/CellValue.tsx"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport toString from 'lodash/toString';\nimport { useIntl } from 'react-intl';\n\nimport type { Schema } from '@strapi/types';\n\ninterface CellValueProps {\n isIdColumn?: boolean;\n type: Schema.Attribute.Kind | 'custom';\n value: any;\n}\n\nconst CellValue = ({ isIdColumn = false, type, value }: CellValueProps) => {\n const { formatDate, formatTime, formatNumber, formatMessage } = useIntl();\n let formattedValue = value;\n\n if (type === 'date') {\n formattedValue = formatDate(parseISO(value), { dateStyle: 'full' });\n }\n\n if (type === 'datetime') {\n formattedValue = formatDate(value, { dateStyle: 'full', timeStyle: 'short' });\n }\n\n if (type === 'time') {\n const [hour, minute, second] = value.split(':');\n const date = new Date();\n date.setHours(hour);\n date.setMinutes(minute);\n date.setSeconds(second);\n\n formattedValue = formatTime(date, {\n timeStyle: 'short',\n });\n }\n\n if (['float', 'decimal'].includes(type)) {\n formattedValue = formatNumber(value, {\n // Should be kept in sync with the corresponding value\n // in the design-system/NumberInput: https://github.com/strapi/design-system/blob/main/packages/strapi-design-system/src/NumberInput/NumberInput.js#L53\n maximumFractionDigits: 20,\n });\n }\n\n if (type === 'boolean') {\n formattedValue = formatMessage({\n id: value\n ? 'app.components.ToggleCheckbox.on-label'\n : 'app.components.ToggleCheckbox.off-label',\n defaultMessage: value ? 'true' : 'false',\n });\n }\n\n if (['integer', 'biginteger'].includes(type)) {\n formattedValue = formatNumber(value, { maximumFractionDigits: 0, useGrouping: !isIdColumn });\n }\n\n return toString(formattedValue);\n};\n\nexport { CellValue };\nexport type { CellValueProps };\n"],"names":["CellValue","isIdColumn","type","value","formatDate","formatTime","formatNumber","formatMessage","useIntl","formattedValue","parseISO","dateStyle","timeStyle","hour","minute","second","split","date","Date","setHours","setMinutes","setSeconds","includes","maximumFractionDigits","id","defaultMessage","useGrouping","toString"],"mappings":";;;;AAYA,MAAMA,SAAAA,GAAY,CAAC,EAAEC,UAAAA,GAAa,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAkB,GAAA;IACpE,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAChE,IAAA,IAAIC,cAAAA,GAAiBN,KAAAA;AAErB,IAAA,IAAID,SAAS,MAAA,EAAQ;QACnBO,cAAAA,GAAiBL,UAAAA,CAAWM,SAASP,KAAAA,CAAAA,EAAQ;YAAEQ,SAAAA,EAAW;AAAO,SAAA,CAAA;AACnE,IAAA;AAEA,IAAA,IAAIT,SAAS,UAAA,EAAY;AACvBO,QAAAA,cAAAA,GAAiBL,WAAWD,KAAAA,EAAO;YAAEQ,SAAAA,EAAW,MAAA;YAAQC,SAAAA,EAAW;AAAQ,SAAA,CAAA;AAC7E,IAAA;AAEA,IAAA,IAAIV,SAAS,MAAA,EAAQ;AACnB,QAAA,MAAM,CAACW,IAAAA,EAAMC,MAAAA,EAAQC,OAAO,GAAGZ,KAAAA,CAAMa,KAAK,CAAC,GAAA,CAAA;AAC3C,QAAA,MAAMC,OAAO,IAAIC,IAAAA,EAAAA;AACjBD,QAAAA,IAAAA,CAAKE,QAAQ,CAACN,IAAAA,CAAAA;AACdI,QAAAA,IAAAA,CAAKG,UAAU,CAACN,MAAAA,CAAAA;AAChBG,QAAAA,IAAAA,CAAKI,UAAU,CAACN,MAAAA,CAAAA;AAEhBN,QAAAA,cAAAA,GAAiBJ,WAAWY,IAAAA,EAAM;YAChCL,SAAAA,EAAW;AACb,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,OAAA;AAAS,QAAA;KAAU,CAACU,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AACvCO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;;;YAGnCoB,qBAAAA,EAAuB;AACzB,SAAA,CAAA;AACF,IAAA;AAEA,IAAA,IAAIrB,SAAS,SAAA,EAAW;AACtBO,QAAAA,cAAAA,GAAiBF,aAAAA,CAAc;AAC7BiB,YAAAA,EAAAA,EAAIrB,QACA,wCAAA,GACA,yCAAA;AACJsB,YAAAA,cAAAA,EAAgBtB,QAAQ,MAAA,GAAS;AACnC,SAAA,CAAA;AACF,IAAA;IAEA,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA;KAAa,CAACmB,QAAQ,CAACpB,IAAAA,CAAAA,EAAO;AAC5CO,QAAAA,cAAAA,GAAiBH,aAAaH,KAAAA,EAAO;YAAEoB,qBAAAA,EAAuB,CAAA;AAAGG,YAAAA,WAAAA,EAAa,CAACzB;AAAW,SAAA,CAAA;AAC5F,IAAA;AAEA,IAAA,OAAO0B,QAAAA,CAASlB,cAAAA,CAAAA;AAClB;;;;"}
@@ -143,7 +143,7 @@ const documentApi = api.contentManagerApi.injectEndpoints({
143
143
  }),
144
144
  discardDocument: builder.mutation({
145
145
  query: ({ collectionType, model, documentId, params })=>({
146
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard` : `/content-manager/${collectionType}/${model}/actions/discard`,
146
+ url: documentId && collectionType !== collections.SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard` : `/content-manager/${collectionType}/${model}/actions/discard`,
147
147
  method: 'POST',
148
148
  config: {
149
149
  params
@@ -202,18 +202,42 @@ const documentApi = api.contentManagerApi.injectEndpoints({
202
202
  }),
203
203
  getDraftRelationCount: builder.query({
204
204
  query: ({ collectionType, model, documentId, params })=>({
205
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations` : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,
205
+ url: documentId && collectionType !== collections.SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations` : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,
206
206
  method: 'GET',
207
207
  config: {
208
208
  params
209
209
  }
210
210
  })
211
211
  }),
212
+ /**
213
+ * Fetches multiple documents with deep populate in a single request for bulk publish validation.
214
+ */ getDocumentsForValidation: builder.query({
215
+ query: ({ model, documentIds, locale, sort })=>({
216
+ url: `/content-manager/collection-types/${model}/actions/bulkFindForValidation`,
217
+ method: 'POST',
218
+ data: {
219
+ documentIds,
220
+ locale,
221
+ sort
222
+ }
223
+ }),
224
+ transformResponse: (response)=>response?.results ?? [],
225
+ providesTags: (result, _error, { model })=>result ? [
226
+ ...result.map((doc)=>({
227
+ type: 'Document',
228
+ id: `${model}_${doc.documentId}`
229
+ })),
230
+ {
231
+ type: 'Document',
232
+ id: `${model}_LIST`
233
+ }
234
+ ] : []
235
+ }),
212
236
  getDocument: builder.query({
213
237
  // @ts-expect-error – TODO: fix ts error where data unknown doesn't work with response via an assertion?
214
238
  queryFn: async ({ collectionType, model, documentId, params }, _api, _extraOpts, baseQuery)=>{
215
239
  const res = await baseQuery({
216
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,
240
+ url: `/content-manager/${collectionType}/${model}${documentId && collectionType !== collections.SINGLE_TYPES ? `/${documentId}` : ''}`,
217
241
  method: 'GET',
218
242
  config: {
219
243
  params
@@ -262,7 +286,7 @@ const documentApi = api.contentManagerApi.injectEndpoints({
262
286
  * This endpoint will either create or update documents at the same time as publishing.
263
287
  */ publishDocument: builder.mutation({
264
288
  query: ({ collectionType, model, documentId, params, data })=>({
265
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish` : `/content-manager/${collectionType}/${model}/actions/publish`,
289
+ url: documentId && collectionType !== collections.SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish` : `/content-manager/${collectionType}/${model}/actions/publish`,
266
290
  method: 'POST',
267
291
  data,
268
292
  config: {
@@ -313,7 +337,7 @@ const documentApi = api.contentManagerApi.injectEndpoints({
313
337
  }),
314
338
  updateDocument: builder.mutation({
315
339
  query: ({ collectionType, model, documentId, data, params })=>({
316
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,
340
+ url: `/content-manager/${collectionType}/${model}${documentId && collectionType !== collections.SINGLE_TYPES ? `/${documentId}` : ''}`,
317
341
  method: 'PUT',
318
342
  data,
319
343
  config: {
@@ -371,7 +395,7 @@ const documentApi = api.contentManagerApi.injectEndpoints({
371
395
  }),
372
396
  unpublishDocument: builder.mutation({
373
397
  query: ({ collectionType, model, documentId, params, data })=>({
374
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish` : `/content-manager/${collectionType}/${model}/actions/unpublish`,
398
+ url: documentId && collectionType !== collections.SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish` : `/content-manager/${collectionType}/${model}/actions/unpublish`,
375
399
  method: 'POST',
376
400
  data,
377
401
  config: {
@@ -411,7 +435,7 @@ const documentApi = api.contentManagerApi.injectEndpoints({
411
435
  })
412
436
  })
413
437
  });
414
- const { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useLazyGetDocumentQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUpdateDocumentMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation } = documentApi;
438
+ const { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useGetDocumentsForValidationQuery, useLazyGetDocumentQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUpdateDocumentMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation } = documentApi;
415
439
 
416
440
  exports.useAutoCloneDocumentMutation = useAutoCloneDocumentMutation;
417
441
  exports.useCloneDocumentMutation = useCloneDocumentMutation;
@@ -421,6 +445,7 @@ exports.useDeleteManyDocumentsMutation = useDeleteManyDocumentsMutation;
421
445
  exports.useDiscardDocumentMutation = useDiscardDocumentMutation;
422
446
  exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
423
447
  exports.useGetDocumentQuery = useGetDocumentQuery;
448
+ exports.useGetDocumentsForValidationQuery = useGetDocumentsForValidationQuery;
424
449
  exports.useGetDraftRelationCountQuery = useLazyGetDraftRelationCountQuery;
425
450
  exports.useGetManyDraftRelationCountQuery = useGetManyDraftRelationCountQuery;
426
451
  exports.useLazyGetDocumentQuery = useLazyGetDocumentQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sources":["../../../admin/src/services/documents.ts"],"sourcesContent":["/**\n * Related to fetching the actual content of a collection type or single type.\n */\nimport { stringify } from 'qs';\n\nimport { SINGLE_TYPES } from '../constants/collections';\n\nimport { contentManagerApi } from './api';\n\nimport type {\n Clone,\n Create,\n Delete,\n Find,\n FindOne,\n BulkDelete,\n BulkPublish,\n BulkUnpublish,\n Discard,\n CountDraftRelations,\n CountManyEntriesDraftRelations,\n Publish,\n Unpublish,\n Update,\n} from '../../../shared/contracts/collection-types';\n\nconst documentApi = contentManagerApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n autoCloneDocument: builder.mutation<\n Clone.Response,\n Clone.Params & {\n params?: Find.Request['query'] & Clone.Request['query'];\n }\n >({\n query: ({ model, sourceId, params }) => ({\n url: `/content-manager/collection-types/${model}/auto-clone/${sourceId}`,\n method: 'POST',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, error, { model }) => {\n if (error) {\n return [];\n }\n\n return [\n { type: 'Document', id: `${model}_LIST` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n cloneDocument: builder.mutation<\n Clone.Response,\n Clone.Params & {\n data: Clone.Request['body'];\n params?: Clone.Request['query'];\n }\n >({\n query: ({ model, sourceId, data, params }) => ({\n url: `/content-manager/collection-types/${model}/clone/${sourceId}`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n /**\n * Creates a new collection-type document. This should ONLY be used for collection-types.\n * single-types should always be using `updateDocument` since they always exist.\n */\n createDocument: builder.mutation<\n Create.Response,\n Create.Params & {\n data: Create.Request['body'];\n params?: Create.Request['query'];\n }\n >({\n query: ({ model, data, params }) => ({\n url: `/content-manager/collection-types/${model}`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (result, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n transformResponse: (response: Create.Response, meta, arg): Create.Response => {\n /**\n * TODO v6\n * Adapt plugin:users-permissions.user to return the same response\n * shape as all other requests. The error is returned as expected.\n */\n if (!('data' in response) && arg.model === 'plugin::users-permissions.user') {\n return {\n data: response,\n meta: {\n availableStatus: [],\n availableLocales: [],\n },\n };\n }\n\n return response;\n },\n }),\n deleteDocument: builder.mutation<\n Delete.Response,\n Pick<Delete.Params, 'model'> &\n Pick<Partial<Delete.Params>, 'documentId'> & {\n collectionType: string;\n params?: Find.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url: `/content-manager/${collectionType}/${model}${\n collectionType !== SINGLE_TYPES && documentId ? `/${documentId}` : ''\n }`,\n method: 'DELETE',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => [\n { type: 'Document', id: collectionType !== SINGLE_TYPES ? `${model}_LIST` : model },\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_ALL_ITEMS` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n deleteManyDocuments: builder.mutation<\n BulkDelete.Response,\n BulkDelete.Params & BulkDelete.Request['body'] & { params?: Find.Request['query'] }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkDelete`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n discardDocument: builder.mutation<\n Discard.Response,\n Pick<Discard.Params, 'model'> &\n Partial<Pick<Discard.Params, 'documentId'>> & {\n collectionType: string;\n params?: Find.Request['query'] & {\n [key: string]: any;\n };\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url: documentId\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard`\n : `/content-manager/${collectionType}/${model}/actions/discard`,\n method: 'POST',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n /**\n * Gets all documents of a collection type or single type.\n * By passing different params you can get different results e.g. only published documents or 'es' documents.\n */\n getAllDocuments: builder.query<\n Find.Response,\n Find.Params & {\n params?: Find.Request['query'] & {\n [key: string]: any;\n };\n }\n >({\n query: ({ model, params }) => ({\n url: `/content-manager/collection-types/${model}`,\n method: 'GET',\n config: {\n params: stringify(params, { encode: true }),\n },\n }),\n providesTags: (result, _error, arg) => {\n return [\n { type: 'Document', id: `ALL_LIST` },\n { type: 'Document', id: `${arg.model}_LIST` },\n ...(result?.results.map(({ documentId }) => ({\n type: 'Document' as const,\n id: `${arg.model}_${documentId}`,\n })) ?? []),\n ];\n },\n }),\n getDraftRelationCount: builder.query<\n CountDraftRelations.Response,\n {\n collectionType: string;\n model: string;\n /**\n * You don't pass the documentId if the document is a single-type\n */\n documentId?: string;\n params?: CountDraftRelations.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url: documentId\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations`\n : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n }),\n getDocument: builder.query<\n FindOne.Response,\n Pick<FindOne.Params, 'model'> &\n Partial<Pick<FindOne.Params, 'documentId'>> & {\n collectionType: string;\n params?: FindOne.Request['query'];\n }\n >({\n // @ts-expect-error – TODO: fix ts error where data unknown doesn't work with response via an assertion?\n queryFn: async (\n { collectionType, model, documentId, params },\n _api,\n _extraOpts,\n baseQuery\n ) => {\n const res = await baseQuery({\n url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,\n method: 'GET',\n config: {\n params,\n },\n });\n\n /**\n * To stop the query from locking itself in multiple retries, we intercept the error here and manage correctly.\n * This is because single-types don't have a list view and fetching them with the route `/single-types/:model`\n * never returns a list, just a single document but this won't exist if you've not made one before.\n */\n if (res.error && res.error.name === 'NotFoundError' && collectionType === SINGLE_TYPES) {\n return { data: { document: undefined }, error: undefined };\n }\n\n return res;\n },\n providesTags: (result, _error, { collectionType, model, documentId }) => {\n return [\n // we prefer the result's id because we don't fetch single-types with an ID.\n {\n type: 'Document',\n id:\n collectionType !== SINGLE_TYPES\n ? `${model}_${result && 'documentId' in result ? result.documentId : documentId}`\n : model,\n },\n // Make it easy to invalidate all individual documents queries for a model\n {\n type: 'Document',\n id: `${model}_ALL_ITEMS`,\n },\n ];\n },\n }),\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n /**\n * This endpoint will either create or update documents at the same time as publishing.\n */\n publishDocument: builder.mutation<\n Publish.Response,\n Pick<Publish.Params, 'model'> &\n Partial<Pick<Publish.Params, 'documentId'>> & {\n collectionType: string;\n data: Publish.Request['body'];\n params?: Publish.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params, data }) => ({\n url: documentId\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish`\n : `/content-manager/${collectionType}/${model}/actions/publish`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ];\n },\n }),\n publishManyDocuments: builder.mutation<\n BulkPublish.Response,\n BulkPublish.Params & BulkPublish.Request['body'] & { params?: BulkPublish.Request['query'] }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkPublish`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model, documentIds }) => {\n return [\n ...documentIds.map((id) => ({ type: 'Document' as const, id: `${model}_${id}` })),\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n updateDocument: builder.mutation<\n Update.Response,\n Pick<Update.Params, 'model'> &\n Partial<Pick<Update.Params, 'documentId'>> & {\n collectionType: string;\n data: Update.Request['body'];\n params?: Update.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, data, params }) => ({\n url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ];\n },\n async onQueryStarted({ data, ...patch }, { dispatch, queryFulfilled }) {\n // Optimistically update the cache with the new data\n const patchResult = dispatch(\n documentApi.util.updateQueryData('getDocument', patch, (draft) => {\n Object.assign(draft.data, data);\n })\n );\n try {\n await queryFulfilled;\n } catch {\n // Rollback the optimistic update if there's an error\n patchResult.undo();\n }\n },\n transformResponse: (response: Update.Response, meta, arg): Update.Response => {\n /**\n * TODO v6\n * Adapt plugin:users-permissions.user to return the same response\n * shape as all other requests. The error is returned as expected.\n */\n if (!('data' in response) && arg.model === 'plugin::users-permissions.user') {\n return {\n data: response,\n meta: {\n availableStatus: [],\n availableLocales: [],\n },\n };\n }\n\n return response;\n },\n }),\n unpublishDocument: builder.mutation<\n Unpublish.Response,\n Pick<Unpublish.Params, 'model'> &\n Partial<Pick<Unpublish.Params, 'documentId'>> & {\n collectionType: string;\n params?: Unpublish.Request['query'];\n data: Unpublish.Request['body'];\n }\n >({\n query: ({ collectionType, model, documentId, params, data }) => ({\n url: documentId\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish`\n : `/content-manager/${collectionType}/${model}/actions/unpublish`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n unpublishManyDocuments: builder.mutation<\n BulkUnpublish.Response,\n Pick<BulkUnpublish.Params, 'model'> &\n BulkUnpublish.Request['body'] & {\n params?: BulkUnpublish.Request['query'];\n }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkUnpublish`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model, documentIds }) => [\n ...documentIds.map((id) => ({ type: 'Document' as const, id: `${model}_${id}` })),\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n }),\n});\n\nconst {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useGetAllDocumentsQuery,\n useLazyGetDocumentQuery,\n useGetDocumentQuery,\n useLazyGetDraftRelationCountQuery,\n useGetManyDraftRelationCountQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n} = documentApi;\n\nexport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useGetAllDocumentsQuery,\n useLazyGetDocumentQuery,\n useGetDocumentQuery,\n useLazyGetDraftRelationCountQuery as useGetDraftRelationCountQuery,\n useGetManyDraftRelationCountQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n};\n"],"names":["documentApi","contentManagerApi","injectEndpoints","overrideExisting","endpoints","builder","autoCloneDocument","mutation","query","model","sourceId","params","url","method","config","invalidatesTags","_result","error","type","id","cloneDocument","data","_error","createDocument","result","transformResponse","response","meta","arg","availableStatus","availableLocales","deleteDocument","collectionType","documentId","SINGLE_TYPES","deleteManyDocuments","body","_res","discardDocument","getAllDocuments","stringify","encode","providesTags","results","map","getDraftRelationCount","getDocument","queryFn","_api","_extraOpts","baseQuery","res","name","document","undefined","getManyDraftRelationCount","publishDocument","publishManyDocuments","documentIds","updateDocument","onQueryStarted","patch","dispatch","queryFulfilled","patchResult","util","updateQueryData","draft","Object","assign","undo","unpublishDocument","unpublishManyDocuments","useAutoCloneDocumentMutation","useCloneDocumentMutation","useCreateDocumentMutation","useDeleteDocumentMutation","useDeleteManyDocumentsMutation","useDiscardDocumentMutation","useGetAllDocumentsQuery","useLazyGetDocumentQuery","useGetDocumentQuery","useLazyGetDraftRelationCountQuery","useGetManyDraftRelationCountQuery","usePublishDocumentMutation","usePublishManyDocumentsMutation","useUpdateDocumentMutation","useUnpublishDocumentMutation","useUnpublishManyDocumentsMutation"],"mappings":";;;;;;AA0BA,MAAMA,WAAAA,GAAcC,qBAAAA,CAAkBC,eAAe,CAAC;IACpDC,gBAAAA,EAAkB,IAAA;IAClBC,SAAAA,EAAW,CAACC,WAAa;YACvBC,iBAAAA,EAAmBD,OAAAA,CAAQE,QAAQ,CAKjC;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,MAAM,EAAE,IAAM;AACvCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,YAAY,EAAEC,QAAAA,CAAAA,CAAU;wBACxEG,MAAAA,EAAQ,MAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;AACAI,gBAAAA,eAAAA,EAAiB,CAACC,OAAAA,EAASC,KAAAA,EAAO,EAAER,KAAK,EAAE,GAAA;AACzC,oBAAA,IAAIQ,KAAAA,EAAO;AACT,wBAAA,OAAO,EAAE;AACX,oBAAA;oBAEA,OAAO;AACL,wBAAA;4BAAEC,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACAW,aAAAA,EAAef,OAAAA,CAAQE,QAAQ,CAM7B;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEW,IAAI,EAAEV,MAAM,EAAE,IAAM;AAC7CC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,OAAO,EAAEC,QAAAA,CAAAA,CAAU;wBACnEG,MAAAA,EAAQ,MAAA;AACRQ,wBAAAA,IAAAA;wBACAP,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;AACAI,gBAAAA,eAAAA,EAAiB,CAACC,OAAAA,EAASM,MAAAA,EAAQ,EAAEb,KAAK,EAAE,GAAK;AAC/C,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA;4BAAES,IAAAA,EAAM,iBAAA;4BAAmBC,EAAAA,EAAIV;AAAM,yBAAA;AACrC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD;AACH,aAAA,CAAA;AACA;;;QAIAc,cAAAA,EAAgBlB,OAAAA,CAAQE,QAAQ,CAM9B;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEY,IAAI,EAAEV,MAAM,EAAE,IAAM;wBACnCC,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAAA,CAAO;wBACjDI,MAAAA,EAAQ,MAAA;AACRQ,wBAAAA,IAAAA;wBACAP,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;AACAI,gBAAAA,eAAAA,EAAiB,CAACS,MAAAA,EAAQF,MAAAA,EAAQ,EAAEb,KAAK,EAAE,GAAK;AAC9C,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA,WAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,iBAAA;4BAAmBC,EAAAA,EAAIV;AAAM,yBAAA;AACrC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD,qBAAA;gBACDgB,iBAAAA,EAAmB,CAACC,UAA2BC,IAAAA,EAAMC,GAAAA,GAAAA;AACnD;;;;YAKA,IAAI,EAAE,MAAA,IAAUF,QAAO,CAAA,IAAME,GAAAA,CAAInB,KAAK,KAAK,gCAAA,EAAkC;wBAC3E,OAAO;4BACLY,IAAAA,EAAMK,QAAAA;4BACNC,IAAAA,EAAM;AACJE,gCAAAA,eAAAA,EAAiB,EAAE;AACnBC,gCAAAA,gBAAAA,EAAkB;AACpB;AACF,yBAAA;AACF,oBAAA;oBAEA,OAAOJ,QAAAA;AACT,gBAAA;AACF,aAAA,CAAA;YACAK,cAAAA,EAAgB1B,OAAAA,CAAQE,QAAQ,CAO9B;gBACAC,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAE,IAAM;AACzDC,wBAAAA,GAAAA,EAAK,CAAC,iBAAiB,EAAEoB,cAAAA,CAAe,CAAC,EAAEvB,KAAAA,CAAAA,EACzCuB,cAAAA,KAAmBE,wBAAAA,IAAgBD,aAAa,CAAC,CAAC,EAAEA,UAAAA,CAAAA,CAAY,GAAG,EAAA,CAAA,CACnE;wBACFpB,MAAAA,EAAQ,QAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACC,OAAAA,EAASM,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAK;AAC3E,wBAAA;4BAAEf,IAAAA,EAAM,UAAA;AAAYC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,KAAAA,CAAM,KAAK,CAAC,GAAGA;AAAM,yBAAA;AAClF,wBAAA;4BACES,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE,yBAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,UAAU;AAAE,yBAAA;AAC7C,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD;AACH,aAAA,CAAA;YACA0B,mBAAAA,EAAqB9B,OAAAA,CAAQE,QAAQ,CAGnC;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,MAAM,EAAE,GAAGyB,IAAAA,EAAM,IAAM;AACtCxB,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,mBAAmB,CAAC;wBACpEI,MAAAA,EAAQ,MAAA;wBACRQ,IAAAA,EAAMe,IAAAA;wBACNtB,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;AACAI,gBAAAA,eAAAA,EAAiB,CAACsB,IAAAA,EAAMf,MAAAA,EAAQ,EAAEb,KAAK,EAAE,GAAK;AAC5C,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD;AACH,aAAA,CAAA;YACA6B,eAAAA,EAAiBjC,OAAAA,CAAQE,QAAQ,CAS/B;gBACAC,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAE,IAAM;wBACzDC,GAAAA,EAAKqB,UAAAA,GACD,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,CAAC,EAAEwB,UAAAA,CAAW,gBAAgB,CAAC,GAC3E,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,gBAAgB,CAAC;wBACjEI,MAAAA,EAAQ,MAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACC,SAASM,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAA;oBACtE,OAAO;AACL,wBAAA;4BACEf,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE,yBAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA,WAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,iBAAA;4BAAmBC,EAAAA,EAAIV;AAAM,yBAAA;AACrC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;AACA;;;QAIA8B,eAAAA,EAAiBlC,OAAAA,CAAQG,KAAK,CAO5B;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,MAAM,EAAE,IAAM;wBAC7BC,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAAA,CAAO;wBACjDI,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA,MAAAA,EAAQ6B,aAAU7B,MAAAA,EAAQ;gCAAE8B,MAAAA,EAAQ;AAAK,6BAAA;AAC3C;qBACF,CAAA;gBACAC,YAAAA,EAAc,CAAClB,QAAQF,MAAAA,EAAQM,GAAAA,GAAAA;oBAC7B,OAAO;AACL,wBAAA;4BAAEV,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAC,QAAQ;AAAE,yBAAA;AACnC,wBAAA;4BAAED,IAAAA,EAAM,UAAA;AAAYC,4BAAAA,EAAAA,EAAI,CAAA,EAAGS,GAAAA,CAAInB,KAAK,CAAC,KAAK;AAAE,yBAAA;AACxCe,wBAAAA,GAAAA,MAAAA,EAAQmB,QAAQC,GAAAA,CAAI,CAAC,EAAEX,UAAU,EAAE,IAAM;gCAC3Cf,IAAAA,EAAM,UAAA;AACNC,gCAAAA,EAAAA,EAAI,GAAGS,GAAAA,CAAInB,KAAK,CAAC,CAAC,EAAEwB,UAAAA,CAAAA;AACtB,6BAAA,MAAO;AACR,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACAY,qBAAAA,EAAuBxC,OAAAA,CAAQG,KAAK,CAWlC;gBACAA,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAE,IAAM;wBACzDC,GAAAA,EAAKqB,UAAAA,GACD,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,CAAC,EAAEwB,UAAAA,CAAW,4BAA4B,CAAC,GACvF,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,4BAA4B,CAAC;wBAC7EI,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAmC,WAAAA,EAAazC,OAAAA,CAAQG,KAAK,CAOxB;;AAEAuC,gBAAAA,OAAAA,EAAS,OACP,EAAEf,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAE,EAC7CqC,IAAAA,EACAC,UAAAA,EACAC,SAAAA,GAAAA;oBAEA,MAAMC,GAAAA,GAAM,MAAMD,SAAAA,CAAU;AAC1BtC,wBAAAA,GAAAA,EAAK,CAAC,iBAAiB,EAAEoB,cAAAA,CAAe,CAAC,EAAEvB,KAAAA,CAAAA,EAAQwB,UAAAA,GAAa,CAAC,CAAC,EAAEA,UAAAA,CAAAA,CAAY,GAAG,EAAA,CAAA,CAAI;wBACvFpB,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;AACF,qBAAA,CAAA;AAEA;;;;YAKA,IAAIwC,GAAAA,CAAIlC,KAAK,IAAIkC,GAAAA,CAAIlC,KAAK,CAACmC,IAAI,KAAK,eAAA,IAAmBpB,cAAAA,KAAmBE,wBAAAA,EAAc;wBACtF,OAAO;4BAAEb,IAAAA,EAAM;gCAAEgC,QAAAA,EAAUC;AAAU,6BAAA;4BAAGrC,KAAAA,EAAOqC;AAAU,yBAAA;AAC3D,oBAAA;oBAEA,OAAOH,GAAAA;AACT,gBAAA,CAAA;gBACAT,YAAAA,EAAc,CAAClB,QAAQF,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAA;oBAClE,OAAO;;AAEL,wBAAA;4BACEf,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EACEa,cAAAA,KAAmBE,wBAAAA,GACf,CAAA,EAAGzB,KAAAA,CAAM,CAAC,EAAEe,MAAAA,IAAU,YAAA,IAAgBA,MAAAA,GAASA,MAAAA,CAAOS,UAAU,GAAGA,YAAY,GAC/ExB;AACR,yBAAA;;AAEA,wBAAA;4BACES,IAAAA,EAAM,UAAA;4BACNC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,UAAU;AACzB;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACA8C,yBAAAA,EAA2BlD,OAAAA,CAAQG,KAAK,CAKtC;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAE,GAAGE,MAAAA,EAAQ,IAAM;AAChCC,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,uCAAuC,CAAC;wBACxFI,MAAAA,EAAQ,KAAA;wBACRC,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAc,iBAAAA,EAAmB,CAACC,QAAAA,GAAsDA,QAAAA,CAASL;AACrF,aAAA,CAAA;AACA;;QAGAmC,eAAAA,EAAiBnD,OAAAA,CAAQE,QAAQ,CAQ/B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAEU,IAAI,EAAE,IAAM;wBAC/DT,GAAAA,EAAKqB,UAAAA,GACD,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,CAAC,EAAEwB,UAAAA,CAAW,gBAAgB,CAAC,GAC3E,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,gBAAgB,CAAC;wBACjEI,MAAAA,EAAQ,MAAA;AACRQ,wBAAAA,IAAAA;wBACAP,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACC,SAASM,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAA;oBACtE,OAAO;AACL,wBAAA;4BACEf,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE,yBAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,UAAA;4BAAYC,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,KAAK;AAAE,yBAAA;AACxC,wBAAA,WAAA;AACA,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA,sBAAA;AACA,wBAAA;4BACES,IAAAA,EAAM,oBAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACAgD,oBAAAA,EAAsBpD,OAAAA,CAAQE,QAAQ,CAGpC;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,MAAM,EAAE,GAAGyB,IAAAA,EAAM,IAAM;AACtCxB,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,oBAAoB,CAAC;wBACrEI,MAAAA,EAAQ,MAAA;wBACRQ,IAAAA,EAAMe,IAAAA;wBACNtB,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;AACAI,gBAAAA,eAAAA,EAAiB,CAACsB,IAAAA,EAAMf,MAAAA,EAAQ,EAAEb,KAAK,EAAEiD,WAAW,EAAE,GAAA;oBACpD,OAAO;AACFA,wBAAAA,GAAAA,WAAAA,CAAYd,GAAG,CAAC,CAACzB,EAAAA,IAAQ;gCAAED,IAAAA,EAAM,UAAA;AAAqBC,gCAAAA,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,CAAC,EAAEU,EAAAA,CAAAA;6BAAK,CAAA,CAAA;AAC9E,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACAwC,cAAAA,EAAgBtD,OAAAA,CAAQE,QAAQ,CAQ9B;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEZ,IAAI,EAAEV,MAAM,EAAE,IAAM;AAC/DC,wBAAAA,GAAAA,EAAK,CAAC,iBAAiB,EAAEoB,cAAAA,CAAe,CAAC,EAAEvB,KAAAA,CAAAA,EAAQwB,UAAAA,GAAa,CAAC,CAAC,EAAEA,UAAAA,CAAAA,CAAY,GAAG,EAAA,CAAA,CAAI;wBACvFpB,MAAAA,EAAQ,KAAA;AACRQ,wBAAAA,IAAAA;wBACAP,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACC,SAASM,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAA;oBACtE,OAAO;AACL,wBAAA;4BACEf,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE,yBAAA;AACA,wBAAA,WAAA;AACA,wBAAA;4BAAES,IAAAA,EAAM,iBAAA;4BAAmBC,EAAAA,EAAIV;AAAM,yBAAA;AACrC,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA,sBAAA;AACA,wBAAA;4BACES,IAAAA,EAAM,oBAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE;AACD,qBAAA;AACH,gBAAA,CAAA;gBACA,MAAMmD,cAAAA,CAAAA,CAAe,EAAEvC,IAAI,EAAE,GAAGwC,KAAAA,EAAO,EAAE,EAAEC,QAAQ,EAAEC,cAAc,EAAE,EAAA;;oBAEnE,MAAMC,WAAAA,GAAcF,SAClB9D,WAAAA,CAAYiE,IAAI,CAACC,eAAe,CAAC,aAAA,EAAeL,KAAAA,EAAO,CAACM,KAAAA,GAAAA;AACtDC,wBAAAA,MAAAA,CAAOC,MAAM,CAACF,KAAAA,CAAM9C,IAAI,EAAEA,IAAAA,CAAAA;AAC5B,oBAAA,CAAA,CAAA,CAAA;oBAEF,IAAI;wBACF,MAAM0C,cAAAA;AACR,oBAAA,CAAA,CAAE,OAAM;;AAENC,wBAAAA,WAAAA,CAAYM,IAAI,EAAA;AAClB,oBAAA;AACF,gBAAA,CAAA;gBACA7C,iBAAAA,EAAmB,CAACC,UAA2BC,IAAAA,EAAMC,GAAAA,GAAAA;AACnD;;;;YAKA,IAAI,EAAE,MAAA,IAAUF,QAAO,CAAA,IAAME,GAAAA,CAAInB,KAAK,KAAK,gCAAA,EAAkC;wBAC3E,OAAO;4BACLY,IAAAA,EAAMK,QAAAA;4BACNC,IAAAA,EAAM;AACJE,gCAAAA,eAAAA,EAAiB,EAAE;AACnBC,gCAAAA,gBAAAA,EAAkB;AACpB;AACF,yBAAA;AACF,oBAAA;oBAEA,OAAOJ,QAAAA;AACT,gBAAA;AACF,aAAA,CAAA;YACA6C,iBAAAA,EAAmBlE,OAAAA,CAAQE,QAAQ,CAQjC;AACAC,gBAAAA,KAAAA,EAAO,CAAC,EAAEwB,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAEtB,MAAM,EAAEU,IAAI,EAAE,IAAM;wBAC/DT,GAAAA,EAAKqB,UAAAA,GACD,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,CAAC,EAAEwB,UAAAA,CAAW,kBAAkB,CAAC,GAC7E,CAAC,iBAAiB,EAAED,eAAe,CAAC,EAAEvB,KAAAA,CAAM,kBAAkB,CAAC;wBACnEI,MAAAA,EAAQ,MAAA;AACRQ,wBAAAA,IAAAA;wBACAP,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACC,SAASM,MAAAA,EAAQ,EAAEU,cAAc,EAAEvB,KAAK,EAAEwB,UAAU,EAAE,GAAA;oBACtE,OAAO;AACL,wBAAA;4BACEf,IAAAA,EAAM,UAAA;AACNC,4BAAAA,EAAAA,EAAIa,mBAAmBE,wBAAAA,GAAe,CAAA,EAAGzB,MAAM,CAAC,EAAEwB,YAAY,GAAGxB;AACnE,yBAAA;AACA,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD,qBAAA;AACH,gBAAA;AACF,aAAA,CAAA;YACA+D,sBAAAA,EAAwBnE,OAAAA,CAAQE,QAAQ,CAMtC;gBACAC,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,MAAM,EAAE,GAAGyB,IAAAA,EAAM,IAAM;AACtCxB,wBAAAA,GAAAA,EAAK,CAAC,kCAAkC,EAAEH,KAAAA,CAAM,sBAAsB,CAAC;wBACvEI,MAAAA,EAAQ,MAAA;wBACRQ,IAAAA,EAAMe,IAAAA;wBACNtB,MAAAA,EAAQ;AACNH,4BAAAA;AACF;qBACF,CAAA;gBACAI,eAAAA,EAAiB,CAACsB,MAAMf,MAAAA,EAAQ,EAAEb,KAAK,EAAEiD,WAAW,EAAE,GAAK;AACtDA,wBAAAA,GAAAA,WAAAA,CAAYd,GAAG,CAAC,CAACzB,EAAAA,IAAQ;gCAAED,IAAAA,EAAM,UAAA;AAAqBC,gCAAAA,EAAAA,EAAI,CAAA,EAAGV,KAAAA,CAAM,CAAC,EAAEU,EAAAA,CAAAA;6BAAK,CAAA,CAAA;AAC9E,wBAAA,oBAAA;AACA,wBAAA,gBAAA;AACA,wBAAA;AACD;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EACJsD,4BAA4B,EAC5BC,wBAAwB,EACxBC,yBAAyB,EACzBC,yBAAyB,EACzBC,8BAA8B,EAC9BC,0BAA0B,EAC1BC,uBAAuB,EACvBC,uBAAuB,EACvBC,mBAAmB,EACnBC,iCAAiC,EACjCC,iCAAiC,EACjCC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,yBAAyB,EACzBC,4BAA4B,EAC5BC,iCAAiC,EAClC,GAAGxF;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"documents.js","sources":["../../../admin/src/services/documents.ts"],"sourcesContent":["/**\n * Related to fetching the actual content of a collection type or single type.\n */\nimport { stringify } from 'qs';\n\nimport { SINGLE_TYPES } from '../constants/collections';\n\nimport { contentManagerApi } from './api';\n\nimport type {\n Clone,\n Create,\n Delete,\n Find,\n FindOne,\n BulkDelete,\n BulkPublish,\n BulkUnpublish,\n Discard,\n CountDraftRelations,\n CountManyEntriesDraftRelations,\n Publish,\n Unpublish,\n Update,\n} from '../../../shared/contracts/collection-types';\n\nconst documentApi = contentManagerApi.injectEndpoints({\n overrideExisting: true,\n endpoints: (builder) => ({\n autoCloneDocument: builder.mutation<\n Clone.Response,\n Clone.Params & {\n params?: Find.Request['query'] & Clone.Request['query'];\n }\n >({\n query: ({ model, sourceId, params }) => ({\n url: `/content-manager/collection-types/${model}/auto-clone/${sourceId}`,\n method: 'POST',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, error, { model }) => {\n if (error) {\n return [];\n }\n\n return [\n { type: 'Document', id: `${model}_LIST` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n cloneDocument: builder.mutation<\n Clone.Response,\n Clone.Params & {\n data: Clone.Request['body'];\n params?: Clone.Request['query'];\n }\n >({\n query: ({ model, sourceId, data, params }) => ({\n url: `/content-manager/collection-types/${model}/clone/${sourceId}`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n /**\n * Creates a new collection-type document. This should ONLY be used for collection-types.\n * single-types should always be using `updateDocument` since they always exist.\n */\n createDocument: builder.mutation<\n Create.Response,\n Create.Params & {\n data: Create.Request['body'];\n params?: Create.Request['query'];\n }\n >({\n query: ({ model, data, params }) => ({\n url: `/content-manager/collection-types/${model}`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (result, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n transformResponse: (response: Create.Response, meta, arg): Create.Response => {\n /**\n * TODO v6\n * Adapt plugin:users-permissions.user to return the same response\n * shape as all other requests. The error is returned as expected.\n */\n if (!('data' in response) && arg.model === 'plugin::users-permissions.user') {\n return {\n data: response,\n meta: {\n availableStatus: [],\n availableLocales: [],\n },\n };\n }\n\n return response;\n },\n }),\n deleteDocument: builder.mutation<\n Delete.Response,\n Pick<Delete.Params, 'model'> &\n Pick<Partial<Delete.Params>, 'documentId'> & {\n collectionType: string;\n params?: Find.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url: `/content-manager/${collectionType}/${model}${\n collectionType !== SINGLE_TYPES && documentId ? `/${documentId}` : ''\n }`,\n method: 'DELETE',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => [\n { type: 'Document', id: collectionType !== SINGLE_TYPES ? `${model}_LIST` : model },\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_ALL_ITEMS` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n deleteManyDocuments: builder.mutation<\n BulkDelete.Response,\n BulkDelete.Params & BulkDelete.Request['body'] & { params?: Find.Request['query'] }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkDelete`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model }) => [\n { type: 'Document', id: `${model}_LIST` },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n discardDocument: builder.mutation<\n Discard.Response,\n Pick<Discard.Params, 'model'> &\n Partial<Pick<Discard.Params, 'documentId'>> & {\n collectionType: string;\n params?: Find.Request['query'] & {\n [key: string]: any;\n };\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url:\n documentId && collectionType !== SINGLE_TYPES\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard`\n : `/content-manager/${collectionType}/${model}/actions/discard`,\n method: 'POST',\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n /**\n * Gets all documents of a collection type or single type.\n * By passing different params you can get different results e.g. only published documents or 'es' documents.\n */\n getAllDocuments: builder.query<\n Find.Response,\n Find.Params & {\n params?: Find.Request['query'] & {\n [key: string]: any;\n };\n }\n >({\n query: ({ model, params }) => ({\n url: `/content-manager/collection-types/${model}`,\n method: 'GET',\n config: {\n params: stringify(params, { encode: true }),\n },\n }),\n providesTags: (result, _error, arg) => {\n return [\n { type: 'Document', id: `ALL_LIST` },\n { type: 'Document', id: `${arg.model}_LIST` },\n ...(result?.results.map(({ documentId }) => ({\n type: 'Document' as const,\n id: `${arg.model}_${documentId}`,\n })) ?? []),\n ];\n },\n }),\n getDraftRelationCount: builder.query<\n CountDraftRelations.Response,\n {\n collectionType: string;\n model: string;\n /**\n * You don't pass the documentId if the document is a single-type\n */\n documentId?: string;\n params?: CountDraftRelations.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params }) => ({\n url:\n documentId && collectionType !== SINGLE_TYPES\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations`\n : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n }),\n /**\n * Fetches multiple documents with deep populate in a single request for bulk publish validation.\n */\n getDocumentsForValidation: builder.query<\n Find.Response['results'],\n {\n model: string;\n documentIds: string[];\n locale?: string;\n sort?: string;\n }\n >({\n query: ({ model, documentIds, locale, sort }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkFindForValidation`,\n method: 'POST',\n data: { documentIds, locale, sort },\n }),\n transformResponse: (response: { results: Find.Response['results'] }) =>\n response?.results ?? [],\n providesTags: (result, _error, { model }) =>\n result\n ? [\n ...result.map((doc) => ({\n type: 'Document' as const,\n id: `${model}_${doc.documentId}`,\n })),\n { type: 'Document', id: `${model}_LIST` },\n ]\n : [],\n }),\n getDocument: builder.query<\n FindOne.Response,\n Pick<FindOne.Params, 'model'> &\n Partial<Pick<FindOne.Params, 'documentId'>> & {\n collectionType: string;\n params?: FindOne.Request['query'];\n }\n >({\n // @ts-expect-error – TODO: fix ts error where data unknown doesn't work with response via an assertion?\n queryFn: async (\n { collectionType, model, documentId, params },\n _api,\n _extraOpts,\n baseQuery\n ) => {\n const res = await baseQuery({\n url: `/content-manager/${collectionType}/${model}${\n documentId && collectionType !== SINGLE_TYPES ? `/${documentId}` : ''\n }`,\n method: 'GET',\n config: {\n params,\n },\n });\n\n /**\n * To stop the query from locking itself in multiple retries, we intercept the error here and manage correctly.\n * This is because single-types don't have a list view and fetching them with the route `/single-types/:model`\n * never returns a list, just a single document but this won't exist if you've not made one before.\n */\n if (res.error && res.error.name === 'NotFoundError' && collectionType === SINGLE_TYPES) {\n return { data: { document: undefined }, error: undefined };\n }\n\n return res;\n },\n providesTags: (result, _error, { collectionType, model, documentId }) => {\n return [\n // we prefer the result's id because we don't fetch single-types with an ID.\n {\n type: 'Document',\n id:\n collectionType !== SINGLE_TYPES\n ? `${model}_${result && 'documentId' in result ? result.documentId : documentId}`\n : model,\n },\n // Make it easy to invalidate all individual documents queries for a model\n {\n type: 'Document',\n id: `${model}_ALL_ITEMS`,\n },\n ];\n },\n }),\n getManyDraftRelationCount: builder.query<\n CountManyEntriesDraftRelations.Response['data'],\n CountManyEntriesDraftRelations.Request['query'] & {\n model: string;\n }\n >({\n query: ({ model, ...params }) => ({\n url: `/content-manager/collection-types/${model}/actions/countManyEntriesDraftRelations`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (response: CountManyEntriesDraftRelations.Response) => response.data,\n }),\n /**\n * This endpoint will either create or update documents at the same time as publishing.\n */\n publishDocument: builder.mutation<\n Publish.Response,\n Pick<Publish.Params, 'model'> &\n Partial<Pick<Publish.Params, 'documentId'>> & {\n collectionType: string;\n data: Publish.Request['body'];\n params?: Publish.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, params, data }) => ({\n url:\n documentId && collectionType !== SINGLE_TYPES\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish`\n : `/content-manager/${collectionType}/${model}/actions/publish`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'Relations',\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ];\n },\n }),\n publishManyDocuments: builder.mutation<\n BulkPublish.Response,\n BulkPublish.Params & BulkPublish.Request['body'] & { params?: BulkPublish.Request['query'] }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkPublish`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model, documentIds }) => {\n return [\n ...documentIds.map((id) => ({ type: 'Document' as const, id: `${model}_${id}` })),\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n updateDocument: builder.mutation<\n Update.Response,\n Pick<Update.Params, 'model'> &\n Partial<Pick<Update.Params, 'documentId'>> & {\n collectionType: string;\n data: Update.Request['body'];\n params?: Update.Request['query'];\n }\n >({\n query: ({ collectionType, model, documentId, data, params }) => ({\n url: `/content-manager/${collectionType}/${model}${\n documentId && collectionType !== SINGLE_TYPES ? `/${documentId}` : ''\n }`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n 'Relations',\n { type: 'UidAvailability', id: model },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n {\n type: 'AILocalizationJobs',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n ];\n },\n async onQueryStarted({ data, ...patch }, { dispatch, queryFulfilled }) {\n // Optimistically update the cache with the new data\n const patchResult = dispatch(\n documentApi.util.updateQueryData('getDocument', patch, (draft) => {\n Object.assign(draft.data, data);\n })\n );\n try {\n await queryFulfilled;\n } catch {\n // Rollback the optimistic update if there's an error\n patchResult.undo();\n }\n },\n transformResponse: (response: Update.Response, meta, arg): Update.Response => {\n /**\n * TODO v6\n * Adapt plugin:users-permissions.user to return the same response\n * shape as all other requests. The error is returned as expected.\n */\n if (!('data' in response) && arg.model === 'plugin::users-permissions.user') {\n return {\n data: response,\n meta: {\n availableStatus: [],\n availableLocales: [],\n },\n };\n }\n\n return response;\n },\n }),\n unpublishDocument: builder.mutation<\n Unpublish.Response,\n Pick<Unpublish.Params, 'model'> &\n Partial<Pick<Unpublish.Params, 'documentId'>> & {\n collectionType: string;\n params?: Unpublish.Request['query'];\n data: Unpublish.Request['body'];\n }\n >({\n query: ({ collectionType, model, documentId, params, data }) => ({\n url:\n documentId && collectionType !== SINGLE_TYPES\n ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish`\n : `/content-manager/${collectionType}/${model}/actions/unpublish`,\n method: 'POST',\n data,\n config: {\n params,\n },\n }),\n invalidatesTags: (_result, _error, { collectionType, model, documentId }) => {\n return [\n {\n type: 'Document',\n id: collectionType !== SINGLE_TYPES ? `${model}_${documentId}` : model,\n },\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ];\n },\n }),\n unpublishManyDocuments: builder.mutation<\n BulkUnpublish.Response,\n Pick<BulkUnpublish.Params, 'model'> &\n BulkUnpublish.Request['body'] & {\n params?: BulkUnpublish.Request['query'];\n }\n >({\n query: ({ model, params, ...body }) => ({\n url: `/content-manager/collection-types/${model}/actions/bulkUnpublish`,\n method: 'POST',\n data: body,\n config: {\n params,\n },\n }),\n invalidatesTags: (_res, _error, { model, documentIds }) => [\n ...documentIds.map((id) => ({ type: 'Document' as const, id: `${model}_${id}` })),\n 'RecentDocumentList',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n }),\n }),\n});\n\nconst {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useGetAllDocumentsQuery,\n useGetDocumentsForValidationQuery,\n useLazyGetDocumentQuery,\n useGetDocumentQuery,\n useLazyGetDraftRelationCountQuery,\n useGetManyDraftRelationCountQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n} = documentApi;\n\nexport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useGetAllDocumentsQuery,\n useGetDocumentsForValidationQuery,\n useLazyGetDocumentQuery,\n useGetDocumentQuery,\n useLazyGetDraftRelationCountQuery as useGetDraftRelationCountQuery,\n useGetManyDraftRelationCountQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n};\n"],"names":["documentApi","contentManagerApi","injectEndpoints","overrideExisting","endpoints","builder","autoCloneDocument","mutation","query","model","sourceId","params","url","method","config","invalidatesTags","_result","error","type","id","cloneDocument","data","_error","createDocument","result","transformResponse","response","meta","arg","availableStatus","availableLocales","deleteDocument","collectionType","documentId","SINGLE_TYPES","deleteManyDocuments","body","_res","discardDocument","getAllDocuments","stringify","encode","providesTags","results","map","getDraftRelationCount","getDocumentsForValidation","documentIds","locale","sort","doc","getDocument","queryFn","_api","_extraOpts","baseQuery","res","name","document","undefined","getManyDraftRelationCount","publishDocument","publishManyDocuments","updateDocument","onQueryStarted","patch","dispatch","queryFulfilled","patchResult","util","updateQueryData","draft","Object","assign","undo","unpublishDocument","unpublishManyDocuments","useAutoCloneDocumentMutation","useCloneDocumentMutation","useCreateDocumentMutation","useDeleteDocumentMutation","useDeleteManyDocumentsMutation","useDiscardDocumentMutation","useGetAllDocumentsQuery","useGetDocumentsForValidationQuery","useLazyGetDocumentQuery","useGetDocumentQuery","useLazyGetDraftRelationCountQuery","useGetManyDraftRelationCountQuery","usePublishDocumentMutation","usePublishManyDocumentsMutation","useUpdateDocumentMutation","useUnpublishDocumentMutation","useUnpublishManyDocumentsMutation"],"mappings":"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"}
@@ -141,7 +141,7 @@ const documentApi = contentManagerApi.injectEndpoints({
141
141
  }),
142
142
  discardDocument: builder.mutation({
143
143
  query: ({ collectionType, model, documentId, params })=>({
144
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard` : `/content-manager/${collectionType}/${model}/actions/discard`,
144
+ url: documentId && collectionType !== SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/discard` : `/content-manager/${collectionType}/${model}/actions/discard`,
145
145
  method: 'POST',
146
146
  config: {
147
147
  params
@@ -200,18 +200,42 @@ const documentApi = contentManagerApi.injectEndpoints({
200
200
  }),
201
201
  getDraftRelationCount: builder.query({
202
202
  query: ({ collectionType, model, documentId, params })=>({
203
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations` : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,
203
+ url: documentId && collectionType !== SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/countDraftRelations` : `/content-manager/${collectionType}/${model}/actions/countDraftRelations`,
204
204
  method: 'GET',
205
205
  config: {
206
206
  params
207
207
  }
208
208
  })
209
209
  }),
210
+ /**
211
+ * Fetches multiple documents with deep populate in a single request for bulk publish validation.
212
+ */ getDocumentsForValidation: builder.query({
213
+ query: ({ model, documentIds, locale, sort })=>({
214
+ url: `/content-manager/collection-types/${model}/actions/bulkFindForValidation`,
215
+ method: 'POST',
216
+ data: {
217
+ documentIds,
218
+ locale,
219
+ sort
220
+ }
221
+ }),
222
+ transformResponse: (response)=>response?.results ?? [],
223
+ providesTags: (result, _error, { model })=>result ? [
224
+ ...result.map((doc)=>({
225
+ type: 'Document',
226
+ id: `${model}_${doc.documentId}`
227
+ })),
228
+ {
229
+ type: 'Document',
230
+ id: `${model}_LIST`
231
+ }
232
+ ] : []
233
+ }),
210
234
  getDocument: builder.query({
211
235
  // @ts-expect-error – TODO: fix ts error where data unknown doesn't work with response via an assertion?
212
236
  queryFn: async ({ collectionType, model, documentId, params }, _api, _extraOpts, baseQuery)=>{
213
237
  const res = await baseQuery({
214
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,
238
+ url: `/content-manager/${collectionType}/${model}${documentId && collectionType !== SINGLE_TYPES ? `/${documentId}` : ''}`,
215
239
  method: 'GET',
216
240
  config: {
217
241
  params
@@ -260,7 +284,7 @@ const documentApi = contentManagerApi.injectEndpoints({
260
284
  * This endpoint will either create or update documents at the same time as publishing.
261
285
  */ publishDocument: builder.mutation({
262
286
  query: ({ collectionType, model, documentId, params, data })=>({
263
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish` : `/content-manager/${collectionType}/${model}/actions/publish`,
287
+ url: documentId && collectionType !== SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/publish` : `/content-manager/${collectionType}/${model}/actions/publish`,
264
288
  method: 'POST',
265
289
  data,
266
290
  config: {
@@ -311,7 +335,7 @@ const documentApi = contentManagerApi.injectEndpoints({
311
335
  }),
312
336
  updateDocument: builder.mutation({
313
337
  query: ({ collectionType, model, documentId, data, params })=>({
314
- url: `/content-manager/${collectionType}/${model}${documentId ? `/${documentId}` : ''}`,
338
+ url: `/content-manager/${collectionType}/${model}${documentId && collectionType !== SINGLE_TYPES ? `/${documentId}` : ''}`,
315
339
  method: 'PUT',
316
340
  data,
317
341
  config: {
@@ -369,7 +393,7 @@ const documentApi = contentManagerApi.injectEndpoints({
369
393
  }),
370
394
  unpublishDocument: builder.mutation({
371
395
  query: ({ collectionType, model, documentId, params, data })=>({
372
- url: documentId ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish` : `/content-manager/${collectionType}/${model}/actions/unpublish`,
396
+ url: documentId && collectionType !== SINGLE_TYPES ? `/content-manager/${collectionType}/${model}/${documentId}/actions/unpublish` : `/content-manager/${collectionType}/${model}/actions/unpublish`,
373
397
  method: 'POST',
374
398
  data,
375
399
  config: {
@@ -409,7 +433,7 @@ const documentApi = contentManagerApi.injectEndpoints({
409
433
  })
410
434
  })
411
435
  });
412
- const { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useLazyGetDocumentQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUpdateDocumentMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation } = documentApi;
436
+ const { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useGetDocumentsForValidationQuery, useLazyGetDocumentQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUpdateDocumentMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation } = documentApi;
413
437
 
414
- export { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useGetDocumentQuery, useLazyGetDraftRelationCountQuery as useGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, useLazyGetDocumentQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation, useUpdateDocumentMutation };
438
+ export { useAutoCloneDocumentMutation, useCloneDocumentMutation, useCreateDocumentMutation, useDeleteDocumentMutation, useDeleteManyDocumentsMutation, useDiscardDocumentMutation, useGetAllDocumentsQuery, useGetDocumentQuery, useGetDocumentsForValidationQuery, useLazyGetDraftRelationCountQuery as useGetDraftRelationCountQuery, useGetManyDraftRelationCountQuery, useLazyGetDocumentQuery, usePublishDocumentMutation, usePublishManyDocumentsMutation, useUnpublishDocumentMutation, useUnpublishManyDocumentsMutation, useUpdateDocumentMutation };
415
439
  //# sourceMappingURL=documents.mjs.map