@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.45c1b845d32b56e7c14f4155ec0d4a2d2774c77e

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (306) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +8 -4
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +7 -3
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/configuration/index.d.ts.map +1 -1
  7. package/dist/configuration/index.js +4 -4
  8. package/dist/configuration/index.js.map +1 -1
  9. package/dist/configuration/index.mjs +1 -1
  10. package/dist/configuration/index.mjs.map +1 -1
  11. package/dist/configuration/urls.d.ts +8 -0
  12. package/dist/configuration/urls.d.ts.map +1 -0
  13. package/dist/configuration/urls.js +68 -0
  14. package/dist/configuration/urls.js.map +1 -0
  15. package/dist/configuration/urls.mjs +66 -0
  16. package/dist/configuration/urls.mjs.map +1 -0
  17. package/dist/core-api/controller/collection-type.d.ts +1 -1
  18. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  19. package/dist/core-api/controller/collection-type.js +9 -20
  20. package/dist/core-api/controller/collection-type.js.map +1 -1
  21. package/dist/core-api/controller/collection-type.mjs +8 -20
  22. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  23. package/dist/core-api/controller/index.d.ts.map +1 -1
  24. package/dist/core-api/controller/index.js +8 -3
  25. package/dist/core-api/controller/index.js.map +1 -1
  26. package/dist/core-api/controller/index.mjs +8 -3
  27. package/dist/core-api/controller/index.mjs.map +1 -1
  28. package/dist/core-api/controller/single-type.d.ts +1 -1
  29. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  30. package/dist/core-api/controller/single-type.js +6 -11
  31. package/dist/core-api/controller/single-type.js.map +1 -1
  32. package/dist/core-api/controller/single-type.mjs +5 -11
  33. package/dist/core-api/controller/single-type.mjs.map +1 -1
  34. package/dist/core-api/controller/transform.d.ts +9 -17
  35. package/dist/core-api/controller/transform.d.ts.map +1 -1
  36. package/dist/core-api/controller/transform.js +9 -14
  37. package/dist/core-api/controller/transform.js.map +1 -1
  38. package/dist/core-api/controller/transform.mjs +9 -14
  39. package/dist/core-api/controller/transform.mjs.map +1 -1
  40. package/dist/core-api/service/collection-type.d.ts +28 -5
  41. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  42. package/dist/core-api/service/collection-type.js +47 -49
  43. package/dist/core-api/service/collection-type.js.map +1 -1
  44. package/dist/core-api/service/collection-type.mjs +47 -50
  45. package/dist/core-api/service/collection-type.mjs.map +1 -1
  46. package/dist/core-api/service/core-service.d.ts +4 -0
  47. package/dist/core-api/service/core-service.d.ts.map +1 -0
  48. package/dist/core-api/service/core-service.js +12 -0
  49. package/dist/core-api/service/core-service.js.map +1 -0
  50. package/dist/core-api/service/core-service.mjs +12 -0
  51. package/dist/core-api/service/core-service.mjs.map +1 -0
  52. package/dist/core-api/service/index.js +2 -2
  53. package/dist/core-api/service/index.js.map +1 -1
  54. package/dist/core-api/service/index.mjs +4 -4
  55. package/dist/core-api/service/index.mjs.map +1 -1
  56. package/dist/core-api/service/pagination.d.ts +1 -5
  57. package/dist/core-api/service/pagination.d.ts.map +1 -1
  58. package/dist/core-api/service/pagination.js +0 -11
  59. package/dist/core-api/service/pagination.js.map +1 -1
  60. package/dist/core-api/service/pagination.mjs +0 -11
  61. package/dist/core-api/service/pagination.mjs.map +1 -1
  62. package/dist/core-api/service/single-type.d.ts +14 -8
  63. package/dist/core-api/service/single-type.d.ts.map +1 -1
  64. package/dist/core-api/service/single-type.js +35 -50
  65. package/dist/core-api/service/single-type.js.map +1 -1
  66. package/dist/core-api/service/single-type.mjs +34 -50
  67. package/dist/core-api/service/single-type.mjs.map +1 -1
  68. package/dist/domain/content-type/index.d.ts.map +1 -1
  69. package/dist/domain/content-type/index.js +3 -0
  70. package/dist/domain/content-type/index.js.map +1 -1
  71. package/dist/domain/content-type/index.mjs +3 -0
  72. package/dist/domain/content-type/index.mjs.map +1 -1
  73. package/dist/domain/content-type/validator.d.ts.map +1 -1
  74. package/dist/domain/content-type/validator.js +1 -1
  75. package/dist/domain/content-type/validator.js.map +1 -1
  76. package/dist/domain/content-type/validator.mjs +2 -2
  77. package/dist/domain/content-type/validator.mjs.map +1 -1
  78. package/dist/domain/module/index.d.ts.map +1 -1
  79. package/dist/domain/module/index.js +2 -3
  80. package/dist/domain/module/index.js.map +1 -1
  81. package/dist/domain/module/index.mjs +2 -3
  82. package/dist/domain/module/index.mjs.map +1 -1
  83. package/dist/factories.d.ts.map +1 -1
  84. package/dist/factories.js +2 -12
  85. package/dist/factories.js.map +1 -1
  86. package/dist/factories.mjs +2 -12
  87. package/dist/factories.mjs.map +1 -1
  88. package/dist/loaders/apis.js +1 -1
  89. package/dist/loaders/apis.js.map +1 -1
  90. package/dist/loaders/apis.mjs +2 -2
  91. package/dist/loaders/apis.mjs.map +1 -1
  92. package/dist/loaders/plugins/get-enabled-plugins.js +1 -1
  93. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  94. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -2
  95. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  96. package/dist/registries/config.d.ts +2 -2
  97. package/dist/registries/config.d.ts.map +1 -1
  98. package/dist/registries/config.js +14 -6
  99. package/dist/registries/config.js.map +1 -1
  100. package/dist/registries/config.mjs +15 -5
  101. package/dist/registries/config.mjs.map +1 -1
  102. package/dist/registries/content-types.d.ts.map +1 -1
  103. package/dist/registries/content-types.js +1 -2
  104. package/dist/registries/content-types.js.map +1 -1
  105. package/dist/registries/content-types.mjs +1 -2
  106. package/dist/registries/content-types.mjs.map +1 -1
  107. package/dist/services/document-service/common.d.ts +4 -0
  108. package/dist/services/document-service/common.d.ts.map +1 -0
  109. package/dist/services/document-service/common.js +7 -0
  110. package/dist/services/document-service/common.js.map +1 -0
  111. package/dist/services/document-service/common.mjs +7 -0
  112. package/dist/services/document-service/common.mjs.map +1 -0
  113. package/dist/services/document-service/draft-and-publish.d.ts +10 -0
  114. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  115. package/dist/services/document-service/draft-and-publish.js +69 -0
  116. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  117. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  118. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  119. package/dist/services/document-service/{document-service.d.ts → index.d.ts} +2 -4
  120. package/dist/services/document-service/index.d.ts.map +1 -0
  121. package/dist/services/document-service/index.js +22 -0
  122. package/dist/services/document-service/index.js.map +1 -0
  123. package/dist/services/document-service/index.mjs +22 -0
  124. package/dist/services/document-service/index.mjs.map +1 -0
  125. package/dist/services/document-service/internationalization.d.ts +8 -0
  126. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  127. package/dist/services/document-service/internationalization.js +54 -0
  128. package/dist/services/document-service/internationalization.js.map +1 -0
  129. package/dist/services/document-service/internationalization.mjs +54 -0
  130. package/dist/services/document-service/internationalization.mjs.map +1 -0
  131. package/dist/services/document-service/middlewares.d.ts +8 -0
  132. package/dist/services/document-service/middlewares.d.ts.map +1 -0
  133. package/dist/services/document-service/middlewares.js +46 -0
  134. package/dist/services/document-service/middlewares.js.map +1 -0
  135. package/dist/services/document-service/middlewares.mjs +46 -0
  136. package/dist/services/document-service/middlewares.mjs.map +1 -0
  137. package/dist/services/document-service/repository.d.ts +3 -0
  138. package/dist/services/document-service/repository.d.ts.map +1 -0
  139. package/dist/services/document-service/repository.js +304 -0
  140. package/dist/services/document-service/repository.js.map +1 -0
  141. package/dist/services/document-service/repository.mjs +304 -0
  142. package/dist/services/document-service/repository.mjs.map +1 -0
  143. package/dist/services/document-service/transform/data.d.ts +5 -0
  144. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  145. package/dist/services/document-service/transform/data.js +13 -0
  146. package/dist/services/document-service/transform/data.js.map +1 -0
  147. package/dist/services/document-service/transform/data.mjs +13 -0
  148. package/dist/services/document-service/transform/data.mjs.map +1 -0
  149. package/dist/services/document-service/transform/fields.d.ts +5 -0
  150. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  151. package/dist/services/document-service/transform/fields.js +24 -0
  152. package/dist/services/document-service/transform/fields.js.map +1 -0
  153. package/dist/services/document-service/transform/fields.mjs +24 -0
  154. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  155. package/dist/services/document-service/transform/filters.d.ts +3 -0
  156. package/dist/services/document-service/transform/filters.d.ts.map +1 -0
  157. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  158. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  159. package/dist/services/document-service/transform/id-map.js +78 -0
  160. package/dist/services/document-service/transform/id-map.js.map +1 -0
  161. package/dist/services/document-service/transform/id-map.mjs +78 -0
  162. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  163. package/dist/services/document-service/transform/id-transform.d.ts +5 -0
  164. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  165. package/dist/services/document-service/transform/id-transform.js +33 -0
  166. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  167. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  168. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  169. package/dist/services/document-service/transform/populate.d.ts +6 -0
  170. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  171. package/dist/services/document-service/transform/populate.js +21 -0
  172. package/dist/services/document-service/transform/populate.js.map +1 -0
  173. package/dist/services/document-service/transform/populate.mjs +21 -0
  174. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  175. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +13 -0
  176. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  177. package/dist/services/document-service/transform/relations/extract/data-ids.js +90 -0
  178. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  179. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +90 -0
  180. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  181. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +10 -0
  182. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  183. package/dist/services/document-service/transform/relations/transform/data-ids.js +141 -0
  184. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  185. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +141 -0
  186. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  187. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +4 -0
  188. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -0
  189. package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
  190. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  191. package/dist/services/document-service/transform/relations/utils/data.js +12 -0
  192. package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
  193. package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
  194. package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
  195. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  196. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  197. package/dist/services/document-service/transform/relations/utils/dp.js +25 -0
  198. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  199. package/dist/services/document-service/transform/relations/utils/dp.mjs +25 -0
  200. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  201. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  202. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  203. package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
  204. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  205. package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
  206. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  207. package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -0
  208. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  209. package/dist/services/document-service/transform/sort.d.ts +5 -0
  210. package/dist/services/document-service/transform/sort.d.ts.map +1 -0
  211. package/dist/services/document-service/transform/types.d.ts +13 -0
  212. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  213. package/dist/services/document-service/transform/utils.d.ts +9 -0
  214. package/dist/services/document-service/transform/utils.d.ts.map +1 -0
  215. package/dist/services/document-service/utils/populate.d.ts +3 -0
  216. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  217. package/dist/services/document-service/utils/populate.js +41 -0
  218. package/dist/services/document-service/utils/populate.js.map +1 -0
  219. package/dist/services/document-service/utils/populate.mjs +41 -0
  220. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  221. package/dist/services/entity-service/components.js +8 -8
  222. package/dist/services/entity-service/components.js.map +1 -1
  223. package/dist/services/entity-service/components.mjs +9 -9
  224. package/dist/services/entity-service/components.mjs.map +1 -1
  225. package/dist/services/entity-service/index.d.ts.map +1 -1
  226. package/dist/services/entity-service/index.js +3 -3
  227. package/dist/services/entity-service/index.js.map +1 -1
  228. package/dist/services/entity-service/index.mjs +3 -3
  229. package/dist/services/entity-service/index.mjs.map +1 -1
  230. package/dist/services/entity-service/params.d.ts +4 -4
  231. package/dist/services/entity-service/params.d.ts.map +1 -1
  232. package/dist/services/entity-service/params.js +1 -1
  233. package/dist/services/entity-service/params.js.map +1 -1
  234. package/dist/services/entity-service/params.mjs +1 -1
  235. package/dist/services/entity-service/params.mjs.map +1 -1
  236. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  237. package/dist/services/entity-validator/blocks-validator.js +22 -2
  238. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  239. package/dist/services/entity-validator/blocks-validator.mjs +22 -2
  240. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  241. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  242. package/dist/services/entity-validator/validators.js +7 -8
  243. package/dist/services/entity-validator/validators.js.map +1 -1
  244. package/dist/services/entity-validator/validators.mjs +7 -8
  245. package/dist/services/entity-validator/validators.mjs.map +1 -1
  246. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  247. package/dist/services/server/compose-endpoint.js +3 -0
  248. package/dist/services/server/compose-endpoint.js.map +1 -1
  249. package/dist/services/server/compose-endpoint.mjs +3 -0
  250. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  251. package/dist/services/webhook-store.js +2 -2
  252. package/dist/services/webhook-store.js.map +1 -1
  253. package/dist/services/webhook-store.mjs +2 -2
  254. package/dist/services/webhook-store.mjs.map +1 -1
  255. package/dist/utils/load-config-file.js +1 -1
  256. package/dist/utils/load-config-file.js.map +1 -1
  257. package/dist/utils/load-config-file.mjs +2 -2
  258. package/dist/utils/load-config-file.mjs.map +1 -1
  259. package/dist/utils/transform-content-types-to-models.d.ts +174 -3
  260. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  261. package/dist/utils/transform-content-types-to-models.js +80 -41
  262. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  263. package/dist/utils/transform-content-types-to-models.mjs +79 -41
  264. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  265. package/package.json +14 -14
  266. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  267. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  268. package/dist/core-api/service/get-fetch-params.js +0 -14
  269. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  270. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  271. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  272. package/dist/services/document-service/document-engine.d.ts +0 -8
  273. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  274. package/dist/services/document-service/document-engine.js +0 -200
  275. package/dist/services/document-service/document-engine.js.map +0 -1
  276. package/dist/services/document-service/document-engine.mjs +0 -201
  277. package/dist/services/document-service/document-engine.mjs.map +0 -1
  278. package/dist/services/document-service/document-service.d.ts.map +0 -1
  279. package/dist/services/document-service/document-service.js +0 -132
  280. package/dist/services/document-service/document-service.js.map +0 -1
  281. package/dist/services/document-service/document-service.mjs +0 -132
  282. package/dist/services/document-service/document-service.mjs.map +0 -1
  283. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  284. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  285. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  286. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  287. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  288. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  289. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  290. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  291. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  292. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  293. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  294. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  295. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  296. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  297. package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
  298. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  299. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
  300. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  301. package/dist/services/document-service/middlewares/index.d.ts +0 -11
  302. package/dist/services/document-service/middlewares/index.d.ts.map +0 -1
  303. package/dist/services/document-service/middlewares/index.js +0 -59
  304. package/dist/services/document-service/middlewares/index.js.map +0 -1
  305. package/dist/services/document-service/middlewares/index.mjs +0 -59
  306. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const setStatusToDraft = async (ctx, next) => {
4
- if (!ctx.params)
5
- ctx.params = {};
6
- ctx.params.status = "draft";
7
- return next(ctx);
8
- };
9
- const defaultToDraft = async (ctx, next) => {
10
- if (!ctx.params)
11
- ctx.params = {};
12
- if (!ctx.params.status || ctx.params.status !== "published") {
13
- ctx.params.status = "draft";
14
- }
15
- return next(ctx);
16
- };
17
- const statusToLookup = async (ctx, next) => {
18
- if (!ctx.params)
19
- ctx.params = {};
20
- const lookup = ctx.params.lookup || {};
21
- switch (ctx.params?.status) {
22
- case "published":
23
- lookup.publishedAt = { $notNull: true };
24
- break;
25
- case "draft":
26
- lookup.publishedAt = { $null: true };
27
- break;
28
- }
29
- ctx.params.lookup = lookup;
30
- return next(ctx);
31
- };
32
- const statusToData = async (ctx, next) => {
33
- if (!ctx.params)
34
- ctx.params = {};
35
- const { publishedAt, ...data } = ctx.params.data || {};
36
- switch (ctx.params?.status) {
37
- case "published":
38
- data.publishedAt = /* @__PURE__ */ new Date();
39
- break;
40
- case "draft":
41
- data.publishedAt = null;
42
- break;
43
- }
44
- ctx.params.data = data;
45
- return next(ctx);
46
- };
47
- const DP = {
48
- setStatusToDraft,
49
- defaultToDraft,
50
- statusToLookup,
51
- statusToData
52
- };
53
- exports.default = DP;
54
- exports.defaultToDraft = defaultToDraft;
55
- exports.setStatusToDraft = setStatusToDraft;
56
- exports.statusToData = statusToData;
57
- exports.statusToLookup = statusToLookup;
58
- //# sourceMappingURL=draft-and-publish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-and-publish.js","sources":["../../../../../src/services/document-service/middlewares/defaults/draft-and-publish.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\n\ntype Middleware = Documents.Middleware.Middleware<any, any>;\n\n/**\n * Sets status to draft only\n */\nexport const setStatusToDraft: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n ctx.params.status = 'draft';\n\n return next(ctx);\n};\n\n/**\n * Adds a default status of `draft` to the params\n */\nexport const defaultToDraft: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n // Default to draft if no status is provided or it's invalid\n if (!ctx.params.status || ctx.params.status !== 'published') {\n ctx.params.status = 'draft';\n }\n\n return next(ctx);\n};\n\n/**\n * Add status lookup query to the params\n */\nexport const statusToLookup: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n const lookup = ctx.params.lookup || {};\n\n switch (ctx.params?.status) {\n case 'published':\n lookup.publishedAt = { $notNull: true };\n break;\n case 'draft':\n lookup.publishedAt = { $null: true };\n break;\n default:\n break;\n }\n\n ctx.params.lookup = lookup;\n\n return next(ctx);\n};\n\n/**\n * Translate publication status parameter into the data that will be saved\n */\nexport const statusToData: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n // Ignore publishedAt attribute. TODO: Make publishedAt not editable\n const { publishedAt, ...data } = ctx.params.data || {};\n\n switch (ctx.params?.status) {\n case 'published':\n data.publishedAt = new Date();\n break;\n case 'draft':\n data.publishedAt = null;\n break;\n default:\n break;\n }\n\n ctx.params.data = data;\n\n return next(ctx);\n};\n\nexport default {\n setStatusToDraft,\n defaultToDraft,\n statusToLookup,\n statusToData,\n};\n"],"names":[],"mappings":";;AAOa,MAAA,mBAA+B,OAAO,KAAK,SAAS;AAC/D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,MAAI,OAAO,SAAS;AAEpB,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AAC7D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAG9B,MAAI,CAAC,IAAI,OAAO,UAAU,IAAI,OAAO,WAAW,aAAa;AAC3D,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AAC7D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,SAAS,IAAI,OAAO,UAAU,CAAA;AAE5B,UAAA,IAAI,QAAQ,QAAQ;AAAA,IAC1B,KAAK;AACI,aAAA,cAAc,EAAE,UAAU,KAAK;AACtC;AAAA,IACF,KAAK;AACI,aAAA,cAAc,EAAE,OAAO,KAAK;AACnC;AAAA,EAGJ;AAEA,MAAI,OAAO,SAAS;AAEpB,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,eAA2B,OAAO,KAAK,SAAS;AAC3D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAGxB,QAAA,EAAE,aAAa,GAAG,KAAA,IAAS,IAAI,OAAO,QAAQ;AAE5C,UAAA,IAAI,QAAQ,QAAQ;AAAA,IAC1B,KAAK;AACE,WAAA,kCAAkB;AACvB;AAAA,IACF,KAAK;AACH,WAAK,cAAc;AACnB;AAAA,EAGJ;AAEA,MAAI,OAAO,OAAO;AAElB,SAAO,KAAK,GAAG;AACjB;AAEA,MAAe,KAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;;;;"}
@@ -1,58 +0,0 @@
1
- const setStatusToDraft = async (ctx, next) => {
2
- if (!ctx.params)
3
- ctx.params = {};
4
- ctx.params.status = "draft";
5
- return next(ctx);
6
- };
7
- const defaultToDraft = async (ctx, next) => {
8
- if (!ctx.params)
9
- ctx.params = {};
10
- if (!ctx.params.status || ctx.params.status !== "published") {
11
- ctx.params.status = "draft";
12
- }
13
- return next(ctx);
14
- };
15
- const statusToLookup = async (ctx, next) => {
16
- if (!ctx.params)
17
- ctx.params = {};
18
- const lookup = ctx.params.lookup || {};
19
- switch (ctx.params?.status) {
20
- case "published":
21
- lookup.publishedAt = { $notNull: true };
22
- break;
23
- case "draft":
24
- lookup.publishedAt = { $null: true };
25
- break;
26
- }
27
- ctx.params.lookup = lookup;
28
- return next(ctx);
29
- };
30
- const statusToData = async (ctx, next) => {
31
- if (!ctx.params)
32
- ctx.params = {};
33
- const { publishedAt, ...data } = ctx.params.data || {};
34
- switch (ctx.params?.status) {
35
- case "published":
36
- data.publishedAt = /* @__PURE__ */ new Date();
37
- break;
38
- case "draft":
39
- data.publishedAt = null;
40
- break;
41
- }
42
- ctx.params.data = data;
43
- return next(ctx);
44
- };
45
- const DP = {
46
- setStatusToDraft,
47
- defaultToDraft,
48
- statusToLookup,
49
- statusToData
50
- };
51
- export {
52
- DP as default,
53
- defaultToDraft,
54
- setStatusToDraft,
55
- statusToData,
56
- statusToLookup
57
- };
58
- //# sourceMappingURL=draft-and-publish.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-and-publish.mjs","sources":["../../../../../src/services/document-service/middlewares/defaults/draft-and-publish.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\n\ntype Middleware = Documents.Middleware.Middleware<any, any>;\n\n/**\n * Sets status to draft only\n */\nexport const setStatusToDraft: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n ctx.params.status = 'draft';\n\n return next(ctx);\n};\n\n/**\n * Adds a default status of `draft` to the params\n */\nexport const defaultToDraft: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n // Default to draft if no status is provided or it's invalid\n if (!ctx.params.status || ctx.params.status !== 'published') {\n ctx.params.status = 'draft';\n }\n\n return next(ctx);\n};\n\n/**\n * Add status lookup query to the params\n */\nexport const statusToLookup: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n const lookup = ctx.params.lookup || {};\n\n switch (ctx.params?.status) {\n case 'published':\n lookup.publishedAt = { $notNull: true };\n break;\n case 'draft':\n lookup.publishedAt = { $null: true };\n break;\n default:\n break;\n }\n\n ctx.params.lookup = lookup;\n\n return next(ctx);\n};\n\n/**\n * Translate publication status parameter into the data that will be saved\n */\nexport const statusToData: Middleware = async (ctx, next) => {\n if (!ctx.params) ctx.params = {};\n\n // Ignore publishedAt attribute. TODO: Make publishedAt not editable\n const { publishedAt, ...data } = ctx.params.data || {};\n\n switch (ctx.params?.status) {\n case 'published':\n data.publishedAt = new Date();\n break;\n case 'draft':\n data.publishedAt = null;\n break;\n default:\n break;\n }\n\n ctx.params.data = data;\n\n return next(ctx);\n};\n\nexport default {\n setStatusToDraft,\n defaultToDraft,\n statusToLookup,\n statusToData,\n};\n"],"names":[],"mappings":"AAOa,MAAA,mBAA+B,OAAO,KAAK,SAAS;AAC/D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,MAAI,OAAO,SAAS;AAEpB,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AAC7D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAG9B,MAAI,CAAC,IAAI,OAAO,UAAU,IAAI,OAAO,WAAW,aAAa;AAC3D,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AAC7D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,SAAS,IAAI,OAAO,UAAU,CAAA;AAE5B,UAAA,IAAI,QAAQ,QAAQ;AAAA,IAC1B,KAAK;AACI,aAAA,cAAc,EAAE,UAAU,KAAK;AACtC;AAAA,IACF,KAAK;AACI,aAAA,cAAc,EAAE,OAAO,KAAK;AACnC;AAAA,EAGJ;AAEA,MAAI,OAAO,SAAS;AAEpB,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,eAA2B,OAAO,KAAK,SAAS;AAC3D,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAGxB,QAAA,EAAE,aAAa,GAAG,KAAA,IAAS,IAAI,OAAO,QAAQ;AAE5C,UAAA,IAAI,QAAQ,QAAQ;AAAA,IAC1B,KAAK;AACE,WAAA,kCAAkB;AACvB;AAAA,IACF,KAAK;AACH,WAAK,cAAc;AACnB;AAAA,EAGJ;AAEA,MAAI,OAAO,OAAO;AAElB,SAAO,KAAK,GAAG;AACjB;AAEA,MAAe,KAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -1,3 +0,0 @@
1
- import { Documents } from '@strapi/types';
2
- export declare const loadDefaultMiddlewares: (manager: Documents.Middleware.Manager) => void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/document-service/middlewares/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,eAAO,MAAM,sBAAsB,YAAa,UAAU,UAAU,CAAC,OAAO,SA8G3E,CAAC"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const draftAndPublish = require("./draft-and-publish.js");
4
- const locales = require("./locales.js");
5
- const loadDefaultMiddlewares = (manager) => {
6
- manager.add(
7
- "_all",
8
- "findMany",
9
- [draftAndPublish.default.defaultToDraft, draftAndPublish.default.statusToLookup, locales.default.defaultLocale, locales.default.localeToLookup],
10
- {}
11
- );
12
- manager.add(
13
- "_all",
14
- "findOne",
15
- [draftAndPublish.default.defaultToDraft, draftAndPublish.default.statusToLookup, locales.default.defaultLocale, locales.default.localeToLookup],
16
- {}
17
- );
18
- manager.add(
19
- "_all",
20
- "findFirst",
21
- [draftAndPublish.default.defaultToDraft, draftAndPublish.default.statusToLookup, locales.default.defaultLocale, locales.default.localeToLookup],
22
- {}
23
- );
24
- manager.add(
25
- "_all",
26
- "delete",
27
- [
28
- // Lookup for status and locale if provided
29
- draftAndPublish.default.statusToLookup,
30
- locales.default.localeToLookup
31
- ],
32
- {}
33
- );
34
- manager.add(
35
- "_all",
36
- "create",
37
- [
38
- // Only create drafts
39
- draftAndPublish.default.setStatusToDraft,
40
- draftAndPublish.default.statusToData,
41
- locales.default.defaultLocale,
42
- locales.default.localeToData
43
- ],
44
- {}
45
- );
46
- manager.add(
47
- "_all",
48
- "update",
49
- [
50
- // Only update drafts
51
- draftAndPublish.default.setStatusToDraft,
52
- draftAndPublish.default.statusToLookup,
53
- draftAndPublish.default.statusToData,
54
- // Default locale will be set if not provided
55
- locales.default.defaultLocale,
56
- locales.default.localeToLookup,
57
- locales.default.localeToData
58
- ],
59
- {}
60
- );
61
- manager.add("_all", "update", async (ctx, next) => {
62
- const res = await next(ctx);
63
- const docId = ctx.options.id;
64
- if (!res && docId) {
65
- const documentExists = await strapi.db.query(ctx.uid).findOne({ where: { documentId: docId } });
66
- if (documentExists) {
67
- return strapi.documents(ctx.uid).create({
68
- ...ctx.params,
69
- data: { ...ctx.params.data, documentId: docId }
70
- });
71
- }
72
- }
73
- return res;
74
- });
75
- manager.add("_all", "count", [draftAndPublish.default.defaultToDraft, locales.default.defaultLocale], {});
76
- manager.add("_all", "clone", [locales.default.localeToLookup], {});
77
- manager.add("_all", "publish", [locales.default.localeToLookup], {});
78
- manager.add("_all", "unpublish", [locales.default.localeToLookup], {});
79
- manager.add("_all", "discardDraft", [locales.default.localeToLookup], {});
80
- };
81
- exports.loadDefaultMiddlewares = loadDefaultMiddlewares;
82
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/services/document-service/middlewares/defaults/index.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\nimport DP from './draft-and-publish';\nimport i18n from './locales';\n\nexport const loadDefaultMiddlewares = (manager: Documents.Middleware.Manager) => {\n // Find Many\n manager.add(\n '_all',\n 'findMany',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Find One\n manager.add(\n '_all',\n 'findOne',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Find First\n manager.add(\n '_all',\n 'findFirst',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Delete\n manager.add(\n '_all',\n 'delete',\n [\n // Lookup for status and locale if provided\n DP.statusToLookup,\n i18n.localeToLookup,\n ],\n {}\n );\n\n // Delete Many - TODO\n // manager.add('_all', 'deleteMany', [], {});\n\n // Create\n manager.add(\n '_all',\n 'create',\n [\n // Only create drafts\n DP.setStatusToDraft,\n DP.statusToData,\n i18n.defaultLocale,\n i18n.localeToData,\n ],\n {}\n );\n\n // Update\n manager.add(\n '_all',\n 'update',\n [\n // Only update drafts\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n // Default locale will be set if not provided\n i18n.defaultLocale,\n i18n.localeToLookup,\n i18n.localeToData,\n ],\n {}\n );\n\n // Upsert locale if doesn't exist on update\n manager.add('_all', 'update', async (ctx, next) => {\n // Try to update\n const res = await next(ctx);\n\n // @ts-expect-error - TODO: Fix typings\n const docId: string = ctx.options.id;\n\n // If result is null, no locale has been found, so create it\n if (!res && docId) {\n const documentExists = await strapi.db\n .query(ctx.uid)\n .findOne({ where: { documentId: docId } });\n\n if (documentExists) {\n return strapi.documents(ctx.uid).create({\n ...ctx.params,\n data: { ...ctx.params.data, documentId: docId },\n });\n }\n }\n\n return res;\n });\n\n // Count\n manager.add('_all', 'count', [DP.defaultToDraft, i18n.defaultLocale], {});\n\n // Clone\n manager.add('_all', 'clone', [i18n.localeToLookup], {});\n\n // Publish\n manager.add('_all', 'publish', [i18n.localeToLookup], {});\n\n // Unpublish\n manager.add('_all', 'unpublish', [i18n.localeToLookup], {});\n\n // Discard Draft\n manager.add('_all', 'discardDraft', [i18n.localeToLookup], {});\n};\n"],"names":["DP","i18n"],"mappings":";;;;AAIa,MAAA,yBAAyB,CAAC,YAA0C;AAEvE,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAACA,wBAAG,gBAAgBA,wBAAG,gBAAgBC,QAAAA,QAAK,eAAeA,gBAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAACD,wBAAG,gBAAgBA,wBAAG,gBAAgBC,QAAAA,QAAK,eAAeA,gBAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAACD,wBAAG,gBAAgBA,wBAAG,gBAAgBC,QAAAA,QAAK,eAAeA,gBAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEED,gBAAAA,QAAG;AAAA,MACHC,QAAAA,QAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAOK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEED,gBAAAA,QAAG;AAAA,MACHA,gBAAAA,QAAG;AAAA,MACHC,QAAAA,QAAK;AAAA,MACLA,QAAAA,QAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEED,gBAAAA,QAAG;AAAA,MACHA,gBAAAA,QAAG;AAAA,MACHA,gBAAAA,QAAG;AAAA;AAAA,MAEHC,QAAAA,QAAK;AAAA,MACLA,QAAAA,QAAK;AAAA,MACLA,QAAAA,QAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAIH,UAAQ,IAAI,QAAQ,UAAU,OAAO,KAAK,SAAS;AAE3C,UAAA,MAAM,MAAM,KAAK,GAAG;AAGpB,UAAA,QAAgB,IAAI,QAAQ;AAG9B,QAAA,CAAC,OAAO,OAAO;AACjB,YAAM,iBAAiB,MAAM,OAAO,GACjC,MAAM,IAAI,GAAG,EACb,QAAQ,EAAE,OAAO,EAAE,YAAY,MAAA,EAAS,CAAA;AAE3C,UAAI,gBAAgB;AAClB,eAAO,OAAO,UAAU,IAAI,GAAG,EAAE,OAAO;AAAA,UACtC,GAAG,IAAI;AAAA,UACP,MAAM,EAAE,GAAG,IAAI,OAAO,MAAM,YAAY,MAAM;AAAA,QAAA,CAC/C;AAAA,MACH;AAAA,IACF;AAEO,WAAA;AAAA,EAAA,CACR;AAGO,UAAA,IAAI,QAAQ,SAAS,CAACD,gBAAAA,QAAG,gBAAgBC,gBAAK,aAAa,GAAG,CAAA,CAAE;AAGhE,UAAA,IAAI,QAAQ,SAAS,CAACA,QAAAA,QAAK,cAAc,GAAG,CAAA,CAAE;AAG9C,UAAA,IAAI,QAAQ,WAAW,CAACA,QAAAA,QAAK,cAAc,GAAG,CAAA,CAAE;AAGhD,UAAA,IAAI,QAAQ,aAAa,CAACA,QAAAA,QAAK,cAAc,GAAG,CAAA,CAAE;AAGlD,UAAA,IAAI,QAAQ,gBAAgB,CAACA,QAAAA,QAAK,cAAc,GAAG,CAAA,CAAE;AAC/D;;"}
@@ -1,82 +0,0 @@
1
- import DP from "./draft-and-publish.mjs";
2
- import i18n from "./locales.mjs";
3
- const loadDefaultMiddlewares = (manager) => {
4
- manager.add(
5
- "_all",
6
- "findMany",
7
- [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],
8
- {}
9
- );
10
- manager.add(
11
- "_all",
12
- "findOne",
13
- [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],
14
- {}
15
- );
16
- manager.add(
17
- "_all",
18
- "findFirst",
19
- [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],
20
- {}
21
- );
22
- manager.add(
23
- "_all",
24
- "delete",
25
- [
26
- // Lookup for status and locale if provided
27
- DP.statusToLookup,
28
- i18n.localeToLookup
29
- ],
30
- {}
31
- );
32
- manager.add(
33
- "_all",
34
- "create",
35
- [
36
- // Only create drafts
37
- DP.setStatusToDraft,
38
- DP.statusToData,
39
- i18n.defaultLocale,
40
- i18n.localeToData
41
- ],
42
- {}
43
- );
44
- manager.add(
45
- "_all",
46
- "update",
47
- [
48
- // Only update drafts
49
- DP.setStatusToDraft,
50
- DP.statusToLookup,
51
- DP.statusToData,
52
- // Default locale will be set if not provided
53
- i18n.defaultLocale,
54
- i18n.localeToLookup,
55
- i18n.localeToData
56
- ],
57
- {}
58
- );
59
- manager.add("_all", "update", async (ctx, next) => {
60
- const res = await next(ctx);
61
- const docId = ctx.options.id;
62
- if (!res && docId) {
63
- const documentExists = await strapi.db.query(ctx.uid).findOne({ where: { documentId: docId } });
64
- if (documentExists) {
65
- return strapi.documents(ctx.uid).create({
66
- ...ctx.params,
67
- data: { ...ctx.params.data, documentId: docId }
68
- });
69
- }
70
- }
71
- return res;
72
- });
73
- manager.add("_all", "count", [DP.defaultToDraft, i18n.defaultLocale], {});
74
- manager.add("_all", "clone", [i18n.localeToLookup], {});
75
- manager.add("_all", "publish", [i18n.localeToLookup], {});
76
- manager.add("_all", "unpublish", [i18n.localeToLookup], {});
77
- manager.add("_all", "discardDraft", [i18n.localeToLookup], {});
78
- };
79
- export {
80
- loadDefaultMiddlewares
81
- };
82
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../src/services/document-service/middlewares/defaults/index.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\nimport DP from './draft-and-publish';\nimport i18n from './locales';\n\nexport const loadDefaultMiddlewares = (manager: Documents.Middleware.Manager) => {\n // Find Many\n manager.add(\n '_all',\n 'findMany',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Find One\n manager.add(\n '_all',\n 'findOne',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Find First\n manager.add(\n '_all',\n 'findFirst',\n [DP.defaultToDraft, DP.statusToLookup, i18n.defaultLocale, i18n.localeToLookup],\n {}\n );\n\n // Delete\n manager.add(\n '_all',\n 'delete',\n [\n // Lookup for status and locale if provided\n DP.statusToLookup,\n i18n.localeToLookup,\n ],\n {}\n );\n\n // Delete Many - TODO\n // manager.add('_all', 'deleteMany', [], {});\n\n // Create\n manager.add(\n '_all',\n 'create',\n [\n // Only create drafts\n DP.setStatusToDraft,\n DP.statusToData,\n i18n.defaultLocale,\n i18n.localeToData,\n ],\n {}\n );\n\n // Update\n manager.add(\n '_all',\n 'update',\n [\n // Only update drafts\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n // Default locale will be set if not provided\n i18n.defaultLocale,\n i18n.localeToLookup,\n i18n.localeToData,\n ],\n {}\n );\n\n // Upsert locale if doesn't exist on update\n manager.add('_all', 'update', async (ctx, next) => {\n // Try to update\n const res = await next(ctx);\n\n // @ts-expect-error - TODO: Fix typings\n const docId: string = ctx.options.id;\n\n // If result is null, no locale has been found, so create it\n if (!res && docId) {\n const documentExists = await strapi.db\n .query(ctx.uid)\n .findOne({ where: { documentId: docId } });\n\n if (documentExists) {\n return strapi.documents(ctx.uid).create({\n ...ctx.params,\n data: { ...ctx.params.data, documentId: docId },\n });\n }\n }\n\n return res;\n });\n\n // Count\n manager.add('_all', 'count', [DP.defaultToDraft, i18n.defaultLocale], {});\n\n // Clone\n manager.add('_all', 'clone', [i18n.localeToLookup], {});\n\n // Publish\n manager.add('_all', 'publish', [i18n.localeToLookup], {});\n\n // Unpublish\n manager.add('_all', 'unpublish', [i18n.localeToLookup], {});\n\n // Discard Draft\n manager.add('_all', 'discardDraft', [i18n.localeToLookup], {});\n};\n"],"names":[],"mappings":";;AAIa,MAAA,yBAAyB,CAAC,YAA0C;AAEvE,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,KAAK,eAAe,KAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,KAAK,eAAe,KAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,KAAK,eAAe,KAAK,cAAc;AAAA,IAC9E,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEE,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAOK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAIK,UAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA;AAAA,MAEE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA;AAAA,MAEH,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,CAAC;AAAA,EAAA;AAIH,UAAQ,IAAI,QAAQ,UAAU,OAAO,KAAK,SAAS;AAE3C,UAAA,MAAM,MAAM,KAAK,GAAG;AAGpB,UAAA,QAAgB,IAAI,QAAQ;AAG9B,QAAA,CAAC,OAAO,OAAO;AACjB,YAAM,iBAAiB,MAAM,OAAO,GACjC,MAAM,IAAI,GAAG,EACb,QAAQ,EAAE,OAAO,EAAE,YAAY,MAAA,EAAS,CAAA;AAE3C,UAAI,gBAAgB;AAClB,eAAO,OAAO,UAAU,IAAI,GAAG,EAAE,OAAO;AAAA,UACtC,GAAG,IAAI;AAAA,UACP,MAAM,EAAE,GAAG,IAAI,OAAO,MAAM,YAAY,MAAM;AAAA,QAAA,CAC/C;AAAA,MACH;AAAA,IACF;AAEO,WAAA;AAAA,EAAA,CACR;AAGO,UAAA,IAAI,QAAQ,SAAS,CAAC,GAAG,gBAAgB,KAAK,aAAa,GAAG,CAAA,CAAE;AAGhE,UAAA,IAAI,QAAQ,SAAS,CAAC,KAAK,cAAc,GAAG,CAAA,CAAE;AAG9C,UAAA,IAAI,QAAQ,WAAW,CAAC,KAAK,cAAc,GAAG,CAAA,CAAE;AAGhD,UAAA,IAAI,QAAQ,aAAa,CAAC,KAAK,cAAc,GAAG,CAAA,CAAE;AAGlD,UAAA,IAAI,QAAQ,gBAAgB,CAAC,KAAK,cAAc,GAAG,CAAA,CAAE;AAC/D;"}
@@ -1,18 +0,0 @@
1
- import { Documents } from '@strapi/types';
2
- type Middleware = Documents.Middleware.Middleware<any, any>;
3
- export declare const defaultLocale: Middleware;
4
- /**
5
- * Add locale lookup query to the params
6
- */
7
- export declare const localeToLookup: Middleware;
8
- /**
9
- * Translate locale status parameter into the data that will be saved
10
- */
11
- export declare const localeToData: Middleware;
12
- declare const _default: {
13
- defaultLocale: Middleware;
14
- localeToLookup: Middleware;
15
- localeToData: Middleware;
16
- };
17
- export default _default;
18
- //# sourceMappingURL=locales.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../../src/services/document-service/middlewares/defaults/locales.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAElD,KAAK,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAO5D,eAAO,MAAM,aAAa,EAAE,UAU3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAa1B,CAAC;;;;;;AAEF,wBAIE"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const isLocalizedContentType = (uid) => {
4
- const model = strapi.getModel(uid);
5
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
6
- };
7
- const defaultLocale = async (ctx, next) => {
8
- if (!isLocalizedContentType(ctx.uid))
9
- return next(ctx);
10
- if (!ctx.params)
11
- ctx.params = {};
12
- if (!ctx.params.locale) {
13
- ctx.params.locale = "en";
14
- }
15
- return next(ctx);
16
- };
17
- const localeToLookup = async (ctx, next) => {
18
- if (!isLocalizedContentType(ctx.uid))
19
- return next(ctx);
20
- if (!ctx.params)
21
- ctx.params = {};
22
- const lookup = ctx.params.lookup || {};
23
- if (ctx.params.locale) {
24
- lookup.locale = ctx.params.locale;
25
- ctx.params.lookup = lookup;
26
- }
27
- return next(ctx);
28
- };
29
- const localeToData = async (ctx, next) => {
30
- if (!isLocalizedContentType(ctx.uid))
31
- return next(ctx);
32
- if (!ctx.params)
33
- ctx.params = {};
34
- const data = ctx.params.data || {};
35
- if (ctx.params.locale) {
36
- data.locale = ctx.params.locale;
37
- }
38
- ctx.params.data = data;
39
- return next(ctx);
40
- };
41
- const i18n = {
42
- defaultLocale,
43
- localeToLookup,
44
- localeToData
45
- };
46
- exports.default = i18n;
47
- exports.defaultLocale = defaultLocale;
48
- exports.localeToData = localeToData;
49
- exports.localeToLookup = localeToLookup;
50
- //# sourceMappingURL=locales.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locales.js","sources":["../../../../../src/services/document-service/middlewares/defaults/locales.ts"],"sourcesContent":["// TODO: Move to i18n\nimport { Documents, Common } from '@strapi/types';\n\ntype Middleware = Documents.Middleware.Middleware<any, any>;\n\nconst isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const defaultLocale: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n if (!ctx.params.locale) {\n // Default to en (TODO: Load default locale from db in i18n)\n ctx.params.locale = 'en';\n }\n\n return next(ctx);\n};\n\n/**\n * Add locale lookup query to the params\n */\nexport const localeToLookup: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n const lookup = ctx.params.lookup || {};\n\n if (ctx.params.locale) {\n lookup.locale = ctx.params.locale;\n ctx.params.lookup = lookup;\n }\n\n return next(ctx);\n};\n\n/**\n * Translate locale status parameter into the data that will be saved\n */\nexport const localeToData: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n const data = ctx.params.data || {};\n\n if (ctx.params.locale) {\n data.locale = ctx.params.locale;\n }\n\n ctx.params.data = data;\n\n return next(ctx);\n};\n\nexport default {\n defaultLocale,\n localeToLookup,\n localeToData,\n};\n"],"names":[],"mappings":";;AAKA,MAAM,yBAAyB,CAAC,QAA2B;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEa,MAAA,gBAA4B,OAAO,KAAK,SAAS;AACxD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE1B,MAAA,CAAC,IAAI,OAAO,QAAQ;AAEtB,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AACzD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,SAAS,IAAI,OAAO,UAAU,CAAA;AAEhC,MAAA,IAAI,OAAO,QAAQ;AACd,WAAA,SAAS,IAAI,OAAO;AAC3B,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,eAA2B,OAAO,KAAK,SAAS;AACvD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,OAAO,IAAI,OAAO,QAAQ,CAAA;AAE5B,MAAA,IAAI,OAAO,QAAQ;AAChB,SAAA,SAAS,IAAI,OAAO;AAAA,EAC3B;AAEA,MAAI,OAAO,OAAO;AAElB,SAAO,KAAK,GAAG;AACjB;AAEA,MAAe,OAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACF;;;;;"}
@@ -1,50 +0,0 @@
1
- const isLocalizedContentType = (uid) => {
2
- const model = strapi.getModel(uid);
3
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
4
- };
5
- const defaultLocale = async (ctx, next) => {
6
- if (!isLocalizedContentType(ctx.uid))
7
- return next(ctx);
8
- if (!ctx.params)
9
- ctx.params = {};
10
- if (!ctx.params.locale) {
11
- ctx.params.locale = "en";
12
- }
13
- return next(ctx);
14
- };
15
- const localeToLookup = async (ctx, next) => {
16
- if (!isLocalizedContentType(ctx.uid))
17
- return next(ctx);
18
- if (!ctx.params)
19
- ctx.params = {};
20
- const lookup = ctx.params.lookup || {};
21
- if (ctx.params.locale) {
22
- lookup.locale = ctx.params.locale;
23
- ctx.params.lookup = lookup;
24
- }
25
- return next(ctx);
26
- };
27
- const localeToData = async (ctx, next) => {
28
- if (!isLocalizedContentType(ctx.uid))
29
- return next(ctx);
30
- if (!ctx.params)
31
- ctx.params = {};
32
- const data = ctx.params.data || {};
33
- if (ctx.params.locale) {
34
- data.locale = ctx.params.locale;
35
- }
36
- ctx.params.data = data;
37
- return next(ctx);
38
- };
39
- const i18n = {
40
- defaultLocale,
41
- localeToLookup,
42
- localeToData
43
- };
44
- export {
45
- i18n as default,
46
- defaultLocale,
47
- localeToData,
48
- localeToLookup
49
- };
50
- //# sourceMappingURL=locales.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locales.mjs","sources":["../../../../../src/services/document-service/middlewares/defaults/locales.ts"],"sourcesContent":["// TODO: Move to i18n\nimport { Documents, Common } from '@strapi/types';\n\ntype Middleware = Documents.Middleware.Middleware<any, any>;\n\nconst isLocalizedContentType = (uid: Common.UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const defaultLocale: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n if (!ctx.params.locale) {\n // Default to en (TODO: Load default locale from db in i18n)\n ctx.params.locale = 'en';\n }\n\n return next(ctx);\n};\n\n/**\n * Add locale lookup query to the params\n */\nexport const localeToLookup: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n const lookup = ctx.params.lookup || {};\n\n if (ctx.params.locale) {\n lookup.locale = ctx.params.locale;\n ctx.params.lookup = lookup;\n }\n\n return next(ctx);\n};\n\n/**\n * Translate locale status parameter into the data that will be saved\n */\nexport const localeToData: Middleware = async (ctx, next) => {\n if (!isLocalizedContentType(ctx.uid)) return next(ctx);\n if (!ctx.params) ctx.params = {};\n\n const data = ctx.params.data || {};\n\n if (ctx.params.locale) {\n data.locale = ctx.params.locale;\n }\n\n ctx.params.data = data;\n\n return next(ctx);\n};\n\nexport default {\n defaultLocale,\n localeToLookup,\n localeToData,\n};\n"],"names":[],"mappings":"AAKA,MAAM,yBAAyB,CAAC,QAA2B;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEa,MAAA,gBAA4B,OAAO,KAAK,SAAS;AACxD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE1B,MAAA,CAAC,IAAI,OAAO,QAAQ;AAEtB,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,iBAA6B,OAAO,KAAK,SAAS;AACzD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,SAAS,IAAI,OAAO,UAAU,CAAA;AAEhC,MAAA,IAAI,OAAO,QAAQ;AACd,WAAA,SAAS,IAAI,OAAO;AAC3B,QAAI,OAAO,SAAS;AAAA,EACtB;AAEA,SAAO,KAAK,GAAG;AACjB;AAKa,MAAA,eAA2B,OAAO,KAAK,SAAS;AACvD,MAAA,CAAC,uBAAuB,IAAI,GAAG;AAAG,WAAO,KAAK,GAAG;AACrD,MAAI,CAAC,IAAI;AAAQ,QAAI,SAAS;AAE9B,QAAM,OAAO,IAAI,OAAO,QAAQ,CAAA;AAE5B,MAAA,IAAI,OAAO,QAAQ;AAChB,SAAA,SAAS,IAAI,OAAO;AAAA,EAC3B;AAEA,MAAI,OAAO,OAAO;AAElB,SAAO,KAAK,GAAG;AACjB;AAEA,MAAe,OAAA;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -1,11 +0,0 @@
1
- import { Documents } from '@strapi/types';
2
- export declare const priority: {
3
- readonly LOWEST: 1;
4
- readonly LOW: 10;
5
- readonly DEFAULT: 100;
6
- readonly HIGH: 1000;
7
- readonly HIGHEST: 10000;
8
- };
9
- declare const createMiddlewareManager: () => Documents.Middleware.Manager;
10
- export default createMiddlewareManager;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/document-service/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,QAAA,MAAM,uBAAuB,QAAO,UAAU,UAAU,CAAC,OA2DxD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const priority = {
4
- LOWEST: 1,
5
- LOW: 10,
6
- DEFAULT: 100,
7
- HIGH: 1e3,
8
- HIGHEST: 1e4
9
- };
10
- const createMiddlewareManager = () => {
11
- return {
12
- priority,
13
- middlewares: {
14
- // All uid's
15
- _all: {
16
- // All actions on all uid's
17
- _all: []
18
- }
19
- },
20
- get(uid, action) {
21
- return [
22
- // All actions on all uid's
23
- ...this.middlewares._all._all,
24
- // All actions on a specific uid
25
- ...this.middlewares[uid]?._all || [],
26
- // A specific action on all uid's
27
- ...this.middlewares._all[action] || [],
28
- // A specific action on a specific uid
29
- ...this.middlewares[uid]?.[action] || []
30
- ].sort((a, b) => b.priority - a.priority).map(({ middleware }) => middleware);
31
- },
32
- add(uid, action, middleware, opts) {
33
- if (!this.middlewares[uid]) {
34
- this.middlewares[uid] = {};
35
- }
36
- if (!this.middlewares[uid][action]) {
37
- this.middlewares[uid][action] = [];
38
- }
39
- const middlewareList = Array.isArray(middleware) ? middleware : [middleware];
40
- middlewareList.forEach((middleware2) => {
41
- this.middlewares[uid][action].push({
42
- middleware: middleware2,
43
- priority: opts?.priority ?? priority.DEFAULT
44
- });
45
- });
46
- return this;
47
- },
48
- async run(ctx, cb) {
49
- const runMiddlewares = this.get(ctx.uid, ctx.action).reduceRight(
50
- (next, middleware) => (ctx2) => middleware(ctx2, next),
51
- cb
52
- );
53
- return runMiddlewares(ctx);
54
- }
55
- };
56
- };
57
- exports.default = createMiddlewareManager;
58
- exports.priority = priority;
59
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/document-service/middlewares/index.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\n\nexport const priority = {\n LOWEST: 1,\n LOW: 10,\n DEFAULT: 100,\n HIGH: 1_000,\n HIGHEST: 10_000,\n} as const;\n\nconst createMiddlewareManager = (): Documents.Middleware.Manager => {\n return {\n priority,\n\n middlewares: {\n // All uid's\n _all: {\n // All actions on all uid's\n _all: [],\n },\n },\n\n get(uid, action) {\n return (\n [\n // All actions on all uid's\n ...this.middlewares._all._all,\n // All actions on a specific uid\n ...(this.middlewares[uid]?._all || []),\n // A specific action on all uid's\n ...(this.middlewares._all[action] || []),\n // A specific action on a specific uid\n ...(this.middlewares[uid]?.[action] || []),\n ]\n // Sort by priority - the higher the priority, the earlier the middleware will be executed\n .sort((a, b) => b.priority - a.priority)\n .map(({ middleware }) => middleware)\n );\n },\n\n add(uid, action, middleware, opts) {\n if (!this.middlewares[uid]) {\n this.middlewares[uid] = {};\n }\n\n if (!this.middlewares[uid][action]) {\n this.middlewares[uid][action] = [];\n }\n\n const middlewareList = Array.isArray(middleware) ? middleware : [middleware];\n middlewareList.forEach((middleware) => {\n this.middlewares[uid][action].push({\n middleware,\n priority: opts?.priority ?? priority.DEFAULT,\n });\n });\n\n return this;\n },\n\n async run(ctx, cb) {\n const runMiddlewares = this.get(ctx.uid, ctx.action).reduceRight(\n (next: any, middleware: any) => (ctx: any) => middleware(ctx, next),\n cb\n );\n\n return runMiddlewares(ctx);\n },\n } satisfies Documents.Middleware.Manager;\n};\n\nexport default createMiddlewareManager;\n"],"names":["middleware","ctx"],"mappings":";;AAEO,MAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,MAAM,0BAA0B,MAAoC;AAC3D,SAAA;AAAA,IACL;AAAA,IAEA,aAAa;AAAA;AAAA,MAEX,MAAM;AAAA;AAAA,QAEJ,MAAM,CAAC;AAAA,MACT;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,QAAQ;AAEb,aAAA;AAAA;AAAA,QAEE,GAAG,KAAK,YAAY,KAAK;AAAA;AAAA,QAEzB,GAAI,KAAK,YAAY,GAAG,GAAG,QAAQ,CAAC;AAAA;AAAA,QAEpC,GAAI,KAAK,YAAY,KAAK,MAAM,KAAK,CAAC;AAAA;AAAA,QAEtC,GAAI,KAAK,YAAY,GAAG,IAAI,MAAM,KAAK,CAAC;AAAA,MAGvC,EAAA,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ,EACtC,IAAI,CAAC,EAAE,iBAAiB,UAAU;AAAA,IAEzC;AAAA,IAEA,IAAI,KAAK,QAAQ,YAAY,MAAM;AACjC,UAAI,CAAC,KAAK,YAAY,GAAG,GAAG;AACrB,aAAA,YAAY,GAAG,IAAI;MAC1B;AAEA,UAAI,CAAC,KAAK,YAAY,GAAG,EAAE,MAAM,GAAG;AAClC,aAAK,YAAY,GAAG,EAAE,MAAM,IAAI,CAAA;AAAA,MAClC;AAEA,YAAM,iBAAiB,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU;AAC5D,qBAAA,QAAQ,CAACA,gBAAe;AACrC,aAAK,YAAY,GAAG,EAAE,MAAM,EAAE,KAAK;AAAA,UACjC,YAAAA;AAAAA,UACA,UAAU,MAAM,YAAY,SAAS;AAAA,QAAA,CACtC;AAAA,MAAA,CACF;AAEM,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,KAAK,IAAI;AACjB,YAAM,iBAAiB,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE;AAAA,QACnD,CAAC,MAAW,eAAoB,CAACC,SAAa,WAAWA,MAAK,IAAI;AAAA,QAClE;AAAA,MAAA;AAGF,aAAO,eAAe,GAAG;AAAA,IAC3B;AAAA,EAAA;AAEJ;;;"}
@@ -1,59 +0,0 @@
1
- const priority = {
2
- LOWEST: 1,
3
- LOW: 10,
4
- DEFAULT: 100,
5
- HIGH: 1e3,
6
- HIGHEST: 1e4
7
- };
8
- const createMiddlewareManager = () => {
9
- return {
10
- priority,
11
- middlewares: {
12
- // All uid's
13
- _all: {
14
- // All actions on all uid's
15
- _all: []
16
- }
17
- },
18
- get(uid, action) {
19
- return [
20
- // All actions on all uid's
21
- ...this.middlewares._all._all,
22
- // All actions on a specific uid
23
- ...this.middlewares[uid]?._all || [],
24
- // A specific action on all uid's
25
- ...this.middlewares._all[action] || [],
26
- // A specific action on a specific uid
27
- ...this.middlewares[uid]?.[action] || []
28
- ].sort((a, b) => b.priority - a.priority).map(({ middleware }) => middleware);
29
- },
30
- add(uid, action, middleware, opts) {
31
- if (!this.middlewares[uid]) {
32
- this.middlewares[uid] = {};
33
- }
34
- if (!this.middlewares[uid][action]) {
35
- this.middlewares[uid][action] = [];
36
- }
37
- const middlewareList = Array.isArray(middleware) ? middleware : [middleware];
38
- middlewareList.forEach((middleware2) => {
39
- this.middlewares[uid][action].push({
40
- middleware: middleware2,
41
- priority: opts?.priority ?? priority.DEFAULT
42
- });
43
- });
44
- return this;
45
- },
46
- async run(ctx, cb) {
47
- const runMiddlewares = this.get(ctx.uid, ctx.action).reduceRight(
48
- (next, middleware) => (ctx2) => middleware(ctx2, next),
49
- cb
50
- );
51
- return runMiddlewares(ctx);
52
- }
53
- };
54
- };
55
- export {
56
- createMiddlewareManager as default,
57
- priority
58
- };
59
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/document-service/middlewares/index.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\n\nexport const priority = {\n LOWEST: 1,\n LOW: 10,\n DEFAULT: 100,\n HIGH: 1_000,\n HIGHEST: 10_000,\n} as const;\n\nconst createMiddlewareManager = (): Documents.Middleware.Manager => {\n return {\n priority,\n\n middlewares: {\n // All uid's\n _all: {\n // All actions on all uid's\n _all: [],\n },\n },\n\n get(uid, action) {\n return (\n [\n // All actions on all uid's\n ...this.middlewares._all._all,\n // All actions on a specific uid\n ...(this.middlewares[uid]?._all || []),\n // A specific action on all uid's\n ...(this.middlewares._all[action] || []),\n // A specific action on a specific uid\n ...(this.middlewares[uid]?.[action] || []),\n ]\n // Sort by priority - the higher the priority, the earlier the middleware will be executed\n .sort((a, b) => b.priority - a.priority)\n .map(({ middleware }) => middleware)\n );\n },\n\n add(uid, action, middleware, opts) {\n if (!this.middlewares[uid]) {\n this.middlewares[uid] = {};\n }\n\n if (!this.middlewares[uid][action]) {\n this.middlewares[uid][action] = [];\n }\n\n const middlewareList = Array.isArray(middleware) ? middleware : [middleware];\n middlewareList.forEach((middleware) => {\n this.middlewares[uid][action].push({\n middleware,\n priority: opts?.priority ?? priority.DEFAULT,\n });\n });\n\n return this;\n },\n\n async run(ctx, cb) {\n const runMiddlewares = this.get(ctx.uid, ctx.action).reduceRight(\n (next: any, middleware: any) => (ctx: any) => middleware(ctx, next),\n cb\n );\n\n return runMiddlewares(ctx);\n },\n } satisfies Documents.Middleware.Manager;\n};\n\nexport default createMiddlewareManager;\n"],"names":["middleware","ctx"],"mappings":"AAEO,MAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,MAAM,0BAA0B,MAAoC;AAC3D,SAAA;AAAA,IACL;AAAA,IAEA,aAAa;AAAA;AAAA,MAEX,MAAM;AAAA;AAAA,QAEJ,MAAM,CAAC;AAAA,MACT;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,QAAQ;AAEb,aAAA;AAAA;AAAA,QAEE,GAAG,KAAK,YAAY,KAAK;AAAA;AAAA,QAEzB,GAAI,KAAK,YAAY,GAAG,GAAG,QAAQ,CAAC;AAAA;AAAA,QAEpC,GAAI,KAAK,YAAY,KAAK,MAAM,KAAK,CAAC;AAAA;AAAA,QAEtC,GAAI,KAAK,YAAY,GAAG,IAAI,MAAM,KAAK,CAAC;AAAA,MAGvC,EAAA,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ,EACtC,IAAI,CAAC,EAAE,iBAAiB,UAAU;AAAA,IAEzC;AAAA,IAEA,IAAI,KAAK,QAAQ,YAAY,MAAM;AACjC,UAAI,CAAC,KAAK,YAAY,GAAG,GAAG;AACrB,aAAA,YAAY,GAAG,IAAI;MAC1B;AAEA,UAAI,CAAC,KAAK,YAAY,GAAG,EAAE,MAAM,GAAG;AAClC,aAAK,YAAY,GAAG,EAAE,MAAM,IAAI,CAAA;AAAA,MAClC;AAEA,YAAM,iBAAiB,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC,UAAU;AAC5D,qBAAA,QAAQ,CAACA,gBAAe;AACrC,aAAK,YAAY,GAAG,EAAE,MAAM,EAAE,KAAK;AAAA,UACjC,YAAAA;AAAAA,UACA,UAAU,MAAM,YAAY,SAAS;AAAA,QAAA,CACtC;AAAA,MAAA,CACF;AAEM,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,IAAI,KAAK,IAAI;AACjB,YAAM,iBAAiB,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE;AAAA,QACnD,CAAC,MAAW,eAAoB,CAACC,SAAa,WAAWA,MAAK,IAAI;AAAA,QAClE;AAAA,MAAA;AAGF,aAAO,eAAe,GAAG;AAAA,IAC3B;AAAA,EAAA;AAEJ;"}