@strapi/core 0.0.0-experimental.22e8a4f31c0b65da00cc6c524a94de53fabc7a28 → 0.0.0-experimental.235f232c2d3f5110341c4933bf23785a81913797

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 (248) hide show
  1. package/dist/Strapi.d.ts +5 -3
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +19 -7
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +19 -7
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/index.d.ts.map +1 -1
  8. package/dist/configuration/index.js +4 -4
  9. package/dist/configuration/index.js.map +1 -1
  10. package/dist/configuration/index.mjs +1 -1
  11. package/dist/configuration/index.mjs.map +1 -1
  12. package/dist/configuration/urls.d.ts +8 -0
  13. package/dist/configuration/urls.d.ts.map +1 -0
  14. package/dist/configuration/urls.js +68 -0
  15. package/dist/configuration/urls.js.map +1 -0
  16. package/dist/configuration/urls.mjs +66 -0
  17. package/dist/configuration/urls.mjs.map +1 -0
  18. package/dist/core-api/controller/collection-type.js.map +1 -1
  19. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  20. package/dist/core-api/controller/index.d.ts.map +1 -1
  21. package/dist/core-api/controller/index.js +6 -1
  22. package/dist/core-api/controller/index.js.map +1 -1
  23. package/dist/core-api/controller/index.mjs +6 -1
  24. package/dist/core-api/controller/index.mjs.map +1 -1
  25. package/dist/core-api/controller/single-type.js.map +1 -1
  26. package/dist/core-api/controller/single-type.mjs.map +1 -1
  27. package/dist/core-api/controller/transform.d.ts +8 -7
  28. package/dist/core-api/controller/transform.d.ts.map +1 -1
  29. package/dist/core-api/controller/transform.js +18 -9
  30. package/dist/core-api/controller/transform.js.map +1 -1
  31. package/dist/core-api/controller/transform.mjs +18 -9
  32. package/dist/core-api/controller/transform.mjs.map +1 -1
  33. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  34. package/dist/core-api/service/collection-type.js.map +1 -1
  35. package/dist/core-api/service/collection-type.mjs.map +1 -1
  36. package/dist/core-api/service/single-type.d.ts +3 -2
  37. package/dist/core-api/service/single-type.d.ts.map +1 -1
  38. package/dist/core-api/service/single-type.js +14 -3
  39. package/dist/core-api/service/single-type.js.map +1 -1
  40. package/dist/core-api/service/single-type.mjs +14 -3
  41. package/dist/core-api/service/single-type.mjs.map +1 -1
  42. package/dist/domain/content-type/index.d.ts.map +1 -1
  43. package/dist/domain/content-type/index.js +3 -0
  44. package/dist/domain/content-type/index.js.map +1 -1
  45. package/dist/domain/content-type/index.mjs +3 -0
  46. package/dist/domain/content-type/index.mjs.map +1 -1
  47. package/dist/domain/content-type/validator.d.ts.map +1 -1
  48. package/dist/domain/content-type/validator.js +1 -1
  49. package/dist/domain/content-type/validator.js.map +1 -1
  50. package/dist/domain/content-type/validator.mjs +2 -2
  51. package/dist/domain/content-type/validator.mjs.map +1 -1
  52. package/dist/domain/module/index.d.ts.map +1 -1
  53. package/dist/domain/module/index.js +2 -3
  54. package/dist/domain/module/index.js.map +1 -1
  55. package/dist/domain/module/index.mjs +2 -3
  56. package/dist/domain/module/index.mjs.map +1 -1
  57. package/dist/ee/index.js.map +1 -1
  58. package/dist/ee/index.mjs.map +1 -1
  59. package/dist/loaders/apis.js +1 -1
  60. package/dist/loaders/apis.js.map +1 -1
  61. package/dist/loaders/apis.mjs +2 -2
  62. package/dist/loaders/apis.mjs.map +1 -1
  63. package/dist/loaders/plugins/get-enabled-plugins.js +1 -1
  64. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  65. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -2
  66. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  67. package/dist/middlewares/security.d.ts.map +1 -1
  68. package/dist/middlewares/security.js +2 -2
  69. package/dist/middlewares/security.js.map +1 -1
  70. package/dist/middlewares/security.mjs +2 -2
  71. package/dist/middlewares/security.mjs.map +1 -1
  72. package/dist/migrations/draft-publish.d.ts +17 -0
  73. package/dist/migrations/draft-publish.d.ts.map +1 -0
  74. package/dist/migrations/draft-publish.js +59 -0
  75. package/dist/migrations/draft-publish.js.map +1 -0
  76. package/dist/migrations/draft-publish.mjs +59 -0
  77. package/dist/migrations/draft-publish.mjs.map +1 -0
  78. package/dist/registries/config.d.ts +2 -2
  79. package/dist/registries/config.d.ts.map +1 -1
  80. package/dist/registries/config.js +14 -6
  81. package/dist/registries/config.js.map +1 -1
  82. package/dist/registries/config.mjs +15 -5
  83. package/dist/registries/config.mjs.map +1 -1
  84. package/dist/services/document-service/common.d.ts +2 -2
  85. package/dist/services/document-service/common.d.ts.map +1 -1
  86. package/dist/services/document-service/common.js.map +1 -1
  87. package/dist/services/document-service/common.mjs.map +1 -1
  88. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  89. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  90. package/dist/services/document-service/draft-and-publish.js +37 -9
  91. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  92. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  93. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  94. package/dist/services/document-service/index.d.ts.map +1 -1
  95. package/dist/services/document-service/index.js +4 -4
  96. package/dist/services/document-service/index.js.map +1 -1
  97. package/dist/services/document-service/index.mjs +2 -2
  98. package/dist/services/document-service/index.mjs.map +1 -1
  99. package/dist/services/document-service/repository.d.ts +3 -0
  100. package/dist/services/document-service/repository.d.ts.map +1 -0
  101. package/dist/services/document-service/repository.js +295 -0
  102. package/dist/services/document-service/repository.js.map +1 -0
  103. package/dist/services/document-service/repository.mjs +295 -0
  104. package/dist/services/document-service/repository.mjs.map +1 -0
  105. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  106. package/dist/services/document-service/transform/fields.js +11 -10
  107. package/dist/services/document-service/transform/fields.js.map +1 -1
  108. package/dist/services/document-service/transform/fields.mjs +11 -10
  109. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  110. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  111. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  112. package/dist/services/document-service/transform/id-map.js +15 -9
  113. package/dist/services/document-service/transform/id-map.js.map +1 -1
  114. package/dist/services/document-service/transform/id-map.mjs +16 -10
  115. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  116. package/dist/services/document-service/transform/id-transform.d.ts +4 -25
  117. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  118. package/dist/services/document-service/transform/id-transform.js +19 -43
  119. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  120. package/dist/services/document-service/transform/id-transform.mjs +20 -44
  121. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  122. package/dist/services/document-service/transform/populate.d.ts +5 -2
  123. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  124. package/dist/services/document-service/transform/populate.js +0 -10
  125. package/dist/services/document-service/transform/populate.js.map +1 -1
  126. package/dist/services/document-service/transform/populate.mjs +0 -10
  127. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  128. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  129. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  130. package/dist/services/document-service/transform/relations/extract/data-ids.js +28 -14
  131. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  132. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +28 -14
  133. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  134. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +1 -1
  135. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  136. package/dist/services/document-service/transform/relations/transform/data-ids.js +65 -39
  137. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  138. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +66 -40
  139. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  140. package/dist/services/document-service/transform/relations/utils/data.d.ts +2 -4
  141. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  142. package/dist/services/document-service/transform/relations/utils/data.js +1 -1
  143. package/dist/services/document-service/transform/relations/utils/data.js.map +1 -1
  144. package/dist/services/document-service/transform/relations/utils/data.mjs +1 -1
  145. package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -1
  146. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  147. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  148. package/dist/services/document-service/transform/relations/utils/dp.js +25 -0
  149. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  150. package/dist/services/document-service/transform/relations/utils/dp.mjs +25 -0
  151. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  152. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
  153. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  154. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  155. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  156. package/dist/services/document-service/transform/relations/utils/types.d.ts +9 -2
  157. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  158. package/dist/services/document-service/transform/types.d.ts +1 -1
  159. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  160. package/dist/services/document-service/utils/populate.d.ts +8 -1
  161. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  162. package/dist/services/document-service/utils/populate.js +5 -5
  163. package/dist/services/document-service/utils/populate.js.map +1 -1
  164. package/dist/services/document-service/utils/populate.mjs +5 -5
  165. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  166. package/dist/services/entity-service/components.d.ts +1 -4
  167. package/dist/services/entity-service/components.d.ts.map +1 -1
  168. package/dist/services/entity-service/components.js +13 -99
  169. package/dist/services/entity-service/components.js.map +1 -1
  170. package/dist/services/entity-service/components.mjs +14 -100
  171. package/dist/services/entity-service/components.mjs.map +1 -1
  172. package/dist/services/entity-service/index.d.ts +1 -3
  173. package/dist/services/entity-service/index.d.ts.map +1 -1
  174. package/dist/services/entity-service/index.js +34 -199
  175. package/dist/services/entity-service/index.js.map +1 -1
  176. package/dist/services/entity-service/index.mjs +27 -192
  177. package/dist/services/entity-service/index.mjs.map +1 -1
  178. package/dist/services/entity-service/params.d.ts +4 -4
  179. package/dist/services/entity-service/params.d.ts.map +1 -1
  180. package/dist/services/entity-service/params.js +1 -1
  181. package/dist/services/entity-service/params.js.map +1 -1
  182. package/dist/services/entity-service/params.mjs +1 -1
  183. package/dist/services/entity-service/params.mjs.map +1 -1
  184. package/dist/services/entity-validator/index.js +1 -1
  185. package/dist/services/entity-validator/index.js.map +1 -1
  186. package/dist/services/entity-validator/index.mjs +1 -1
  187. package/dist/services/entity-validator/index.mjs.map +1 -1
  188. package/dist/utils/is-initialized.js +1 -1
  189. package/dist/utils/is-initialized.js.map +1 -1
  190. package/dist/utils/is-initialized.mjs +1 -1
  191. package/dist/utils/is-initialized.mjs.map +1 -1
  192. package/dist/utils/load-config-file.js +1 -1
  193. package/dist/utils/load-config-file.js.map +1 -1
  194. package/dist/utils/load-config-file.mjs +2 -2
  195. package/dist/utils/load-config-file.mjs.map +1 -1
  196. package/dist/utils/transform-content-types-to-models.d.ts +174 -3
  197. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  198. package/dist/utils/transform-content-types-to-models.js +80 -41
  199. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  200. package/dist/utils/transform-content-types-to-models.mjs +79 -41
  201. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  202. package/package.json +15 -15
  203. package/dist/services/document-service/collection-type.d.ts +0 -4
  204. package/dist/services/document-service/collection-type.d.ts.map +0 -1
  205. package/dist/services/document-service/collection-type.js +0 -158
  206. package/dist/services/document-service/collection-type.js.map +0 -1
  207. package/dist/services/document-service/collection-type.mjs +0 -158
  208. package/dist/services/document-service/collection-type.mjs.map +0 -1
  209. package/dist/services/document-service/document-engine.d.ts +0 -8
  210. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  211. package/dist/services/document-service/document-engine.js +0 -249
  212. package/dist/services/document-service/document-engine.js.map +0 -1
  213. package/dist/services/document-service/document-engine.mjs +0 -250
  214. package/dist/services/document-service/document-engine.mjs.map +0 -1
  215. package/dist/services/document-service/repository-factory.d.ts +0 -3
  216. package/dist/services/document-service/repository-factory.d.ts.map +0 -1
  217. package/dist/services/document-service/repository-factory.js +0 -12
  218. package/dist/services/document-service/repository-factory.js.map +0 -1
  219. package/dist/services/document-service/repository-factory.mjs +0 -12
  220. package/dist/services/document-service/repository-factory.mjs.map +0 -1
  221. package/dist/services/document-service/single-type.d.ts +0 -4
  222. package/dist/services/document-service/single-type.d.ts.map +0 -1
  223. package/dist/services/document-service/single-type.js +0 -105
  224. package/dist/services/document-service/single-type.js.map +0 -1
  225. package/dist/services/document-service/single-type.mjs +0 -105
  226. package/dist/services/document-service/single-type.mjs.map +0 -1
  227. package/dist/services/document-service/transform/filters.js +0 -49
  228. package/dist/services/document-service/transform/filters.js.map +0 -1
  229. package/dist/services/document-service/transform/filters.mjs +0 -49
  230. package/dist/services/document-service/transform/filters.mjs.map +0 -1
  231. package/dist/services/document-service/transform/relations/transform/output-ids.js +0 -26
  232. package/dist/services/document-service/transform/relations/transform/output-ids.js.map +0 -1
  233. package/dist/services/document-service/transform/relations/transform/output-ids.mjs +0 -26
  234. package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +0 -1
  235. package/dist/services/document-service/transform/sort.js +0 -44
  236. package/dist/services/document-service/transform/sort.js.map +0 -1
  237. package/dist/services/document-service/transform/sort.mjs +0 -44
  238. package/dist/services/document-service/transform/sort.mjs.map +0 -1
  239. package/dist/services/document-service/transform/utils.js +0 -23
  240. package/dist/services/document-service/transform/utils.js.map +0 -1
  241. package/dist/services/document-service/transform/utils.mjs +0 -23
  242. package/dist/services/document-service/transform/utils.mjs.map +0 -1
  243. package/dist/services/utils/upload-files.d.ts +0 -8
  244. package/dist/services/utils/upload-files.d.ts.map +0 -1
  245. package/dist/services/utils/upload-files.js +0 -64
  246. package/dist/services/utils/upload-files.js.map +0 -1
  247. package/dist/services/utils/upload-files.mjs +0 -63
  248. package/dist/services/utils/upload-files.mjs.map +0 -1
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _ = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
- const common = require("./common.js");
6
- const documentEngine = require("./document-engine.js");
7
- const draftAndPublish = require("./draft-and-publish.js");
8
- const internationalization = require("./internationalization.js");
9
- const createSingleTypeRepository = (contentType) => {
10
- const { uid } = contentType;
11
- const documents = documentEngine({ strapi, db: strapi?.db });
12
- async function find(params = {}) {
13
- const queryParams = await strapiUtils.pipeAsync(
14
- draftAndPublish.defaultToDraft,
15
- draftAndPublish.statusToLookup,
16
- internationalization.defaultLocale(contentType),
17
- internationalization.localeToLookup(contentType)
18
- )(params);
19
- return documents.findFirst(uid, queryParams);
20
- }
21
- async function update(params = {}) {
22
- const queryParams = await strapiUtils.pipeAsync(
23
- draftAndPublish.setStatusToDraft,
24
- draftAndPublish.statusToLookup,
25
- draftAndPublish.statusToData,
26
- draftAndPublish.filterDataPublishedAt,
27
- // Default locale will be set if not provided
28
- internationalization.defaultLocale(contentType),
29
- internationalization.localeToLookup(contentType),
30
- internationalization.localeToData(contentType)
31
- )(params);
32
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
33
- let doc;
34
- if (!existingDoc) {
35
- doc = await documents.create(uid, queryParams);
36
- } else {
37
- doc = await documents.update(uid, existingDoc.documentId, queryParams);
38
- if (!doc) {
39
- doc = await documents.create(uid, {
40
- ...queryParams,
41
- data: { ...queryParams.data, documentId: existingDoc.documentId }
42
- });
43
- }
44
- }
45
- if (params.status === "published") {
46
- await documents.delete(uid, doc.id, {
47
- ...queryParams,
48
- status: "published",
49
- lookup: { ...params?.lookup, publishedAt: { $notNull: true } }
50
- });
51
- return documents.create(uid, {
52
- ...queryParams,
53
- data: {
54
- ...queryParams.data,
55
- documentId: doc.id,
56
- publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
57
- }
58
- });
59
- }
60
- return doc;
61
- }
62
- async function deleteFn(params = {}) {
63
- const queryParams = await strapiUtils.pipeAsync(
64
- _.omit("status"),
65
- internationalization.defaultLocale(contentType),
66
- internationalization.multiLocaleToLookup(contentType)
67
- )(params);
68
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
69
- return documents.delete(uid, existingDoc.documentId, queryParams);
70
- }
71
- async function publish(params = {}) {
72
- const queryParams = await strapiUtils.pipeAsync(
73
- internationalization.defaultLocale(contentType),
74
- internationalization.multiLocaleToLookup(contentType)
75
- )(params);
76
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
77
- return documents.publish(uid, existingDoc.documentId, queryParams);
78
- }
79
- async function unpublish(params = {}) {
80
- const queryParams = await strapiUtils.pipeAsync(
81
- internationalization.defaultLocale(contentType),
82
- internationalization.multiLocaleToLookup(contentType)
83
- )(params);
84
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
85
- return documents.unpublish(uid, existingDoc.documentId, queryParams);
86
- }
87
- async function discardDraft(params = {}) {
88
- const queryParams = await strapiUtils.pipeAsync(
89
- internationalization.defaultLocale(contentType),
90
- internationalization.multiLocaleToLookup(contentType)
91
- )(params);
92
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
93
- return documents.discardDraft(uid, existingDoc.documentId, queryParams);
94
- }
95
- return {
96
- find: common.wrapInTransaction(find),
97
- delete: common.wrapInTransaction(deleteFn),
98
- update: common.wrapInTransaction(update),
99
- publish: common.wrapInTransaction(publish),
100
- unpublish: common.wrapInTransaction(unpublish),
101
- discardDraft: common.wrapInTransaction(discardDraft)
102
- };
103
- };
104
- exports.createSingleTypeRepository = createSingleTypeRepository;
105
- //# sourceMappingURL=single-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"single-type.js","sources":["../../../src/services/document-service/single-type.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\n\nimport type { Documents, Schema } from '@strapi/types';\nimport { pipeAsync } from '@strapi/utils';\n\nimport { wrapInTransaction, type RepositoryFactoryMethod } from './common';\nimport createDocumentEngine from './document-engine';\nimport * as DP from './draft-and-publish';\nimport * as i18n from './internationalization';\n\nexport const createSingleTypeRepository: RepositoryFactoryMethod<Schema.SingleType> = (\n contentType\n): Documents.ServiceInstance<Schema.SingleType> => {\n const { uid } = contentType;\n\n // TODO: move the code back into here instead of using the document-engine\n const documents = createDocumentEngine({ strapi, db: strapi?.db });\n\n async function find(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findFirst(uid, queryParams);\n }\n\n async function update(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n DP.filterDataPublishedAt,\n // Default locale will be set if not provided\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n let doc: Documents.AnyDocument | null;\n\n if (!existingDoc) {\n doc = await documents.create(uid, queryParams);\n } else {\n doc = await documents.update(uid, existingDoc.documentId, queryParams);\n\n if (!doc) {\n doc = await documents.create(uid, {\n ...queryParams,\n data: { ...queryParams.data, documentId: existingDoc.documentId },\n });\n }\n }\n\n if (params.status === 'published') {\n // @ts-expect-error invalid ID type\n await documents.delete(uid, doc.id, {\n ...queryParams,\n status: 'published',\n lookup: { ...params?.lookup, publishedAt: { $notNull: true } },\n });\n\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: doc.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return doc;\n }\n\n async function deleteFn(params = {} as any) {\n // always delete both draft & published\n const queryParams = await pipeAsync(\n omit('status'),\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.delete(uid, existingDoc.documentId, queryParams);\n }\n\n async function publish(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.publish(uid, existingDoc.documentId, queryParams);\n }\n\n async function unpublish(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.unpublish(uid, existingDoc.documentId, queryParams);\n }\n\n async function discardDraft(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.discardDraft(uid, existingDoc.documentId, queryParams);\n }\n\n return {\n find: wrapInTransaction(find),\n delete: wrapInTransaction(deleteFn),\n update: wrapInTransaction(update),\n publish: wrapInTransaction(publish),\n unpublish: wrapInTransaction(unpublish),\n discardDraft: wrapInTransaction(discardDraft),\n };\n};\n"],"names":["createDocumentEngine","pipeAsync","DP.defaultToDraft","DP.statusToLookup","i18n.defaultLocale","i18n.localeToLookup","DP.setStatusToDraft","DP.statusToData","DP.filterDataPublishedAt","i18n.localeToData","omit","i18n.multiLocaleToLookup","wrapInTransaction"],"mappings":"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"}
@@ -1,105 +0,0 @@
1
- import { omit } from "lodash/fp";
2
- import { pipeAsync } from "@strapi/utils";
3
- import { wrapInTransaction } from "./common.mjs";
4
- import createDocumentEngine from "./document-engine.mjs";
5
- import { defaultToDraft, statusToLookup, setStatusToDraft, statusToData, filterDataPublishedAt } from "./draft-and-publish.mjs";
6
- import { defaultLocale as defaultLocaleCurry, localeToLookup as localeToLookupCurry, localeToData as localeToDataCurry, multiLocaleToLookup as multiLocaleToLookupCurry } from "./internationalization.mjs";
7
- const createSingleTypeRepository = (contentType) => {
8
- const { uid } = contentType;
9
- const documents = createDocumentEngine({ strapi, db: strapi?.db });
10
- async function find(params = {}) {
11
- const queryParams = await pipeAsync(
12
- defaultToDraft,
13
- statusToLookup,
14
- defaultLocaleCurry(contentType),
15
- localeToLookupCurry(contentType)
16
- )(params);
17
- return documents.findFirst(uid, queryParams);
18
- }
19
- async function update(params = {}) {
20
- const queryParams = await pipeAsync(
21
- setStatusToDraft,
22
- statusToLookup,
23
- statusToData,
24
- filterDataPublishedAt,
25
- // Default locale will be set if not provided
26
- defaultLocaleCurry(contentType),
27
- localeToLookupCurry(contentType),
28
- localeToDataCurry(contentType)
29
- )(params);
30
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
31
- let doc;
32
- if (!existingDoc) {
33
- doc = await documents.create(uid, queryParams);
34
- } else {
35
- doc = await documents.update(uid, existingDoc.documentId, queryParams);
36
- if (!doc) {
37
- doc = await documents.create(uid, {
38
- ...queryParams,
39
- data: { ...queryParams.data, documentId: existingDoc.documentId }
40
- });
41
- }
42
- }
43
- if (params.status === "published") {
44
- await documents.delete(uid, doc.id, {
45
- ...queryParams,
46
- status: "published",
47
- lookup: { ...params?.lookup, publishedAt: { $notNull: true } }
48
- });
49
- return documents.create(uid, {
50
- ...queryParams,
51
- data: {
52
- ...queryParams.data,
53
- documentId: doc.id,
54
- publishedAt: params?.data?.publishedAt ?? /* @__PURE__ */ new Date()
55
- }
56
- });
57
- }
58
- return doc;
59
- }
60
- async function deleteFn(params = {}) {
61
- const queryParams = await pipeAsync(
62
- omit("status"),
63
- defaultLocaleCurry(contentType),
64
- multiLocaleToLookupCurry(contentType)
65
- )(params);
66
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
67
- return documents.delete(uid, existingDoc.documentId, queryParams);
68
- }
69
- async function publish(params = {}) {
70
- const queryParams = await pipeAsync(
71
- defaultLocaleCurry(contentType),
72
- multiLocaleToLookupCurry(contentType)
73
- )(params);
74
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
75
- return documents.publish(uid, existingDoc.documentId, queryParams);
76
- }
77
- async function unpublish(params = {}) {
78
- const queryParams = await pipeAsync(
79
- defaultLocaleCurry(contentType),
80
- multiLocaleToLookupCurry(contentType)
81
- )(params);
82
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
83
- return documents.unpublish(uid, existingDoc.documentId, queryParams);
84
- }
85
- async function discardDraft(params = {}) {
86
- const queryParams = await pipeAsync(
87
- defaultLocaleCurry(contentType),
88
- multiLocaleToLookupCurry(contentType)
89
- )(params);
90
- const existingDoc = await strapi.db.query(contentType.uid).findOne();
91
- return documents.discardDraft(uid, existingDoc.documentId, queryParams);
92
- }
93
- return {
94
- find: wrapInTransaction(find),
95
- delete: wrapInTransaction(deleteFn),
96
- update: wrapInTransaction(update),
97
- publish: wrapInTransaction(publish),
98
- unpublish: wrapInTransaction(unpublish),
99
- discardDraft: wrapInTransaction(discardDraft)
100
- };
101
- };
102
- export {
103
- createSingleTypeRepository
104
- };
105
- //# sourceMappingURL=single-type.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"single-type.mjs","sources":["../../../src/services/document-service/single-type.ts"],"sourcesContent":["import { omit } from 'lodash/fp';\n\nimport type { Documents, Schema } from '@strapi/types';\nimport { pipeAsync } from '@strapi/utils';\n\nimport { wrapInTransaction, type RepositoryFactoryMethod } from './common';\nimport createDocumentEngine from './document-engine';\nimport * as DP from './draft-and-publish';\nimport * as i18n from './internationalization';\n\nexport const createSingleTypeRepository: RepositoryFactoryMethod<Schema.SingleType> = (\n contentType\n): Documents.ServiceInstance<Schema.SingleType> => {\n const { uid } = contentType;\n\n // TODO: move the code back into here instead of using the document-engine\n const documents = createDocumentEngine({ strapi, db: strapi?.db });\n\n async function find(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.defaultToDraft,\n DP.statusToLookup,\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType)\n )(params);\n\n return documents.findFirst(uid, queryParams);\n }\n\n async function update(params = {} as any) {\n const queryParams = await pipeAsync(\n DP.setStatusToDraft,\n DP.statusToLookup,\n DP.statusToData,\n DP.filterDataPublishedAt,\n // Default locale will be set if not provided\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n let doc: Documents.AnyDocument | null;\n\n if (!existingDoc) {\n doc = await documents.create(uid, queryParams);\n } else {\n doc = await documents.update(uid, existingDoc.documentId, queryParams);\n\n if (!doc) {\n doc = await documents.create(uid, {\n ...queryParams,\n data: { ...queryParams.data, documentId: existingDoc.documentId },\n });\n }\n }\n\n if (params.status === 'published') {\n // @ts-expect-error invalid ID type\n await documents.delete(uid, doc.id, {\n ...queryParams,\n status: 'published',\n lookup: { ...params?.lookup, publishedAt: { $notNull: true } },\n });\n\n return documents.create(uid, {\n ...queryParams,\n data: {\n ...queryParams.data,\n documentId: doc.id,\n publishedAt: params?.data?.publishedAt ?? new Date(),\n },\n });\n }\n\n return doc;\n }\n\n async function deleteFn(params = {} as any) {\n // always delete both draft & published\n const queryParams = await pipeAsync(\n omit('status'),\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.delete(uid, existingDoc.documentId, queryParams);\n }\n\n async function publish(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.publish(uid, existingDoc.documentId, queryParams);\n }\n\n async function unpublish(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.unpublish(uid, existingDoc.documentId, queryParams);\n }\n\n async function discardDraft(params = {} as any) {\n const queryParams = await pipeAsync(\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const existingDoc = await strapi.db.query(contentType.uid).findOne();\n return documents.discardDraft(uid, existingDoc.documentId, queryParams);\n }\n\n return {\n find: wrapInTransaction(find),\n delete: wrapInTransaction(deleteFn),\n update: wrapInTransaction(update),\n publish: wrapInTransaction(publish),\n unpublish: wrapInTransaction(unpublish),\n discardDraft: wrapInTransaction(discardDraft),\n };\n};\n"],"names":["DP.defaultToDraft","DP.statusToLookup","i18n.defaultLocale","i18n.localeToLookup","DP.setStatusToDraft","DP.statusToData","DP.filterDataPublishedAt","i18n.localeToData","i18n.multiLocaleToLookup"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const fields = require("./fields.js");
5
- const utils = require("./utils.js");
6
- const logicalOperatorIdReplacement = (filter) => {
7
- return Object.keys(filter).forEach((key) => {
8
- if (key.startsWith("$")) {
9
- if (Array.isArray(filter[key])) {
10
- filter[key].forEach((item) => {
11
- if (typeof item === "object") {
12
- logicalOperatorIdReplacement(item);
13
- }
14
- });
15
- } else if (typeof filter[key] === "object") {
16
- logicalOperatorIdReplacement(filter[key]);
17
- }
18
- } else if (key === "id") {
19
- utils.switchDocumentIdForId(filter);
20
- }
21
- });
22
- };
23
- const transformFilters = async (data, opts) => {
24
- utils.switchDocumentIdForId(data);
25
- logicalOperatorIdReplacement(data);
26
- return strapiUtils.traverse.traverseQueryFilters(
27
- async ({ attribute, key, value }, { set }) => {
28
- if (!attribute || !value) {
29
- return;
30
- }
31
- if (attribute.type === "relation") {
32
- (Array.isArray(value) ? value : [value]).forEach((item) => {
33
- if (typeof item === "object") {
34
- logicalOperatorIdReplacement(item);
35
- }
36
- });
37
- set(key, value);
38
- } else if (key === "filters") {
39
- set(key, await transformFilters(value, opts));
40
- } else if (key === "fields") {
41
- set(key, fields.transformFields(value));
42
- }
43
- },
44
- { schema: strapi.getModel(opts.uid) },
45
- data
46
- );
47
- };
48
- exports.transformFilters = transformFilters;
49
- //# sourceMappingURL=filters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.js","sources":["../../../../src/services/document-service/transform/filters.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport { transformFields } from './fields';\n\nimport { type Data, type Options } from './types';\nimport { switchDocumentIdForId } from './utils';\n\nconst logicalOperatorIdReplacement = (filter: Data) => {\n return Object.keys(filter).forEach((key) => {\n // If the key is a logical operator ($and, $or, $nor)\n // recursively call this function on the value of the key\n // To find any nested ids that need to be replaced\n if (key.startsWith('$')) {\n if (Array.isArray(filter[key])) {\n filter[key].forEach((item: Data) => {\n if (typeof item === 'object') {\n logicalOperatorIdReplacement(item);\n }\n });\n } else if (typeof filter[key] === 'object') {\n logicalOperatorIdReplacement(filter[key]);\n }\n } else if (key === 'id') {\n // If the key is 'id', replace it with 'documentId'\n switchDocumentIdForId(filter);\n }\n });\n};\n\nexport const transformFilters = async (data: Data, opts: Options) => {\n // Before doing the filters traversal change any top level 'id' properties to 'documentId'\n switchDocumentIdForId(data);\n logicalOperatorIdReplacement(data);\n\n return traverse.traverseQueryFilters(\n async ({ attribute, key, value }, { set }) => {\n if (!attribute || !value) {\n return;\n }\n\n if (attribute.type === 'relation') {\n /*\n If the attribute is a relation\n and the value is an object\n and the object contains an id field\n then we replace the value with the documentId\n \n If the value is an array of objects\n we apply the same logic to each object in the array\n */\n (Array.isArray(value) ? value : [value]).forEach((item) => {\n if (typeof item === 'object') {\n logicalOperatorIdReplacement(item as Data);\n }\n });\n\n set(key, value);\n } else if (key === 'filters') {\n set(key, await transformFilters(value as any, opts));\n } else if (key === 'fields') {\n set(key, transformFields(value as any) as any);\n }\n },\n { schema: strapi.getModel(opts.uid) },\n data\n );\n};\n"],"names":["switchDocumentIdForId","traverse","transformFields"],"mappings":";;;;;AAMA,MAAM,+BAA+B,CAAC,WAAiB;AACrD,SAAO,OAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,QAAQ;AAItC,QAAA,IAAI,WAAW,GAAG,GAAG;AACvB,UAAI,MAAM,QAAQ,OAAO,GAAG,CAAC,GAAG;AAC9B,eAAO,GAAG,EAAE,QAAQ,CAAC,SAAe;AAC9B,cAAA,OAAO,SAAS,UAAU;AAC5B,yCAA6B,IAAI;AAAA,UACnC;AAAA,QAAA,CACD;AAAA,MACQ,WAAA,OAAO,OAAO,GAAG,MAAM,UAAU;AACb,qCAAA,OAAO,GAAG,CAAC;AAAA,MAC1C;AAAA,IAAA,WACS,QAAQ,MAAM;AAEvBA,YAAA,sBAAsB,MAAM;AAAA,IAC9B;AAAA,EAAA,CACD;AACH;AAEa,MAAA,mBAAmB,OAAO,MAAY,SAAkB;AAEnEA,QAAA,sBAAsB,IAAI;AAC1B,+BAA6B,IAAI;AAEjC,SAAOC,YAAS,SAAA;AAAA,IACd,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,UAAU;AACxC,UAAA,CAAC,aAAa,CAAC,OAAO;AACxB;AAAA,MACF;AAEI,UAAA,UAAU,SAAS,YAAY;AAUhC,SAAA,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS;AACrD,cAAA,OAAO,SAAS,UAAU;AAC5B,yCAA6B,IAAY;AAAA,UAC3C;AAAA,QAAA,CACD;AAED,YAAI,KAAK,KAAK;AAAA,MAAA,WACL,QAAQ,WAAW;AAC5B,YAAI,KAAK,MAAM,iBAAiB,OAAc,IAAI,CAAC;AAAA,MAAA,WAC1C,QAAQ,UAAU;AACvB,YAAA,KAAKC,uBAAgB,KAAY,CAAQ;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,KAAK,GAAG,EAAE;AAAA,IACpC;AAAA,EAAA;AAEJ;;"}
@@ -1,49 +0,0 @@
1
- import { traverse } from "@strapi/utils";
2
- import { transformFields } from "./fields.mjs";
3
- import { switchDocumentIdForId } from "./utils.mjs";
4
- const logicalOperatorIdReplacement = (filter) => {
5
- return Object.keys(filter).forEach((key) => {
6
- if (key.startsWith("$")) {
7
- if (Array.isArray(filter[key])) {
8
- filter[key].forEach((item) => {
9
- if (typeof item === "object") {
10
- logicalOperatorIdReplacement(item);
11
- }
12
- });
13
- } else if (typeof filter[key] === "object") {
14
- logicalOperatorIdReplacement(filter[key]);
15
- }
16
- } else if (key === "id") {
17
- switchDocumentIdForId(filter);
18
- }
19
- });
20
- };
21
- const transformFilters = async (data, opts) => {
22
- switchDocumentIdForId(data);
23
- logicalOperatorIdReplacement(data);
24
- return traverse.traverseQueryFilters(
25
- async ({ attribute, key, value }, { set }) => {
26
- if (!attribute || !value) {
27
- return;
28
- }
29
- if (attribute.type === "relation") {
30
- (Array.isArray(value) ? value : [value]).forEach((item) => {
31
- if (typeof item === "object") {
32
- logicalOperatorIdReplacement(item);
33
- }
34
- });
35
- set(key, value);
36
- } else if (key === "filters") {
37
- set(key, await transformFilters(value, opts));
38
- } else if (key === "fields") {
39
- set(key, transformFields(value));
40
- }
41
- },
42
- { schema: strapi.getModel(opts.uid) },
43
- data
44
- );
45
- };
46
- export {
47
- transformFilters
48
- };
49
- //# sourceMappingURL=filters.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.mjs","sources":["../../../../src/services/document-service/transform/filters.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport { transformFields } from './fields';\n\nimport { type Data, type Options } from './types';\nimport { switchDocumentIdForId } from './utils';\n\nconst logicalOperatorIdReplacement = (filter: Data) => {\n return Object.keys(filter).forEach((key) => {\n // If the key is a logical operator ($and, $or, $nor)\n // recursively call this function on the value of the key\n // To find any nested ids that need to be replaced\n if (key.startsWith('$')) {\n if (Array.isArray(filter[key])) {\n filter[key].forEach((item: Data) => {\n if (typeof item === 'object') {\n logicalOperatorIdReplacement(item);\n }\n });\n } else if (typeof filter[key] === 'object') {\n logicalOperatorIdReplacement(filter[key]);\n }\n } else if (key === 'id') {\n // If the key is 'id', replace it with 'documentId'\n switchDocumentIdForId(filter);\n }\n });\n};\n\nexport const transformFilters = async (data: Data, opts: Options) => {\n // Before doing the filters traversal change any top level 'id' properties to 'documentId'\n switchDocumentIdForId(data);\n logicalOperatorIdReplacement(data);\n\n return traverse.traverseQueryFilters(\n async ({ attribute, key, value }, { set }) => {\n if (!attribute || !value) {\n return;\n }\n\n if (attribute.type === 'relation') {\n /*\n If the attribute is a relation\n and the value is an object\n and the object contains an id field\n then we replace the value with the documentId\n \n If the value is an array of objects\n we apply the same logic to each object in the array\n */\n (Array.isArray(value) ? value : [value]).forEach((item) => {\n if (typeof item === 'object') {\n logicalOperatorIdReplacement(item as Data);\n }\n });\n\n set(key, value);\n } else if (key === 'filters') {\n set(key, await transformFilters(value as any, opts));\n } else if (key === 'fields') {\n set(key, transformFields(value as any) as any);\n }\n },\n { schema: strapi.getModel(opts.uid) },\n data\n );\n};\n"],"names":[],"mappings":";;;AAMA,MAAM,+BAA+B,CAAC,WAAiB;AACrD,SAAO,OAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,QAAQ;AAItC,QAAA,IAAI,WAAW,GAAG,GAAG;AACvB,UAAI,MAAM,QAAQ,OAAO,GAAG,CAAC,GAAG;AAC9B,eAAO,GAAG,EAAE,QAAQ,CAAC,SAAe;AAC9B,cAAA,OAAO,SAAS,UAAU;AAC5B,yCAA6B,IAAI;AAAA,UACnC;AAAA,QAAA,CACD;AAAA,MACQ,WAAA,OAAO,OAAO,GAAG,MAAM,UAAU;AACb,qCAAA,OAAO,GAAG,CAAC;AAAA,MAC1C;AAAA,IAAA,WACS,QAAQ,MAAM;AAEvB,4BAAsB,MAAM;AAAA,IAC9B;AAAA,EAAA,CACD;AACH;AAEa,MAAA,mBAAmB,OAAO,MAAY,SAAkB;AAEnE,wBAAsB,IAAI;AAC1B,+BAA6B,IAAI;AAEjC,SAAO,SAAS;AAAA,IACd,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,UAAU;AACxC,UAAA,CAAC,aAAa,CAAC,OAAO;AACxB;AAAA,MACF;AAEI,UAAA,UAAU,SAAS,YAAY;AAUhC,SAAA,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS;AACrD,cAAA,OAAO,SAAS,UAAU;AAC5B,yCAA6B,IAAY;AAAA,UAC3C;AAAA,QAAA,CACD;AAED,YAAI,KAAK,KAAK;AAAA,MAAA,WACL,QAAQ,WAAW;AAC5B,YAAI,KAAK,MAAM,iBAAiB,OAAc,IAAI,CAAC;AAAA,MAAA,WAC1C,QAAQ,UAAU;AACvB,YAAA,KAAK,gBAAgB,KAAY,CAAQ;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,KAAK,GAAG,EAAE;AAAA,IACpC;AAAA,EAAA;AAEJ;"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const _ = require("lodash/fp");
5
- const utils = require("../../utils.js");
6
- const transformOutputIds = async (uid, output) => {
7
- return strapiUtils.traverseEntity(
8
- ({ key, value, attribute }, { set }) => {
9
- if (attribute.type === "relation") {
10
- if (Array.isArray(value)) {
11
- set(key, value.map(utils.switchIdForDocumentId));
12
- return;
13
- }
14
- if (!_.isObject(value))
15
- return;
16
- if ("id" in value && "documentId" in value) {
17
- set(key, utils.switchIdForDocumentId(value));
18
- }
19
- }
20
- },
21
- { schema: strapi.getModel(uid) },
22
- output
23
- );
24
- };
25
- exports.transformOutputIds = transformOutputIds;
26
- //# sourceMappingURL=output-ids.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-ids.js","sources":["../../../../../../src/services/document-service/transform/relations/transform/output-ids.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { traverseEntity } from '@strapi/utils';\nimport { isObject } from 'lodash/fp';\nimport { switchIdForDocumentId } from '../../utils';\n\nconst transformOutputIds = async (uid: Common.UID.Schema, output: Record<string, any>) => {\n return traverseEntity(\n ({ key, value, attribute }, { set }) => {\n // Find relational attributes, and return the document ids\n if (attribute.type === 'relation') {\n // XToMany relations\n if (Array.isArray(value)) {\n // @ts-expect-error - TODO: Fix type\n set(key, value.map(switchIdForDocumentId));\n return;\n }\n\n if (!isObject(value)) return;\n // XToOne relations\n // If document id is in the response, switch it to be the id\n if ('id' in value && 'documentId' in value) {\n set(key, switchIdForDocumentId(value));\n }\n }\n },\n { schema: strapi.getModel(uid) },\n output\n );\n};\n\nexport { transformOutputIds };\n"],"names":["traverseEntity","switchIdForDocumentId","isObject"],"mappings":";;;;;AAKM,MAAA,qBAAqB,OAAO,KAAwB,WAAgC;AACjF,SAAAA,YAAA;AAAA,IACL,CAAC,EAAE,KAAK,OAAO,aAAa,EAAE,UAAU;AAElC,UAAA,UAAU,SAAS,YAAY;AAE7B,YAAA,MAAM,QAAQ,KAAK,GAAG;AAExB,cAAI,KAAK,MAAM,IAAIC,MAAAA,qBAAqB,CAAC;AACzC;AAAA,QACF;AAEI,YAAA,CAACC,WAAS,KAAK;AAAG;AAGlB,YAAA,QAAQ,SAAS,gBAAgB,OAAO;AACtC,cAAA,KAAKD,4BAAsB,KAAK,CAAC;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,GAAG,EAAE;AAAA,IAC/B;AAAA,EAAA;AAEJ;;"}
@@ -1,26 +0,0 @@
1
- import { traverseEntity } from "@strapi/utils";
2
- import { isObject } from "lodash/fp";
3
- import { switchIdForDocumentId } from "../../utils.mjs";
4
- const transformOutputIds = async (uid, output) => {
5
- return traverseEntity(
6
- ({ key, value, attribute }, { set }) => {
7
- if (attribute.type === "relation") {
8
- if (Array.isArray(value)) {
9
- set(key, value.map(switchIdForDocumentId));
10
- return;
11
- }
12
- if (!isObject(value))
13
- return;
14
- if ("id" in value && "documentId" in value) {
15
- set(key, switchIdForDocumentId(value));
16
- }
17
- }
18
- },
19
- { schema: strapi.getModel(uid) },
20
- output
21
- );
22
- };
23
- export {
24
- transformOutputIds
25
- };
26
- //# sourceMappingURL=output-ids.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-ids.mjs","sources":["../../../../../../src/services/document-service/transform/relations/transform/output-ids.ts"],"sourcesContent":["import { Common } from '@strapi/types';\nimport { traverseEntity } from '@strapi/utils';\nimport { isObject } from 'lodash/fp';\nimport { switchIdForDocumentId } from '../../utils';\n\nconst transformOutputIds = async (uid: Common.UID.Schema, output: Record<string, any>) => {\n return traverseEntity(\n ({ key, value, attribute }, { set }) => {\n // Find relational attributes, and return the document ids\n if (attribute.type === 'relation') {\n // XToMany relations\n if (Array.isArray(value)) {\n // @ts-expect-error - TODO: Fix type\n set(key, value.map(switchIdForDocumentId));\n return;\n }\n\n if (!isObject(value)) return;\n // XToOne relations\n // If document id is in the response, switch it to be the id\n if ('id' in value && 'documentId' in value) {\n set(key, switchIdForDocumentId(value));\n }\n }\n },\n { schema: strapi.getModel(uid) },\n output\n );\n};\n\nexport { transformOutputIds };\n"],"names":[],"mappings":";;;AAKM,MAAA,qBAAqB,OAAO,KAAwB,WAAgC;AACjF,SAAA;AAAA,IACL,CAAC,EAAE,KAAK,OAAO,aAAa,EAAE,UAAU;AAElC,UAAA,UAAU,SAAS,YAAY;AAE7B,YAAA,MAAM,QAAQ,KAAK,GAAG;AAExB,cAAI,KAAK,MAAM,IAAI,qBAAqB,CAAC;AACzC;AAAA,QACF;AAEI,YAAA,CAAC,SAAS,KAAK;AAAG;AAGlB,YAAA,QAAQ,SAAS,gBAAgB,OAAO;AACtC,cAAA,KAAK,sBAAsB,KAAK,CAAC;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,GAAG,EAAE;AAAA,IAC/B;AAAA,EAAA;AAEJ;"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
4
- const utils = require("./utils.js");
5
- const rootIdReplacement = (sort) => {
6
- if (typeof sort === "object") {
7
- return utils.switchDocumentIdForId(sort);
8
- }
9
- if (typeof sort === "string") {
10
- let sortCopy = sort;
11
- let suffix = "";
12
- const match = sort.match(/:(\w+)$/);
13
- if (match) {
14
- suffix = match[0];
15
- sortCopy = sort.replace(suffix, "");
16
- }
17
- if (sortCopy === "id") {
18
- sortCopy = "documentId";
19
- } else {
20
- sortCopy = sortCopy.split(",").map((value) => value === "id" ? "documentId" : value).join(",");
21
- }
22
- return sortCopy + suffix;
23
- }
24
- return sort;
25
- };
26
- const transformSort = async (sort, opts) => {
27
- let mappedSort;
28
- if (Array.isArray(sort)) {
29
- mappedSort = sort.map(rootIdReplacement);
30
- } else {
31
- mappedSort = rootIdReplacement(sort);
32
- }
33
- return strapiUtils.traverse.traverseQuerySort(
34
- ({ attribute, value, key }, { set }) => {
35
- if (attribute?.type === "relation") {
36
- set(key, rootIdReplacement(value));
37
- }
38
- },
39
- { schema: strapi.getModel(opts.uid) },
40
- mappedSort
41
- );
42
- };
43
- exports.transformSort = transformSort;
44
- //# sourceMappingURL=sort.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort.js","sources":["../../../../src/services/document-service/transform/sort.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport { Options, Data } from './types';\nimport { switchDocumentIdForId } from './utils';\n\ntype Sort = Data | string;\n\nconst rootIdReplacement = (sort: Sort) => {\n if (typeof sort === 'object') {\n return switchDocumentIdForId(sort);\n }\n\n if (typeof sort === 'string') {\n let sortCopy = sort;\n let suffix = '';\n const match = sort.match(/:(\\w+)$/);\n if (match) {\n suffix = match[0];\n\n // TODO is there a regex to match :ASC or :DESC?\n sortCopy = sort.replace(suffix, '');\n }\n\n if (sortCopy === 'id') {\n sortCopy = 'documentId';\n } else {\n sortCopy = sortCopy\n .split(',')\n .map((value: any) => (value === 'id' ? 'documentId' : value))\n .join(',');\n }\n\n return sortCopy + suffix;\n }\n\n return sort;\n};\n\nexport const transformSort = async (sort: Sort | Sort[], opts: Options) => {\n let mappedSort;\n\n // Replace any top level 'id' properties with 'documentId'\n if (Array.isArray(sort)) {\n mappedSort = sort.map(rootIdReplacement);\n } else {\n mappedSort = rootIdReplacement(sort);\n }\n\n return traverse.traverseQuerySort(\n ({ attribute, value, key }, { set }) => {\n if (attribute?.type === 'relation') {\n // Replace any relation 'id' properties with 'documentId'\n set(key, rootIdReplacement(value as any));\n }\n },\n { schema: strapi.getModel(opts.uid) },\n mappedSort\n );\n};\n"],"names":["switchDocumentIdForId","traverse"],"mappings":";;;;AAMA,MAAM,oBAAoB,CAAC,SAAe;AACpC,MAAA,OAAO,SAAS,UAAU;AAC5B,WAAOA,MAAAA,sBAAsB,IAAI;AAAA,EACnC;AAEI,MAAA,OAAO,SAAS,UAAU;AAC5B,QAAI,WAAW;AACf,QAAI,SAAS;AACP,UAAA,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,OAAO;AACT,eAAS,MAAM,CAAC;AAGL,iBAAA,KAAK,QAAQ,QAAQ,EAAE;AAAA,IACpC;AAEA,QAAI,aAAa,MAAM;AACV,iBAAA;AAAA,IAAA,OACN;AACL,iBAAW,SACR,MAAM,GAAG,EACT,IAAI,CAAC,UAAgB,UAAU,OAAO,eAAe,KAAM,EAC3D,KAAK,GAAG;AAAA,IACb;AAEA,WAAO,WAAW;AAAA,EACpB;AAEO,SAAA;AACT;AAEa,MAAA,gBAAgB,OAAO,MAAqB,SAAkB;AACrE,MAAA;AAGA,MAAA,MAAM,QAAQ,IAAI,GAAG;AACV,iBAAA,KAAK,IAAI,iBAAiB;AAAA,EAAA,OAClC;AACL,iBAAa,kBAAkB,IAAI;AAAA,EACrC;AAEA,SAAOC,YAAS,SAAA;AAAA,IACd,CAAC,EAAE,WAAW,OAAO,OAAO,EAAE,UAAU;AAClC,UAAA,WAAW,SAAS,YAAY;AAE9B,YAAA,KAAK,kBAAkB,KAAY,CAAC;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,KAAK,GAAG,EAAE;AAAA,IACpC;AAAA,EAAA;AAEJ;;"}
@@ -1,44 +0,0 @@
1
- import { traverse } from "@strapi/utils";
2
- import { switchDocumentIdForId } from "./utils.mjs";
3
- const rootIdReplacement = (sort) => {
4
- if (typeof sort === "object") {
5
- return switchDocumentIdForId(sort);
6
- }
7
- if (typeof sort === "string") {
8
- let sortCopy = sort;
9
- let suffix = "";
10
- const match = sort.match(/:(\w+)$/);
11
- if (match) {
12
- suffix = match[0];
13
- sortCopy = sort.replace(suffix, "");
14
- }
15
- if (sortCopy === "id") {
16
- sortCopy = "documentId";
17
- } else {
18
- sortCopy = sortCopy.split(",").map((value) => value === "id" ? "documentId" : value).join(",");
19
- }
20
- return sortCopy + suffix;
21
- }
22
- return sort;
23
- };
24
- const transformSort = async (sort, opts) => {
25
- let mappedSort;
26
- if (Array.isArray(sort)) {
27
- mappedSort = sort.map(rootIdReplacement);
28
- } else {
29
- mappedSort = rootIdReplacement(sort);
30
- }
31
- return traverse.traverseQuerySort(
32
- ({ attribute, value, key }, { set }) => {
33
- if (attribute?.type === "relation") {
34
- set(key, rootIdReplacement(value));
35
- }
36
- },
37
- { schema: strapi.getModel(opts.uid) },
38
- mappedSort
39
- );
40
- };
41
- export {
42
- transformSort
43
- };
44
- //# sourceMappingURL=sort.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort.mjs","sources":["../../../../src/services/document-service/transform/sort.ts"],"sourcesContent":["import { traverse } from '@strapi/utils';\nimport { Options, Data } from './types';\nimport { switchDocumentIdForId } from './utils';\n\ntype Sort = Data | string;\n\nconst rootIdReplacement = (sort: Sort) => {\n if (typeof sort === 'object') {\n return switchDocumentIdForId(sort);\n }\n\n if (typeof sort === 'string') {\n let sortCopy = sort;\n let suffix = '';\n const match = sort.match(/:(\\w+)$/);\n if (match) {\n suffix = match[0];\n\n // TODO is there a regex to match :ASC or :DESC?\n sortCopy = sort.replace(suffix, '');\n }\n\n if (sortCopy === 'id') {\n sortCopy = 'documentId';\n } else {\n sortCopy = sortCopy\n .split(',')\n .map((value: any) => (value === 'id' ? 'documentId' : value))\n .join(',');\n }\n\n return sortCopy + suffix;\n }\n\n return sort;\n};\n\nexport const transformSort = async (sort: Sort | Sort[], opts: Options) => {\n let mappedSort;\n\n // Replace any top level 'id' properties with 'documentId'\n if (Array.isArray(sort)) {\n mappedSort = sort.map(rootIdReplacement);\n } else {\n mappedSort = rootIdReplacement(sort);\n }\n\n return traverse.traverseQuerySort(\n ({ attribute, value, key }, { set }) => {\n if (attribute?.type === 'relation') {\n // Replace any relation 'id' properties with 'documentId'\n set(key, rootIdReplacement(value as any));\n }\n },\n { schema: strapi.getModel(opts.uid) },\n mappedSort\n );\n};\n"],"names":[],"mappings":";;AAMA,MAAM,oBAAoB,CAAC,SAAe;AACpC,MAAA,OAAO,SAAS,UAAU;AAC5B,WAAO,sBAAsB,IAAI;AAAA,EACnC;AAEI,MAAA,OAAO,SAAS,UAAU;AAC5B,QAAI,WAAW;AACf,QAAI,SAAS;AACP,UAAA,QAAQ,KAAK,MAAM,SAAS;AAClC,QAAI,OAAO;AACT,eAAS,MAAM,CAAC;AAGL,iBAAA,KAAK,QAAQ,QAAQ,EAAE;AAAA,IACpC;AAEA,QAAI,aAAa,MAAM;AACV,iBAAA;AAAA,IAAA,OACN;AACL,iBAAW,SACR,MAAM,GAAG,EACT,IAAI,CAAC,UAAgB,UAAU,OAAO,eAAe,KAAM,EAC3D,KAAK,GAAG;AAAA,IACb;AAEA,WAAO,WAAW;AAAA,EACpB;AAEO,SAAA;AACT;AAEa,MAAA,gBAAgB,OAAO,MAAqB,SAAkB;AACrE,MAAA;AAGA,MAAA,MAAM,QAAQ,IAAI,GAAG;AACV,iBAAA,KAAK,IAAI,iBAAiB;AAAA,EAAA,OAClC;AACL,iBAAa,kBAAkB,IAAI;AAAA,EACrC;AAEA,SAAO,SAAS;AAAA,IACd,CAAC,EAAE,WAAW,OAAO,OAAO,EAAE,UAAU;AAClC,UAAA,WAAW,SAAS,YAAY;AAE9B,YAAA,KAAK,kBAAkB,KAAY,CAAC;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,EAAE,QAAQ,OAAO,SAAS,KAAK,GAAG,EAAE;AAAA,IACpC;AAAA,EAAA;AAEJ;"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const switchIdForDocumentId = (output) => {
4
- const documentId = output?.documentId;
5
- if (documentId === void 0) {
6
- return output;
7
- }
8
- delete output.documentId;
9
- output.id = documentId;
10
- return output;
11
- };
12
- const switchDocumentIdForId = (output) => {
13
- const id = output?.id;
14
- if (id === void 0) {
15
- return output;
16
- }
17
- delete output.id;
18
- output.documentId = id;
19
- return output;
20
- };
21
- exports.switchDocumentIdForId = switchDocumentIdForId;
22
- exports.switchIdForDocumentId = switchIdForDocumentId;
23
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/services/document-service/transform/utils.ts"],"sourcesContent":["/**\n * Replace the documentId field with id\n */\nexport const switchIdForDocumentId = (output: Record<string, any>) => {\n // Mutating for performance reasons\n const documentId = output?.documentId;\n if (documentId === undefined) {\n return output;\n }\n\n delete output.documentId;\n output.id = documentId;\n return output;\n};\n\n/**\n * Replace the id field for documentId\n */\nexport const switchDocumentIdForId = (output: Record<string, any>) => {\n // Mutating for performance reasons\n const id = output?.id;\n if (id === undefined) {\n return output;\n }\n\n delete output.id;\n output.documentId = id;\n return output;\n};\n"],"names":[],"mappings":";;AAGa,MAAA,wBAAwB,CAAC,WAAgC;AAEpE,QAAM,aAAa,QAAQ;AAC3B,MAAI,eAAe,QAAW;AACrB,WAAA;AAAA,EACT;AAEA,SAAO,OAAO;AACd,SAAO,KAAK;AACL,SAAA;AACT;AAKa,MAAA,wBAAwB,CAAC,WAAgC;AAEpE,QAAM,KAAK,QAAQ;AACnB,MAAI,OAAO,QAAW;AACb,WAAA;AAAA,EACT;AAEA,SAAO,OAAO;AACd,SAAO,aAAa;AACb,SAAA;AACT;;;"}
@@ -1,23 +0,0 @@
1
- const switchIdForDocumentId = (output) => {
2
- const documentId = output?.documentId;
3
- if (documentId === void 0) {
4
- return output;
5
- }
6
- delete output.documentId;
7
- output.id = documentId;
8
- return output;
9
- };
10
- const switchDocumentIdForId = (output) => {
11
- const id = output?.id;
12
- if (id === void 0) {
13
- return output;
14
- }
15
- delete output.id;
16
- output.documentId = id;
17
- return output;
18
- };
19
- export {
20
- switchDocumentIdForId,
21
- switchIdForDocumentId
22
- };
23
- //# sourceMappingURL=utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","sources":["../../../../src/services/document-service/transform/utils.ts"],"sourcesContent":["/**\n * Replace the documentId field with id\n */\nexport const switchIdForDocumentId = (output: Record<string, any>) => {\n // Mutating for performance reasons\n const documentId = output?.documentId;\n if (documentId === undefined) {\n return output;\n }\n\n delete output.documentId;\n output.id = documentId;\n return output;\n};\n\n/**\n * Replace the id field for documentId\n */\nexport const switchDocumentIdForId = (output: Record<string, any>) => {\n // Mutating for performance reasons\n const id = output?.id;\n if (id === undefined) {\n return output;\n }\n\n delete output.id;\n output.documentId = id;\n return output;\n};\n"],"names":[],"mappings":"AAGa,MAAA,wBAAwB,CAAC,WAAgC;AAEpE,QAAM,aAAa,QAAQ;AAC3B,MAAI,eAAe,QAAW;AACrB,WAAA;AAAA,EACT;AAEA,SAAO,OAAO;AACd,SAAO,KAAK;AACL,SAAA;AACT;AAKa,MAAA,wBAAwB,CAAC,WAAgC;AAEpE,QAAM,KAAK,QAAQ;AACnB,MAAI,OAAO,QAAW;AACb,WAAA;AAAA,EACT;AAEA,SAAO,OAAO;AACd,SAAO,aAAa;AACb,SAAA;AACT;"}
@@ -1,8 +0,0 @@
1
- import type { Common } from '@strapi/types';
2
- export type UploadFile = (uid: Common.UID.Schema, entity: Record<string, unknown>, files: Record<string, unknown>) => Promise<void>;
3
- /**
4
- * Upload files and link them to an entity
5
- */
6
- declare const uploadFile: UploadFile;
7
- export default uploadFile;
8
- //# sourceMappingURL=upload-files.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.d.ts","sourceRoot":"","sources":["../../../src/services/utils/upload-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,MAAM,EAAU,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;GAEG;AACH,QAAA,MAAM,UAAU,EAAE,UA0EjB,CAAC;AAEF,eAAe,UAAU,CAAC"}