@strapi/content-manager 5.61.0 → 5.62.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 (260) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +1 -1
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +3 -3
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/features/I18nSharedFieldsLock.js +54 -0
  6. package/dist/admin/features/I18nSharedFieldsLock.js.map +1 -0
  7. package/dist/admin/features/I18nSharedFieldsLock.mjs +31 -0
  8. package/dist/admin/features/I18nSharedFieldsLock.mjs.map +1 -0
  9. package/dist/admin/history/components/VersionInputRenderer.js +7 -2
  10. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  11. package/dist/admin/history/components/VersionInputRenderer.mjs +7 -3
  12. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  13. package/dist/admin/hooks/useContentManagerInitData.js +27 -8
  14. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  15. package/dist/admin/hooks/useContentManagerInitData.mjs +29 -10
  16. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  17. package/dist/admin/hooks/useDocument.js +11 -13
  18. package/dist/admin/hooks/useDocument.js.map +1 -1
  19. package/dist/admin/hooks/useDocument.mjs +11 -13
  20. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  21. package/dist/admin/hooks/useI18nFieldLock.js +169 -0
  22. package/dist/admin/hooks/useI18nFieldLock.js.map +1 -0
  23. package/dist/admin/hooks/useI18nFieldLock.mjs +140 -0
  24. package/dist/admin/hooks/useI18nFieldLock.mjs.map +1 -0
  25. package/dist/admin/hooks/usePersistentQueryParams.js +16 -3
  26. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  27. package/dist/admin/hooks/usePersistentQueryParams.mjs +16 -3
  28. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  29. package/dist/admin/index.js +5 -0
  30. package/dist/admin/index.js.map +1 -1
  31. package/dist/admin/index.mjs +2 -0
  32. package/dist/admin/index.mjs.map +1 -1
  33. package/dist/admin/modules/app.js +8 -1
  34. package/dist/admin/modules/app.js.map +1 -1
  35. package/dist/admin/modules/app.mjs +8 -2
  36. package/dist/admin/modules/app.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/EditViewPage.js +129 -127
  38. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  39. package/dist/admin/pages/EditView/EditViewPage.mjs +129 -127
  40. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/DocumentActions.js +11 -4
  42. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/DocumentActions.mjs +12 -5
  44. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +31 -21
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +32 -22
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.js +98 -0
  50. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.js.map +1 -0
  51. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.mjs +96 -0
  52. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.mjs.map +1 -0
  53. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.js +1103 -0
  54. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.js.map +1 -0
  55. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.mjs +1077 -0
  56. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.mjs.map +1 -0
  57. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.js +211 -0
  58. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.js.map +1 -0
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.mjs +183 -0
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.mjs.map +1 -0
  61. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js +84 -41
  62. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs +86 -43
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +86 -20
  66. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +89 -23
  68. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +5 -2
  70. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +5 -2
  72. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +142 -22
  74. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +143 -23
  76. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.js +402 -0
  78. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.js.map +1 -0
  79. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.mjs +389 -0
  80. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.mjs.map +1 -0
  81. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +84 -33
  82. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +85 -34
  84. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +5 -1
  86. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +5 -1
  88. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +17 -4
  90. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +18 -5
  92. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +54 -6
  94. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +54 -6
  96. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +11 -9
  98. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +12 -10
  100. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +9 -4
  102. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +9 -4
  104. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormLayout.js +66 -63
  106. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormLayout.mjs +66 -63
  108. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/InputRenderer.js +7 -1
  110. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  111. package/dist/admin/pages/EditView/components/InputRenderer.mjs +7 -1
  112. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  113. package/dist/admin/pages/EditView/utils/data.js +14 -9
  114. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  115. package/dist/admin/pages/EditView/utils/data.mjs +14 -9
  116. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/utils/forms.js +34 -0
  118. package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
  119. package/dist/admin/pages/EditView/utils/forms.mjs +34 -1
  120. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
  121. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +2 -1
  122. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  123. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +2 -1
  124. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  125. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +7 -6
  126. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  127. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +7 -6
  128. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  129. package/dist/admin/pages/ListView/ListViewPage.js +11 -2
  130. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  131. package/dist/admin/pages/ListView/ListViewPage.mjs +13 -4
  132. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  133. package/dist/admin/pages/ListView/components/Filters.js +15 -5
  134. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  135. package/dist/admin/pages/ListView/components/Filters.mjs +16 -7
  136. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  137. package/dist/admin/preview/components/InputPopover.js +18 -8
  138. package/dist/admin/preview/components/InputPopover.js.map +1 -1
  139. package/dist/admin/preview/components/InputPopover.mjs +19 -9
  140. package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
  141. package/dist/admin/preview/pages/Preview.js +5 -16
  142. package/dist/admin/preview/pages/Preview.js.map +1 -1
  143. package/dist/admin/preview/pages/Preview.mjs +5 -16
  144. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  145. package/dist/admin/preview/utils/fieldUtils.js +2 -0
  146. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  147. package/dist/admin/preview/utils/fieldUtils.mjs +2 -1
  148. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  149. package/dist/admin/services/api.js +2 -1
  150. package/dist/admin/services/api.js.map +1 -1
  151. package/dist/admin/services/api.mjs +2 -1
  152. package/dist/admin/services/api.mjs.map +1 -1
  153. package/dist/admin/services/documents.js +21 -1
  154. package/dist/admin/services/documents.js.map +1 -1
  155. package/dist/admin/services/documents.mjs +21 -2
  156. package/dist/admin/services/documents.mjs.map +1 -1
  157. package/dist/admin/services/relations.js +47 -1
  158. package/dist/admin/services/relations.js.map +1 -1
  159. package/dist/admin/services/relations.mjs +47 -2
  160. package/dist/admin/services/relations.mjs.map +1 -1
  161. package/dist/admin/src/exports.d.ts +2 -0
  162. package/dist/admin/src/features/I18nSharedFieldsLock.d.ts +22 -0
  163. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +7 -1
  164. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  165. package/dist/admin/src/hooks/useI18nFieldLock.d.ts +61 -0
  166. package/dist/admin/src/modules/app.d.ts +4 -1
  167. package/dist/admin/src/pages/EditView/components/FormInputs/Component/AddComponentMenu.d.ts +15 -0
  168. package/dist/admin/src/pages/EditView/components/FormInputs/Component/ComponentCopyModal.d.ts +58 -0
  169. package/dist/admin/src/pages/EditView/components/FormInputs/Component/CopiedComponents.d.ts +41 -0
  170. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +7 -3
  171. package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +1 -1
  172. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +2 -2
  173. package/dist/admin/src/pages/EditView/components/FormInputs/Component/utils/componentCopy.d.ts +115 -0
  174. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +6 -3
  175. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +2 -1
  176. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +5 -1
  177. package/dist/admin/src/pages/EditView/utils/forms.d.ts +13 -2
  178. package/dist/admin/src/pages/ListView/components/Filters.d.ts +12 -3
  179. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  180. package/dist/admin/src/preview/utils/fieldUtils.d.ts +1 -0
  181. package/dist/admin/src/services/api.d.ts +1 -1
  182. package/dist/admin/src/services/components.d.ts +2 -2
  183. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  184. package/dist/admin/src/services/documents.d.ts +25 -21
  185. package/dist/admin/src/services/homepage.d.ts +1 -1
  186. package/dist/admin/src/services/init.d.ts +1 -1
  187. package/dist/admin/src/services/relations.d.ts +5 -3
  188. package/dist/admin/src/services/uid.d.ts +3 -3
  189. package/dist/admin/translations/en.json.js +41 -0
  190. package/dist/admin/translations/en.json.js.map +1 -1
  191. package/dist/admin/translations/en.json.mjs +41 -0
  192. package/dist/admin/translations/en.json.mjs.map +1 -1
  193. package/dist/server/controllers/relations.js +4 -2
  194. package/dist/server/controllers/relations.js.map +1 -1
  195. package/dist/server/controllers/relations.mjs +4 -2
  196. package/dist/server/controllers/relations.mjs.map +1 -1
  197. package/dist/server/controllers/utils/metadata.js +3 -1
  198. package/dist/server/controllers/utils/metadata.js.map +1 -1
  199. package/dist/server/controllers/utils/metadata.mjs +3 -1
  200. package/dist/server/controllers/utils/metadata.mjs.map +1 -1
  201. package/dist/server/history/services/utils.js +3 -1
  202. package/dist/server/history/services/utils.js.map +1 -1
  203. package/dist/server/history/services/utils.mjs +3 -1
  204. package/dist/server/history/services/utils.mjs.map +1 -1
  205. package/dist/server/homepage/services/homepage-query-utils.js +14 -0
  206. package/dist/server/homepage/services/homepage-query-utils.js.map +1 -1
  207. package/dist/server/homepage/services/homepage-query-utils.mjs +14 -1
  208. package/dist/server/homepage/services/homepage-query-utils.mjs.map +1 -1
  209. package/dist/server/homepage/services/homepage.js +1 -1
  210. package/dist/server/homepage/services/homepage.js.map +1 -1
  211. package/dist/server/homepage/services/homepage.mjs +2 -2
  212. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  213. package/dist/server/mcp/sanitizers/shape-relations.js +1 -3
  214. package/dist/server/mcp/sanitizers/shape-relations.js.map +1 -1
  215. package/dist/server/mcp/sanitizers/shape-relations.mjs +1 -3
  216. package/dist/server/mcp/sanitizers/shape-relations.mjs.map +1 -1
  217. package/dist/server/mcp/schemas/output-schemas.js +2 -1
  218. package/dist/server/mcp/schemas/output-schemas.js.map +1 -1
  219. package/dist/server/mcp/schemas/output-schemas.mjs +2 -1
  220. package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -1
  221. package/dist/server/services/document-manager.js +3 -2
  222. package/dist/server/services/document-manager.js.map +1 -1
  223. package/dist/server/services/document-manager.mjs +3 -2
  224. package/dist/server/services/document-manager.mjs.map +1 -1
  225. package/dist/server/services/document-metadata.js +92 -4
  226. package/dist/server/services/document-metadata.js.map +1 -1
  227. package/dist/server/services/document-metadata.mjs +92 -4
  228. package/dist/server/services/document-metadata.mjs.map +1 -1
  229. package/dist/server/services/permission-checker.js +20 -8
  230. package/dist/server/services/permission-checker.js.map +1 -1
  231. package/dist/server/services/permission-checker.mjs +20 -8
  232. package/dist/server/services/permission-checker.mjs.map +1 -1
  233. package/dist/server/services/uid.js +2 -1
  234. package/dist/server/services/uid.js.map +1 -1
  235. package/dist/server/services/uid.mjs +2 -1
  236. package/dist/server/services/uid.mjs.map +1 -1
  237. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  238. package/dist/server/src/controllers/utils/metadata.d.ts +1 -0
  239. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  240. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  241. package/dist/server/src/homepage/services/homepage-query-utils.d.ts +6 -0
  242. package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -1
  243. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  244. package/dist/server/src/index.d.ts +21 -7
  245. package/dist/server/src/index.d.ts.map +1 -1
  246. package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -1
  247. package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -1
  248. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  249. package/dist/server/src/services/document-metadata.d.ts +5 -1
  250. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  251. package/dist/server/src/services/index.d.ts +21 -7
  252. package/dist/server/src/services/index.d.ts.map +1 -1
  253. package/dist/server/src/services/permission-checker.d.ts +6 -5
  254. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  255. package/dist/server/src/services/uid.d.ts.map +1 -1
  256. package/dist/shared/contracts/collection-types.d.ts +7 -0
  257. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  258. package/dist/shared/contracts/single-types.d.ts +4 -0
  259. package/dist/shared/contracts/single-types.d.ts.map +1 -1
  260. package/package.json +9 -9
@@ -10,6 +10,7 @@ const ACTIONS = {
10
10
  unpublish: 'plugin::content-manager.explorer.publish',
11
11
  discard: 'plugin::content-manager.explorer.update'
12
12
  };
13
+ const ACTION_NAMES = Object.keys(ACTIONS);
13
14
  const createPermissionChecker = (strapi)=>({ userAbility, model })=>{
14
15
  const permissionsManager = strapi.service('admin::permission').createPermissionsManager({
15
16
  ability: userAbility,
@@ -84,17 +85,28 @@ const createPermissionChecker = (strapi)=>({ userAbility, model })=>{
84
85
  };
85
86
  const sanitizeCreateInput = (data)=>sanitizeInput(ACTIONS.create, data);
86
87
  const sanitizeUpdateInput = (entity)=>(data)=>sanitizeInput(ACTIONS.update, data, entity);
87
- const buildPermissionQuery = (query, action = {})=>{
88
+ const buildPermissionQuery = (query, action)=>{
88
89
  return permissionsManager.addPermissionsQueryTo(query, action);
89
90
  };
90
- const sanitizedQuery = (query, action = {})=>{
91
- return async.pipe((q)=>sanitizeQuery(q, action), (q)=>buildPermissionQuery(q, action))(query);
91
+ /**
92
+ * Sanitizes the query with the rules of the action, then adds the action's permission
93
+ * conditions to it. The action defaults to read.
94
+ * The action can also be given as a plain string, the v4 signature
95
+ * `sanitizedQuery(query, actionUID)`, which untyped plugin code may still use.
96
+ */ const sanitizedQueryForAction = (query, options = {})=>{
97
+ const action = typeof options === 'string' ? options : options.action ?? ACTIONS.read;
98
+ return async.pipe((q)=>sanitizeQuery(q, {
99
+ action
100
+ }), (q)=>buildPermissionQuery(q, action))(query);
92
101
  };
93
- // Sanitized queries shortcuts
94
- Object.keys(ACTIONS).forEach((action)=>{
95
- // @ts-expect-error TODO
96
- sanitizedQuery[action] = (query)=>sanitizedQuery(query, ACTIONS[action]);
97
- });
102
+ // Sanitized queries shortcuts, e.g. `sanitizedQuery.update(query)`
103
+ const sanitizedQueryShortcuts = Object.fromEntries(ACTION_NAMES.map((name)=>[
104
+ name,
105
+ (query)=>sanitizedQueryForAction(query, {
106
+ action: ACTIONS[name]
107
+ })
108
+ ]));
109
+ const sanitizedQuery = Object.assign(sanitizedQueryForAction, sanitizedQueryShortcuts);
98
110
  // Permission utils shortcuts
99
111
  Object.keys(ACTIONS).forEach((action)=>{
100
112
  // @ts-expect-error TODO
@@ -1 +1 @@
1
- {"version":3,"file":"permission-checker.mjs","sources":["../../../server/src/services/permission-checker.ts"],"sourcesContent":["import type { Ability } from '@casl/ability';\nimport { async } from '@strapi/utils';\nimport { isEmpty } from 'lodash';\n\nimport type { Core, UID, Modules } from '@strapi/types';\n\nexport const ACTIONS = {\n read: 'plugin::content-manager.explorer.read',\n create: 'plugin::content-manager.explorer.create',\n update: 'plugin::content-manager.explorer.update',\n delete: 'plugin::content-manager.explorer.delete',\n publish: 'plugin::content-manager.explorer.publish',\n unpublish: 'plugin::content-manager.explorer.publish',\n discard: 'plugin::content-manager.explorer.update',\n} as const;\n\ntype Entity = Modules.EntityService.Result<UID.ContentType>;\ntype Query = {\n page?: string;\n pageSize?: string;\n sort?: string;\n};\n\nconst createPermissionChecker =\n (strapi: Core.Strapi) =>\n ({ userAbility, model }: { userAbility: Ability; model: string }) => {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n model,\n });\n\n const { actionProvider } = strapi.service('admin::permission');\n\n const toSubject = (entity?: Entity) => {\n return entity ? permissionsManager.toSubject(entity, model) : model;\n };\n\n const can = (action: string, entity: Entity | undefined, field: string) => {\n const subject = toSubject(entity);\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n\n return (\n // Test the original action to see if it passes\n userAbility.can(action, subject, field) ||\n // Else try every known alias if at least one of them succeed, then the user \"can\"\n aliases.some((alias) => userAbility.can(alias, subject, field))\n );\n };\n\n const cannot = (action: string, entity: Entity | undefined, field: string) => {\n const subject = toSubject(entity);\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n\n return (\n // Test both the original action\n userAbility.cannot(action, subject, field) &&\n // and every known alias, if all of them fail (cannot), then the user truly \"cannot\"\n aliases.every((alias) => userAbility.cannot(alias, subject, field))\n );\n };\n\n const sanitizeOutput = (data: Entity, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.sanitizeOutput(data, { subject: toSubject(data), action });\n };\n\n const getRulesForAction = (action: string) => {\n if (typeof userAbility.rulesFor !== 'function') {\n return [];\n }\n\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n const actions = [action, ...aliases];\n\n return actions.flatMap((actionName) => userAbility.rulesFor(actionName, model));\n };\n\n // Tell callers if we need the full entity to check access\n const requiresEntity = (action: string) => {\n if (typeof userAbility.rulesFor !== 'function') {\n return true;\n }\n\n const rules = getRulesForAction(action);\n\n return rules.some((rule: any) => rule.conditions && !isEmpty(rule.conditions));\n };\n\n const sanitizeQuery = (query: Query, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.sanitizeQuery(query, { subject: model, action });\n };\n\n const sanitizeInput = (action: string, data: any, entity?: Entity) => {\n return permissionsManager.sanitizeInput(data, {\n subject: entity ? toSubject(entity) : model,\n action,\n });\n };\n\n const validateQuery = (query: Query, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.validateQuery(query, { subject: model, action });\n };\n\n const validateInput = (action: string, data: any, entity?: Entity) => {\n return permissionsManager.validateInput(data, {\n subject: entity ? toSubject(entity) : model,\n action,\n });\n };\n\n const sanitizeCreateInput = (data: any) => sanitizeInput(ACTIONS.create, data);\n const sanitizeUpdateInput = (entity: Entity) => (data: any) =>\n sanitizeInput(ACTIONS.update, data, entity);\n\n const buildPermissionQuery = (query: Query, action: { action?: string } = {}) => {\n return permissionsManager.addPermissionsQueryTo(query, action);\n };\n\n const sanitizedQuery = (query: Query, action: { action?: string } = {}) => {\n return async.pipe(\n (q: Query) => sanitizeQuery(q, action),\n (q: Query) => buildPermissionQuery(q, action)\n )(query);\n };\n\n // Sanitized queries shortcuts\n Object.keys(ACTIONS).forEach((action) => {\n // @ts-expect-error TODO\n sanitizedQuery[action] = (query: Query) => sanitizedQuery(query, ACTIONS[action]);\n });\n\n // Permission utils shortcuts\n Object.keys(ACTIONS).forEach((action) => {\n // @ts-expect-error TODO\n can[action] = (...args: any) => can(ACTIONS[action], ...args);\n // @ts-expect-error TODO\n cannot[action] = (...args: any) => cannot(ACTIONS[action], ...args);\n // @ts-expect-error TODO\n requiresEntity[action] = () => requiresEntity(ACTIONS[action]);\n });\n\n return {\n // Permission utils\n can, // check if you have the permission\n cannot, // check if you don't have the permission\n requiresEntity, // check if entity data is needed for permission evaluation\n // Sanitizers\n sanitizeOutput,\n sanitizeQuery,\n sanitizeCreateInput,\n sanitizeUpdateInput,\n // Validators\n validateQuery,\n validateInput,\n // Queries Builder\n sanitizedQuery,\n };\n };\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n create: createPermissionChecker(strapi),\n});\n"],"names":["ACTIONS","read","create","update","delete","publish","unpublish","discard","createPermissionChecker","strapi","userAbility","model","permissionsManager","service","createPermissionsManager","ability","actionProvider","toSubject","entity","can","action","field","subject","aliases","unstable_aliases","some","alias","cannot","every","sanitizeOutput","data","getRulesForAction","rulesFor","actions","flatMap","actionName","requiresEntity","rules","rule","conditions","isEmpty","sanitizeQuery","query","sanitizeInput","validateQuery","validateInput","sanitizeCreateInput","sanitizeUpdateInput","buildPermissionQuery","addPermissionsQueryTo","sanitizedQuery","async","pipe","q","Object","keys","forEach","args"],"mappings":"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"}
1
+ {"version":3,"file":"permission-checker.mjs","sources":["../../../server/src/services/permission-checker.ts"],"sourcesContent":["import type { Ability } from '@casl/ability';\nimport { async } from '@strapi/utils';\nimport { isEmpty } from 'lodash';\n\nimport type { Core, UID, Modules } from '@strapi/types';\n\nexport const ACTIONS = {\n read: 'plugin::content-manager.explorer.read',\n create: 'plugin::content-manager.explorer.create',\n update: 'plugin::content-manager.explorer.update',\n delete: 'plugin::content-manager.explorer.delete',\n publish: 'plugin::content-manager.explorer.publish',\n unpublish: 'plugin::content-manager.explorer.publish',\n discard: 'plugin::content-manager.explorer.update',\n} as const;\n\ntype ActionName = keyof typeof ACTIONS;\n\nconst ACTION_NAMES = Object.keys(ACTIONS) as ActionName[];\n\ntype SanitizedQueryOptions = { action?: string } | string;\n\ntype Entity = Modules.EntityService.Result<UID.ContentType>;\ntype Query = {\n page?: string;\n pageSize?: string;\n sort?: string;\n};\n\nconst createPermissionChecker =\n (strapi: Core.Strapi) =>\n ({ userAbility, model }: { userAbility: Ability; model: string }) => {\n const permissionsManager = strapi.service('admin::permission').createPermissionsManager({\n ability: userAbility,\n model,\n });\n\n const { actionProvider } = strapi.service('admin::permission');\n\n const toSubject = (entity?: Entity) => {\n return entity ? permissionsManager.toSubject(entity, model) : model;\n };\n\n const can = (action: string, entity?: Entity, field?: string) => {\n const subject = toSubject(entity);\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n\n return (\n // Test the original action to see if it passes\n userAbility.can(action, subject, field) ||\n // Else try every known alias if at least one of them succeed, then the user \"can\"\n aliases.some((alias) => userAbility.can(alias, subject, field))\n );\n };\n\n const cannot = (action: string, entity?: Entity, field?: string) => {\n const subject = toSubject(entity);\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n\n return (\n // Test both the original action\n userAbility.cannot(action, subject, field) &&\n // and every known alias, if all of them fail (cannot), then the user truly \"cannot\"\n aliases.every((alias) => userAbility.cannot(alias, subject, field))\n );\n };\n\n const sanitizeOutput = (data: Entity, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.sanitizeOutput(data, { subject: toSubject(data), action });\n };\n\n const getRulesForAction = (action: string) => {\n if (typeof userAbility.rulesFor !== 'function') {\n return [];\n }\n\n const aliases = actionProvider.unstable_aliases(action, model) as string[];\n const actions = [action, ...aliases];\n\n return actions.flatMap((actionName) => userAbility.rulesFor(actionName, model));\n };\n\n // Tell callers if we need the full entity to check access\n const requiresEntity = (action: string) => {\n if (typeof userAbility.rulesFor !== 'function') {\n return true;\n }\n\n const rules = getRulesForAction(action);\n\n return rules.some((rule: any) => rule.conditions && !isEmpty(rule.conditions));\n };\n\n const sanitizeQuery = (query: Query, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.sanitizeQuery(query, { subject: model, action });\n };\n\n const sanitizeInput = (action: string, data: any, entity?: Entity) => {\n return permissionsManager.sanitizeInput(data, {\n subject: entity ? toSubject(entity) : model,\n action,\n });\n };\n\n const validateQuery = (query: Query, { action = ACTIONS.read }: { action?: string } = {}) => {\n return permissionsManager.validateQuery(query, { subject: model, action });\n };\n\n const validateInput = (action: string, data: any, entity?: Entity) => {\n return permissionsManager.validateInput(data, {\n subject: entity ? toSubject(entity) : model,\n action,\n });\n };\n\n const sanitizeCreateInput = (data: any) => sanitizeInput(ACTIONS.create, data);\n const sanitizeUpdateInput = (entity: Entity) => (data: any) =>\n sanitizeInput(ACTIONS.update, data, entity);\n\n const buildPermissionQuery = (query: Query, action: string) => {\n return permissionsManager.addPermissionsQueryTo(query, action);\n };\n\n /**\n * Sanitizes the query with the rules of the action, then adds the action's permission\n * conditions to it. The action defaults to read.\n * The action can also be given as a plain string, the v4 signature\n * `sanitizedQuery(query, actionUID)`, which untyped plugin code may still use.\n */\n const sanitizedQueryForAction = (query: Query, options: SanitizedQueryOptions = {}) => {\n const action = typeof options === 'string' ? options : (options.action ?? ACTIONS.read);\n\n return async.pipe(\n (q: Query) => sanitizeQuery(q, { action }),\n (q: Query) => buildPermissionQuery(q, action)\n )(query);\n };\n\n // Sanitized queries shortcuts, e.g. `sanitizedQuery.update(query)`\n const sanitizedQueryShortcuts = Object.fromEntries(\n ACTION_NAMES.map((name) => [\n name,\n (query: Query) => sanitizedQueryForAction(query, { action: ACTIONS[name] }),\n ])\n ) as Record<ActionName, (query: Query) => ReturnType<typeof sanitizedQueryForAction>>;\n\n const sanitizedQuery = Object.assign(sanitizedQueryForAction, sanitizedQueryShortcuts);\n\n // Permission utils shortcuts\n Object.keys(ACTIONS).forEach((action) => {\n // @ts-expect-error TODO\n can[action] = (...args: any) => can(ACTIONS[action], ...args);\n // @ts-expect-error TODO\n cannot[action] = (...args: any) => cannot(ACTIONS[action], ...args);\n // @ts-expect-error TODO\n requiresEntity[action] = () => requiresEntity(ACTIONS[action]);\n });\n\n return {\n // Permission utils\n can, // check if you have the permission\n cannot, // check if you don't have the permission\n requiresEntity, // check if entity data is needed for permission evaluation\n // Sanitizers\n sanitizeOutput,\n sanitizeQuery,\n sanitizeCreateInput,\n sanitizeUpdateInput,\n // Validators\n validateQuery,\n validateInput,\n // Queries Builder\n sanitizedQuery,\n };\n };\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n create: createPermissionChecker(strapi),\n});\n"],"names":["ACTIONS","read","create","update","delete","publish","unpublish","discard","ACTION_NAMES","Object","keys","createPermissionChecker","strapi","userAbility","model","permissionsManager","service","createPermissionsManager","ability","actionProvider","toSubject","entity","can","action","field","subject","aliases","unstable_aliases","some","alias","cannot","every","sanitizeOutput","data","getRulesForAction","rulesFor","actions","flatMap","actionName","requiresEntity","rules","rule","conditions","isEmpty","sanitizeQuery","query","sanitizeInput","validateQuery","validateInput","sanitizeCreateInput","sanitizeUpdateInput","buildPermissionQuery","addPermissionsQueryTo","sanitizedQueryForAction","options","async","pipe","q","sanitizedQueryShortcuts","fromEntries","map","name","sanitizedQuery","assign","forEach","args"],"mappings":"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"}
@@ -15,7 +15,8 @@ var uid = (({ strapi })=>({
15
15
  const { targetField, default: defaultValue, options } = attributes[field];
16
16
  // @ts-expect-error targetField can be undefined
17
17
  const targetValue = ___default.default.get(data, targetField);
18
- if (!___default.default.isEmpty(targetValue)) {
18
+ // Only strings can be slugified; any other value falls back like an empty one
19
+ if (typeof targetValue === 'string' && targetValue !== '') {
19
20
  return this.findUniqueUID({
20
21
  contentTypeUID,
21
22
  field,
@@ -1 +1 @@
1
- {"version":3,"file":"uid.js","sources":["../../../server/src/services/uid.ts"],"sourcesContent":["import _ from 'lodash';\nimport slugify from '@sindresorhus/slugify';\n\nimport type { Core, Schema, UID } from '@strapi/types';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async generateUIDField({\n contentTypeUID,\n field,\n data,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n data: Record<string, any>;\n locale?: string;\n }) {\n const contentType = strapi.contentTypes[contentTypeUID];\n const { attributes } = contentType;\n\n const {\n targetField,\n default: defaultValue,\n options,\n } = attributes[field] as Schema.Attribute.UID;\n\n // @ts-expect-error targetField can be undefined\n const targetValue = _.get(data, targetField);\n\n if (!_.isEmpty(targetValue)) {\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(targetValue, options),\n locale,\n });\n }\n\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(\n _.isFunction(defaultValue) ? defaultValue() : defaultValue || contentType.modelName,\n options\n ),\n locale,\n });\n },\n\n async findUniqueUID({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const foundDocuments = await strapi.documents(contentTypeUID).findMany({\n filters: {\n [field]: { $startsWith: value },\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (!foundDocuments || foundDocuments.length === 0) {\n // If there are no documents found we can return the value as is\n return value;\n }\n\n let possibleCollisions: string[];\n if (!Array.isArray(foundDocuments)) {\n possibleCollisions = [foundDocuments[field]];\n } else {\n possibleCollisions = foundDocuments.map((doc: any) => doc[field]);\n }\n\n // If there are no documents sharing the proposed UID, we can return the value as is\n if (!possibleCollisions.includes(value)) {\n return value;\n }\n\n let i = 1;\n let tmpUId = `${value}-${i}`;\n while (possibleCollisions.includes(tmpUId)) {\n // While there are documents sharing the proposed UID, we need to find a new one\n // by incrementing the suffix until we find a unique one\n i += 1;\n tmpUId = `${value}-${i}`;\n }\n\n return tmpUId;\n },\n\n async checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const documentCount = await strapi.documents(contentTypeUID).count({\n filters: {\n [field]: value,\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (documentCount && documentCount > 0) {\n // If there are documents sharing the proposed UID, we can return false\n return false;\n }\n\n return true;\n },\n});\n"],"names":["strapi","generateUIDField","contentTypeUID","field","data","locale","contentType","contentTypes","attributes","targetField","default","defaultValue","options","targetValue","_","get","isEmpty","findUniqueUID","value","slugify","isFunction","modelName","foundDocuments","documents","findMany","filters","$startsWith","status","length","possibleCollisions","Array","isArray","map","doc","includes","i","tmpUId","checkUIDAvailability","documentCount","count"],"mappings":"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"}
1
+ {"version":3,"file":"uid.js","sources":["../../../server/src/services/uid.ts"],"sourcesContent":["import _ from 'lodash';\nimport slugify from '@sindresorhus/slugify';\n\nimport type { Core, Schema, UID } from '@strapi/types';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async generateUIDField({\n contentTypeUID,\n field,\n data,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n data: Record<string, any>;\n locale?: string;\n }) {\n const contentType = strapi.contentTypes[contentTypeUID];\n const { attributes } = contentType;\n\n const {\n targetField,\n default: defaultValue,\n options,\n } = attributes[field] as Schema.Attribute.UID;\n\n // @ts-expect-error targetField can be undefined\n const targetValue: unknown = _.get(data, targetField);\n\n // Only strings can be slugified; any other value falls back like an empty one\n if (typeof targetValue === 'string' && targetValue !== '') {\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(targetValue, options),\n locale,\n });\n }\n\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(\n _.isFunction(defaultValue) ? defaultValue() : defaultValue || contentType.modelName,\n options\n ),\n locale,\n });\n },\n\n async findUniqueUID({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const foundDocuments = await strapi.documents(contentTypeUID).findMany({\n filters: {\n [field]: { $startsWith: value },\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (!foundDocuments || foundDocuments.length === 0) {\n // If there are no documents found we can return the value as is\n return value;\n }\n\n let possibleCollisions: string[];\n if (!Array.isArray(foundDocuments)) {\n possibleCollisions = [foundDocuments[field]];\n } else {\n possibleCollisions = foundDocuments.map((doc: any) => doc[field]);\n }\n\n // If there are no documents sharing the proposed UID, we can return the value as is\n if (!possibleCollisions.includes(value)) {\n return value;\n }\n\n let i = 1;\n let tmpUId = `${value}-${i}`;\n while (possibleCollisions.includes(tmpUId)) {\n // While there are documents sharing the proposed UID, we need to find a new one\n // by incrementing the suffix until we find a unique one\n i += 1;\n tmpUId = `${value}-${i}`;\n }\n\n return tmpUId;\n },\n\n async checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const documentCount = await strapi.documents(contentTypeUID).count({\n filters: {\n [field]: value,\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (documentCount && documentCount > 0) {\n // If there are documents sharing the proposed UID, we can return false\n return false;\n }\n\n return true;\n },\n});\n"],"names":["strapi","generateUIDField","contentTypeUID","field","data","locale","contentType","contentTypes","attributes","targetField","default","defaultValue","options","targetValue","_","get","findUniqueUID","value","slugify","isFunction","modelName","foundDocuments","documents","findMany","filters","$startsWith","status","length","possibleCollisions","Array","isArray","map","doc","includes","i","tmpUId","checkUIDAvailability","documentCount","count"],"mappings":"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"}
@@ -8,7 +8,8 @@ var uid = (({ strapi })=>({
8
8
  const { targetField, default: defaultValue, options } = attributes[field];
9
9
  // @ts-expect-error targetField can be undefined
10
10
  const targetValue = _.get(data, targetField);
11
- if (!_.isEmpty(targetValue)) {
11
+ // Only strings can be slugified; any other value falls back like an empty one
12
+ if (typeof targetValue === 'string' && targetValue !== '') {
12
13
  return this.findUniqueUID({
13
14
  contentTypeUID,
14
15
  field,
@@ -1 +1 @@
1
- {"version":3,"file":"uid.mjs","sources":["../../../server/src/services/uid.ts"],"sourcesContent":["import _ from 'lodash';\nimport slugify from '@sindresorhus/slugify';\n\nimport type { Core, Schema, UID } from '@strapi/types';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async generateUIDField({\n contentTypeUID,\n field,\n data,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n data: Record<string, any>;\n locale?: string;\n }) {\n const contentType = strapi.contentTypes[contentTypeUID];\n const { attributes } = contentType;\n\n const {\n targetField,\n default: defaultValue,\n options,\n } = attributes[field] as Schema.Attribute.UID;\n\n // @ts-expect-error targetField can be undefined\n const targetValue = _.get(data, targetField);\n\n if (!_.isEmpty(targetValue)) {\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(targetValue, options),\n locale,\n });\n }\n\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(\n _.isFunction(defaultValue) ? defaultValue() : defaultValue || contentType.modelName,\n options\n ),\n locale,\n });\n },\n\n async findUniqueUID({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const foundDocuments = await strapi.documents(contentTypeUID).findMany({\n filters: {\n [field]: { $startsWith: value },\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (!foundDocuments || foundDocuments.length === 0) {\n // If there are no documents found we can return the value as is\n return value;\n }\n\n let possibleCollisions: string[];\n if (!Array.isArray(foundDocuments)) {\n possibleCollisions = [foundDocuments[field]];\n } else {\n possibleCollisions = foundDocuments.map((doc: any) => doc[field]);\n }\n\n // If there are no documents sharing the proposed UID, we can return the value as is\n if (!possibleCollisions.includes(value)) {\n return value;\n }\n\n let i = 1;\n let tmpUId = `${value}-${i}`;\n while (possibleCollisions.includes(tmpUId)) {\n // While there are documents sharing the proposed UID, we need to find a new one\n // by incrementing the suffix until we find a unique one\n i += 1;\n tmpUId = `${value}-${i}`;\n }\n\n return tmpUId;\n },\n\n async checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const documentCount = await strapi.documents(contentTypeUID).count({\n filters: {\n [field]: value,\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (documentCount && documentCount > 0) {\n // If there are documents sharing the proposed UID, we can return false\n return false;\n }\n\n return true;\n },\n});\n"],"names":["strapi","generateUIDField","contentTypeUID","field","data","locale","contentType","contentTypes","attributes","targetField","default","defaultValue","options","targetValue","_","get","isEmpty","findUniqueUID","value","slugify","isFunction","modelName","foundDocuments","documents","findMany","filters","$startsWith","status","length","possibleCollisions","Array","isArray","map","doc","includes","i","tmpUId","checkUIDAvailability","documentCount","count"],"mappings":"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"}
1
+ {"version":3,"file":"uid.mjs","sources":["../../../server/src/services/uid.ts"],"sourcesContent":["import _ from 'lodash';\nimport slugify from '@sindresorhus/slugify';\n\nimport type { Core, Schema, UID } from '@strapi/types';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => ({\n async generateUIDField({\n contentTypeUID,\n field,\n data,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n data: Record<string, any>;\n locale?: string;\n }) {\n const contentType = strapi.contentTypes[contentTypeUID];\n const { attributes } = contentType;\n\n const {\n targetField,\n default: defaultValue,\n options,\n } = attributes[field] as Schema.Attribute.UID;\n\n // @ts-expect-error targetField can be undefined\n const targetValue: unknown = _.get(data, targetField);\n\n // Only strings can be slugified; any other value falls back like an empty one\n if (typeof targetValue === 'string' && targetValue !== '') {\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(targetValue, options),\n locale,\n });\n }\n\n return this.findUniqueUID({\n contentTypeUID,\n field,\n value: slugify(\n _.isFunction(defaultValue) ? defaultValue() : defaultValue || contentType.modelName,\n options\n ),\n locale,\n });\n },\n\n async findUniqueUID({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const foundDocuments = await strapi.documents(contentTypeUID).findMany({\n filters: {\n [field]: { $startsWith: value },\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (!foundDocuments || foundDocuments.length === 0) {\n // If there are no documents found we can return the value as is\n return value;\n }\n\n let possibleCollisions: string[];\n if (!Array.isArray(foundDocuments)) {\n possibleCollisions = [foundDocuments[field]];\n } else {\n possibleCollisions = foundDocuments.map((doc: any) => doc[field]);\n }\n\n // If there are no documents sharing the proposed UID, we can return the value as is\n if (!possibleCollisions.includes(value)) {\n return value;\n }\n\n let i = 1;\n let tmpUId = `${value}-${i}`;\n while (possibleCollisions.includes(tmpUId)) {\n // While there are documents sharing the proposed UID, we need to find a new one\n // by incrementing the suffix until we find a unique one\n i += 1;\n tmpUId = `${value}-${i}`;\n }\n\n return tmpUId;\n },\n\n async checkUIDAvailability({\n contentTypeUID,\n field,\n value,\n locale,\n }: {\n contentTypeUID: UID.ContentType;\n field: string;\n value: string;\n locale?: string;\n }) {\n const documentCount = await strapi.documents(contentTypeUID).count({\n filters: {\n [field]: value,\n },\n locale,\n // TODO: Check UX. When modifying an entry, it only makes sense to check for collisions with other drafts\n // However, when publishing this \"available\" UID might collide with another published entry\n status: 'draft',\n });\n\n if (documentCount && documentCount > 0) {\n // If there are documents sharing the proposed UID, we can return false\n return false;\n }\n\n return true;\n },\n});\n"],"names":["strapi","generateUIDField","contentTypeUID","field","data","locale","contentType","contentTypes","attributes","targetField","default","defaultValue","options","targetValue","_","get","findUniqueUID","value","slugify","isFunction","modelName","foundDocuments","documents","findMany","filters","$startsWith","status","length","possibleCollisions","Array","isArray","map","doc","includes","i","tmpUId","checkUIDAvailability","documentCount","count"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/relations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAC;;uCAsJb,GAAG,OAAO,IAAI,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAgI1D;;;;OAIG;uBACsB,GAAG;sBAmJJ,GAAG;;AAzR7B,wBA2ZE"}
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/relations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,eAAe,CAAC;;uCAsJb,GAAG,OAAO,IAAI,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAkI1D;;;;OAIG;uBACsB,GAAG;sBAmJJ,GAAG;;AA3R7B,wBA6ZE"}
@@ -9,6 +9,7 @@ export declare const formatDocumentWithMetadata: (permissionChecker: any, uid: U
9
9
  meta: {
10
10
  availableLocales: never[] | AvailableLocaleDocument[];
11
11
  availableStatus: Pick<any, string>[] | Partial<DocumentVersion>[];
12
+ defaultLocale: string | null;
12
13
  };
13
14
  data: {
14
15
  status: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,+CAA+C,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,mBAAmB,GAAG,EACtB,KAAK,GAAG,CAAC,WAAW,EACpB,UAAU,eAAe,EACzB,OAAM,kBAAuB;;;;;;;;;;;;;;EA6B9B,CAAC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../../server/src/controllers/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,+CAA+C,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,mBAAmB,GAAG,EACtB,KAAK,GAAG,CAAC,WAAW,EACpB,UAAU,eAAe,EACzB,OAAM,kBAAuB;;;;;;;;;;;;;;;EA+B9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/services/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,sBAAsB,OAAO,EAC7B,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC3C,MAeF,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;uDAMzC,oBAAoB,CAAC,QAAQ,CAAC,+BAC1B,MAAM,CAAC,gBAAgB;;;;mDA4C/B,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,aACzE,MAAM,CAAC,SAAS,CAAC,kBAAkB;gDA8BzB,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;;oCAmB/C,MAAM,CAAC,WAAW;+BAQnB,OAAO,CAAC;QAC5C,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;;uCA2BgB,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,YACzD,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI;2BAmClB,GAAG,CAAC,MAAM;iCA+DE;QAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAA;KAAE,EAAE,KAAG,OAAO,CAAC,gBAAgB,CAAC;mCAwC7E;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,EAAE,mBACc,MAAM,CAAC,SAAS,CAAC,kBAAkB,KACnD,OAAO,CAAC,gBAAgB,CAAC;CAkD7B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/history/services/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,sBAAsB,OAAO,EAC7B,mBAAmB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC3C,MAeF,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;uDAMzC,oBAAoB,CAAC,QAAQ,CAAC,+BAC1B,MAAM,CAAC,gBAAgB;;;;mDA4C/B,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,aACzE,MAAM,CAAC,SAAS,CAAC,kBAAkB;gDA8BzB,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;;oCAmB/C,MAAM,CAAC,WAAW;+BAQnB,OAAO,CAAC;QAC5C,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/C,CAAC;;uCA2BgB,eAAe,CAAC,oBAAoB,CAAC,aAAa,CAAC,YACzD,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI;2BAqClB,GAAG,CAAC,MAAM;iCA+DE;QAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAA;KAAE,EAAE,KAAG,OAAO,CAAC,gBAAgB,CAAC;mCAwC7E;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,EAAE,mBACc,MAAM,CAAC,SAAS,CAAC,kBAAkB,KACnD,OAAO,CAAC,gBAAgB,CAAC;CAkD7B,CAAC"}
@@ -25,4 +25,10 @@ export declare const buildHomepageQueryFields: (contentType: Schema.ContentType,
25
25
  * Picks a main field that is present in the sanitized fields selection.
26
26
  */
27
27
  export declare const resolveTitleField: (mainField: string, sanitizedFields: string[] | undefined) => string;
28
+ /**
29
+ * Formats the main field value as the recent document title.
30
+ * The main field can be any listable attribute (integer, boolean, date…), but the widgets render
31
+ * the title as text. An empty value falls back to the document id.
32
+ */
33
+ export declare const formatRecentDocumentTitle: (value: unknown, documentId: string) => string;
28
34
  //# sourceMappingURL=homepage-query-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"homepage-query-utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/homepage/services/homepage-query-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;KAChD,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,KAAG,MAAM,EAAE,GAAG,SAMnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,CAAC,WAAW,EAC/B,eAAe;IAAE,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,EAChE,mBAAmB,yBAAyB,KAC3C,MAQF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,CAAC,WAAW,EAC/B,WAAW,MAAM,KAChB,MAAM,EAgBR,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,iBAAiB,MAAM,EAAE,GAAG,SAAS,KACpC,MAMF,CAAC"}
1
+ {"version":3,"file":"homepage-query-utils.d.ts","sourceRoot":"","sources":["../../../../../server/src/homepage/services/homepage-query-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;KAChD,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,KAAG,MAAM,EAAE,GAAG,SAMnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,CAAC,WAAW,EAC/B,eAAe;IAAE,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,EAChE,mBAAmB,yBAAyB,KAC3C,MAQF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,aAAa,MAAM,CAAC,WAAW,EAC/B,WAAW,MAAM,KAChB,MAAM,EAgBR,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,iBAAiB,MAAM,EAAE,GAAG,SAAS,KACpC,MAMF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,OAAO,EAAE,YAAY,MAAM,KAAG,MAU9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../../server/src/homepage/services/homepage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,uCAAuC,CAAC;AAS/C,QAAA,MAAM,qBAAqB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;oCA+LxB,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;+CAgCxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wBACzB,OAAO,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC;qCA0DW,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;mCAY9C,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;yBAQtD,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAkEzE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../../../server/src/homepage/services/homepage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,uCAAuC,CAAC;AAU/C,QAAA,MAAM,qBAAqB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;oCAkMxB,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;+CAgCxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wBACzB,OAAO,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC;qCA0DW,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;mCAY9C,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;yBAQtD,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAkEzE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -211,10 +211,12 @@ declare const _default: () => {
211
211
  getMetadata(uid: import("@strapi/types/dist/uid/index.js").ContentType, version: import("./services/document-metadata").DocumentVersion, { availableLocales, availableStatus }?: import("./services/document-metadata").GetMetadataOptions): Promise<{
212
212
  availableLocales: never[];
213
213
  availableStatus: Pick<any, string>[];
214
+ defaultLocale: string | null;
214
215
  versions: import("./services/document-metadata").DocumentVersion[];
215
216
  } | {
216
217
  availableLocales: import("../../shared/contracts/collection-types").AvailableLocaleDocument[];
217
218
  availableStatus: Partial<import("./services/document-metadata").DocumentVersion>[];
219
+ defaultLocale: string | null;
218
220
  versions: any[];
219
221
  }>;
220
222
  formatDocumentWithMetadata(uid: import("@strapi/types/dist/uid/index.js").ContentType, document: import("./services/document-metadata").DocumentVersion, opts?: import("./services/document-metadata").GetMetadataOptions): Promise<{
@@ -230,9 +232,11 @@ declare const _default: () => {
230
232
  meta: {
231
233
  availableLocales: never[];
232
234
  availableStatus: Pick<any, string>[];
235
+ defaultLocale: string | null;
233
236
  } | {
234
237
  availableLocales: import("../../shared/contracts/collection-types").AvailableLocaleDocument[];
235
238
  availableStatus: Partial<import("./services/document-metadata").DocumentVersion>[];
239
+ defaultLocale: string | null;
236
240
  };
237
241
  }>;
238
242
  };
@@ -306,16 +310,16 @@ declare const _default: () => {
306
310
  userAbility: import("@casl/ability").Ability;
307
311
  model: string;
308
312
  }) => {
309
- can: (action: string, entity: ({
313
+ can: (action: string, entity?: {
310
314
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
311
315
  } & {
312
316
  [key: string]: any;
313
- }) | undefined, field: string) => boolean;
314
- cannot: (action: string, entity: ({
317
+ }, field?: string) => boolean;
318
+ cannot: (action: string, entity?: {
315
319
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
316
320
  } & {
317
321
  [key: string]: any;
318
- }) | undefined, field: string) => boolean;
322
+ }, field?: string) => boolean;
319
323
  requiresEntity: (action: string) => boolean;
320
324
  sanitizeOutput: (data: {
321
325
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
@@ -349,13 +353,23 @@ declare const _default: () => {
349
353
  } & {
350
354
  [key: string]: any;
351
355
  }) => any;
352
- sanitizedQuery: (query: {
356
+ sanitizedQuery: ((query: {
353
357
  page?: string;
354
358
  pageSize?: string;
355
359
  sort?: string;
356
- }, action?: {
360
+ }, options?: string | {
357
361
  action?: string;
358
- }) => Promise<any>;
362
+ }) => Promise<any>) & Record<"delete" | "create" | "update" | "publish" | "unpublish" | "read" | "discard", (query: {
363
+ page?: string;
364
+ pageSize?: string;
365
+ sort?: string;
366
+ }) => ReturnType<(query: {
367
+ page?: string;
368
+ pageSize?: string;
369
+ sort?: string;
370
+ }, options?: string | {
371
+ action?: string;
372
+ }) => Promise<any>>>;
359
373
  };
360
374
  };
361
375
  permission: ({ strapi }: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAM2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAa+wC,CAAC;sBAAgE,CAAC;2BAA8C,CAAC;;;;;;;;;;;;;sBAAsvH,CAAC;;;;;wBAAkZ,CAAC;;;;;;;wBAA2qD,CAAC;;;wBAAmf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAA/1L,CAAC;;;;;;;0BAAg4B,CAAC;;;;;;;uBAAw2B,SAAS;;;;;;0BAA5d,CAAC;;;;;;;;;;;;0BAAmvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAHj3H,CAAA;;;;;;sBAGw5B,CAAC;;;;;;sBAAy7C,CAAC;;;;;AAXv1E,wBAUE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAM2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAa+wC,CAAC;sBAAgE,CAAC;2BAA8C,CAAC;;;;;;;;;;;;;sBAAm4H,CAAC;;;;;wBAAkZ,CAAC;;;;;;;wBAA2qD,CAAC;;;wBAAmf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAA/1L,CAAC;;;;;;;0BAAg4B,CAAC;;;;;;;uBAAw2B,SAAS;;;;;;0BAA5d,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAH1wG,CAAA;;;;;;sBAGkhC,CAAC;;;;;;sBAAy7C,CAAC;;;;;AAXj9E,wBAUE"}
@@ -1 +1 @@
1
- {"version":3,"file":"shape-relations.d.ts","sourceRoot":"","sources":["../../../../../server/src/mcp/sanitizers/shape-relations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIzC,QAAA,MAAM,mBAAmB,aAMvB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OACrB,CAAC;AAEpD,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqCF;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,GACpB,WAAW;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,OAAO,OAAO,KACb,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,IAsB1C,CAAC;AA0BF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,GAAG,CAAC,MAAM,EACf,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUjC,CAAC;AAGF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"shape-relations.d.ts","sourceRoot":"","sources":["../../../../../server/src/mcp/sanitizers/shape-relations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIzC,QAAA,MAAM,mBAAmB,aAMvB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OACrB,CAAC;AAEpD,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqCF;;;;;GAKG;AACH,QAAA,MAAM,gBAAgB,GACpB,WAAW;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,OAAO,OAAO,KACb,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,IAsB1C,CAAC;AAyBF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,GAAG,CAAC,MAAM,EACf,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASjC,CAAC;AAGF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../../../../../server/src/mcp/schemas/output-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAoD5C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,MAAM,CAAC,gBAAgB,EACnC,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAWhB,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,CAAC,gBAAgB,EACnC,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAWhB,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAElC,aAAa,MAAM,CAAC,gBAAgB,EAEpC,aAAa,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC9B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAKhB,CAAC"}
1
+ {"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../../../../../server/src/mcp/schemas/output-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAoD5C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,MAAM,CAAC,gBAAgB,EACnC,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAYhB,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,CAAC,gBAAgB,EACnC,YAAY,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAWhB,CAAC;AAEb;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAElC,aAAa,MAAM,CAAC,gBAAgB,EAEpC,aAAa,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAC9B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAKhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-manager.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-manager.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-manager.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ declare const _default: ({ strapi }: {
30
30
  * The result is sorted with the default locale (as defined by the i18n plugin)
31
31
  * at index 0 when present. This is the canonical-source invariant relied on by
32
32
  * `useDocument.getInitialFormValues` in the admin: when creating a new locale
33
- * draft, non-localized scalar/media values are inherited from
33
+ * draft, non-localized scalar/media/component/dynamic-zone values are inherited from
34
34
  * `availableLocales[0]`. Putting the default locale first means inheritance
35
35
  * stays predictable when sibling locales have drifted on non-localized fields
36
36
  * (which can happen because the server only syncs non-localized fields at
@@ -53,10 +53,12 @@ declare const _default: ({ strapi }: {
53
53
  getMetadata(uid: UID.ContentType, version: DocumentVersion, { availableLocales, availableStatus }?: GetMetadataOptions): Promise<{
54
54
  availableLocales: never[];
55
55
  availableStatus: Pick<any, string>[];
56
+ defaultLocale: string | null;
56
57
  versions: DocumentVersion[];
57
58
  } | {
58
59
  availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
59
60
  availableStatus: Partial<DocumentVersion>[];
61
+ defaultLocale: string | null;
60
62
  versions: any[];
61
63
  }>;
62
64
  /**
@@ -77,9 +79,11 @@ declare const _default: ({ strapi }: {
77
79
  meta: {
78
80
  availableLocales: never[];
79
81
  availableStatus: Pick<any, string>[];
82
+ defaultLocale: string | null;
80
83
  } | {
81
84
  availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
82
85
  availableStatus: Partial<DocumentVersion>[];
86
+ defaultLocale: string | null;
83
87
  };
84
88
  }>;
85
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"document-metadata.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAInF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC;AA0CD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;yBAoBe,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IACjD;;;;;;;;;;;;OAYG;6BAEI,GAAG,CAAC,WAAW,WACX,eAAe,eACX,eAAe,EAAE;IA+DhC;;OAEG;gCACyB,eAAe,eAAe,eAAe,EAAE;IAoB3E;;;;;OAKG;gCAC+B,GAAG,CAAC,WAAW,aAAa,eAAe,EAAE;uBAmC5D,eAAe,0BAA0B,gBAAgB,CAAC,iBAAiB,CAAC;qBAgCxF,GAAG,CAAC,WAAW,WACX,eAAe,0CAC6B,kBAAkB;;;kBA+BnD,eAAe,EAAE;;;;;;IA0EvC;;;;OAIG;oCAEI,GAAG,CAAC,WAAW,YACV,eAAe,SACnB,kBAAkB;;;gBAnXtB,MAAM,GAAG,MAAM;wBACP,OAAO,CAAC,SAAS,CAAC,EAAE;qBACvB,MAAM;4BACC,eAAe,EAAE;wBACrB,MAAM,GAAG,IAAI,GAAG,IAAI;0BAClB,MAAM,GAAG,IAAI,GAAG,IAAI;;;;;;;;;;;AA2EpC,wBAqVG"}
1
+ {"version":3,"file":"document-metadata.d.ts","sourceRoot":"","sources":["../../../../server/src/services/document-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAInF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC;AA6ED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;yBAoBe,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;IACjD;;;;;;;;;;;;OAYG;6BAEI,GAAG,CAAC,WAAW,WACX,eAAe,eACX,eAAe,EAAE;IA+DhC;;OAEG;gCACyB,eAAe,eAAe,eAAe,EAAE;IAoB3E;;;;;OAKG;gCAC+B,GAAG,CAAC,WAAW,aAAa,eAAe,EAAE;uBAmC5D,eAAe,0BAA0B,gBAAgB,CAAC,iBAAiB,CAAC;qBAgCxF,GAAG,CAAC,WAAW,WACX,eAAe,0CAC6B,kBAAkB;;;;kBAqDnD,eAAe,EAAE;;;;;;;IAiJvC;;;;OAIG;oCAEI,GAAG,CAAC,WAAW,YACV,eAAe,SACnB,kBAAkB;;;gBAnftB,MAAM,GAAG,MAAM;wBACP,OAAO,CAAC,SAAS,CAAC,EAAE;qBACvB,MAAM;4BACC,eAAe,EAAE;wBACrB,MAAM,GAAG,IAAI,GAAG,IAAI;0BAClB,MAAM,GAAG,IAAI,GAAG,IAAI;;;;;;;;;;;;;AA8GpC,wBAmbG"}
@@ -82,10 +82,12 @@ declare const _default: {
82
82
  getMetadata(uid: import("@strapi/types/dist/uid/index.js").ContentType, version: import("./document-metadata").DocumentVersion, { availableLocales, availableStatus }?: import("./document-metadata").GetMetadataOptions): Promise<{
83
83
  availableLocales: never[];
84
84
  availableStatus: Pick<any, string>[];
85
+ defaultLocale: string | null;
85
86
  versions: import("./document-metadata").DocumentVersion[];
86
87
  } | {
87
88
  availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
88
89
  availableStatus: Partial<import("./document-metadata").DocumentVersion>[];
90
+ defaultLocale: string | null;
89
91
  versions: any[];
90
92
  }>;
91
93
  formatDocumentWithMetadata(uid: import("@strapi/types/dist/uid/index.js").ContentType, document: import("./document-metadata").DocumentVersion, opts?: import("./document-metadata").GetMetadataOptions): Promise<{
@@ -101,9 +103,11 @@ declare const _default: {
101
103
  meta: {
102
104
  availableLocales: never[];
103
105
  availableStatus: Pick<any, string>[];
106
+ defaultLocale: string | null;
104
107
  } | {
105
108
  availableLocales: import("../../../shared/contracts/collection-types").AvailableLocaleDocument[];
106
109
  availableStatus: Partial<import("./document-metadata").DocumentVersion>[];
110
+ defaultLocale: string | null;
107
111
  };
108
112
  }>;
109
113
  };
@@ -177,16 +181,16 @@ declare const _default: {
177
181
  userAbility: import("@casl/ability").Ability;
178
182
  model: string;
179
183
  }) => {
180
- can: (action: string, entity: ({
184
+ can: (action: string, entity?: {
181
185
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
182
186
  } & {
183
187
  [key: string]: any;
184
- }) | undefined, field: string) => boolean;
185
- cannot: (action: string, entity: ({
188
+ }, field?: string) => boolean;
189
+ cannot: (action: string, entity?: {
186
190
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
187
191
  } & {
188
192
  [key: string]: any;
189
- }) | undefined, field: string) => boolean;
193
+ }, field?: string) => boolean;
190
194
  requiresEntity: (action: string) => boolean;
191
195
  sanitizeOutput: (data: {
192
196
  id: import("@strapi/types/dist/modules/entity-service/params/attributes/id.js").ID;
@@ -220,13 +224,23 @@ declare const _default: {
220
224
  } & {
221
225
  [key: string]: any;
222
226
  }) => any;
223
- sanitizedQuery: (query: {
227
+ sanitizedQuery: ((query: {
224
228
  page?: string;
225
229
  pageSize?: string;
226
230
  sort?: string;
227
- }, action?: {
231
+ }, options?: string | {
228
232
  action?: string;
229
- }) => Promise<any>;
233
+ }) => Promise<any>) & Record<"delete" | "create" | "update" | "publish" | "unpublish" | "read" | "discard", (query: {
234
+ page?: string;
235
+ pageSize?: string;
236
+ sort?: string;
237
+ }) => ReturnType<(query: {
238
+ page?: string;
239
+ pageSize?: string;
240
+ sort?: string;
241
+ }, options?: string | {
242
+ action?: string;
243
+ }) => Promise<any>>>;
230
244
  };
231
245
  };
232
246
  permission: ({ strapi }: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmC6f,CAAC;kBAAgE,CAAC;uBAA8C,CAAC;;;;;;;;;;;;;kBAAsvH,CAAC;;;;;oBAAkZ,CAAC;;;;;;;oBAA2qD,CAAC;;;oBAAmf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA/1L,CAAC;;;;;;;sBAAg4B,CAAC;;;;;;;mBAAw2B,SAAS;;;;;;sBAA5d,CAAC;;;;;;;;;;;;sBAAmvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA3BxiG,CAAC;;;;;;kBA2B8E,CAAC;;;;;;kBAAy7C,CAAC;;;;AAlBviD,wBAiBE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAmC6f,CAAC;kBAAgE,CAAC;uBAA8C,CAAC;;;;;;;;;;;;;kBAAm4H,CAAC;;;;;oBAAkZ,CAAC;;;;;;;oBAA2qD,CAAC;;;oBAAmf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA/1L,CAAC;;;;;;;sBAAg4B,CAAC;;;;;;;mBAAw2B,SAAS;;;;;;sBAA5d,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA3Bj8E,CAAC;;;;;;kBA2BwM,CAAC;;;;;;kBAAy7C,CAAC;;;;AAlBjqD,wBAiBE"}
@@ -9,6 +9,9 @@ export declare const ACTIONS: {
9
9
  readonly unpublish: "plugin::content-manager.explorer.publish";
10
10
  readonly discard: "plugin::content-manager.explorer.update";
11
11
  };
12
+ type SanitizedQueryOptions = {
13
+ action?: string;
14
+ } | string;
12
15
  type Entity = Modules.EntityService.Result<UID.ContentType>;
13
16
  type Query = {
14
17
  page?: string;
@@ -22,8 +25,8 @@ declare const _default: ({ strapi }: {
22
25
  userAbility: Ability;
23
26
  model: string;
24
27
  }) => {
25
- can: (action: string, entity: Entity | undefined, field: string) => boolean;
26
- cannot: (action: string, entity: Entity | undefined, field: string) => boolean;
28
+ can: (action: string, entity?: Entity, field?: string) => boolean;
29
+ cannot: (action: string, entity?: Entity, field?: string) => boolean;
27
30
  requiresEntity: (action: string) => boolean;
28
31
  sanitizeOutput: (data: Entity, { action }?: {
29
32
  action?: string;
@@ -37,9 +40,7 @@ declare const _default: ({ strapi }: {
37
40
  action?: string;
38
41
  }) => any;
39
42
  validateInput: (action: string, data: any, entity?: Entity) => any;
40
- sanitizedQuery: (query: Query, action?: {
41
- action?: string;
42
- }) => Promise<any>;
43
+ sanitizedQuery: ((query: Query, options?: SanitizedQueryOptions) => Promise<any>) & Record<"delete" | "create" | "update" | "publish" | "unpublish" | "read" | "discard", (query: Query) => ReturnType<(query: Query, options?: SanitizedQueryOptions) => Promise<any>>>;
43
44
  };
44
45
  };
45
46
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-checker.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAC;AAEX,KAAK,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5D,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;yBAyIc,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;qCArIxB;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;sBAYzC,MAAM,UAAU,MAAM,GAAG,SAAS,SAAS,MAAM;yBAY9C,MAAM,UAAU,MAAM,GAAG,SAAS,SAAS,MAAM;iCA4BzC,MAAM;+BAhBR,MAAM,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;+BA0BtD,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;oCAsBhD,GAAG;sCACD,MAAM,MAAM,MAAM,GAAG;+BAZ5B,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;gCAIpD,MAAM,QAAQ,GAAG,WAAW,MAAM;gCAelC,KAAK,WAAU;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;;AAyCrE,wBAEG"}
1
+ {"version":3,"file":"permission-checker.d.ts","sourceRoot":"","sources":["../../../../server/src/services/permission-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExD,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAC;AAMX,KAAK,qBAAqB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC;AAE1D,KAAK,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5D,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;yBAqJc,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;qCAjJxB;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;sBAYzC,MAAM,WAAW,MAAM,UAAU,MAAM;yBAYpC,MAAM,WAAW,MAAM,UAAU,MAAM;iCA4B/B,MAAM;+BAhBR,MAAM,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;+BA0BtD,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;oCAsBhD,GAAG;sCACD,MAAM,MAAM,MAAM,GAAG;+BAZ5B,KAAK,eAA6B;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;gCAIpD,MAAM,QAAQ,GAAG,WAAW,MAAM;iCAqBzB,KAAK,YAAW,qBAAqB,mHAe7C,KAAK,KAAK,UAAU,SAfZ,KAAK,YAAW,qBAAqB,kBAeO;;;AAgCxF,wBAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"uid.d.ts","sourceRoot":"","sources":["../../../../server/src/services/uid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAU,GAAG,EAAE,MAAM,eAAe,CAAC;yBAEvC,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;+DAM9C;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;6DAsCE;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;oEA6CE;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;;AAxGH,wBA0HG"}
1
+ {"version":3,"file":"uid.d.ts","sourceRoot":"","sources":["../../../../server/src/services/uid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAU,GAAG,EAAE,MAAM,eAAe,CAAC;yBAEvC,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE;+DAM9C;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;6DAuCE;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;oEA6CE;QACD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;;AAzGH,wBA2HG"}
@@ -10,6 +10,13 @@ export type AvailableStatusDocument = Pick<Document, 'id' | 'documentId' | 'loca
10
10
  export type DocumentMetadata = {
11
11
  availableStatus: AvailableStatusDocument[];
12
12
  availableLocales: AvailableLocaleDocument[];
13
+ /**
14
+ * i18n default locale code (e.g. `en`). Present when the content type is
15
+ * localized; used by the admin to lock non-localized fields on secondary
16
+ * locales. Not inferred from `availableLocales[0]` because that list
17
+ * excludes the currently viewed locale.
18
+ */
19
+ defaultLocale?: string | null;
13
20
  };
14
21
  /**
15
22
  * GET /collection-types/:model
@@ -1 +1 @@
1
- {"version":3,"file":"collection-types.d.ts","sourceRoot":"","sources":["../../../shared/contracts/collection-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection-types.d.ts","sourceRoot":"","sources":["../../../shared/contracts/collection-types.ts"],"names":[],"mappings":"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"}