@strapi/core 0.0.0-experimental.a407f3bc8fb79a53cf7975140864526b6ddbac4b → 0.0.0-experimental.e3e48deb89bd0a1b6cc69b698696566fa7854a95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) 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/index.d.ts.map +1 -1
  19. package/dist/core-api/controller/index.js +6 -1
  20. package/dist/core-api/controller/index.js.map +1 -1
  21. package/dist/core-api/controller/index.mjs +6 -1
  22. package/dist/core-api/controller/index.mjs.map +1 -1
  23. package/dist/core-api/controller/transform.d.ts +8 -7
  24. package/dist/core-api/controller/transform.d.ts.map +1 -1
  25. package/dist/core-api/controller/transform.js +18 -9
  26. package/dist/core-api/controller/transform.js.map +1 -1
  27. package/dist/core-api/controller/transform.mjs +18 -9
  28. package/dist/core-api/controller/transform.mjs.map +1 -1
  29. package/dist/core-api/service/single-type.d.ts +1 -1
  30. package/dist/core-api/service/single-type.d.ts.map +1 -1
  31. package/dist/core-api/service/single-type.js +3 -4
  32. package/dist/core-api/service/single-type.js.map +1 -1
  33. package/dist/core-api/service/single-type.mjs +3 -4
  34. package/dist/core-api/service/single-type.mjs.map +1 -1
  35. package/dist/domain/content-type/index.d.ts.map +1 -1
  36. package/dist/domain/content-type/index.js +3 -0
  37. package/dist/domain/content-type/index.js.map +1 -1
  38. package/dist/domain/content-type/index.mjs +3 -0
  39. package/dist/domain/content-type/index.mjs.map +1 -1
  40. package/dist/domain/content-type/validator.d.ts.map +1 -1
  41. package/dist/domain/content-type/validator.js +1 -1
  42. package/dist/domain/content-type/validator.js.map +1 -1
  43. package/dist/domain/content-type/validator.mjs +2 -2
  44. package/dist/domain/content-type/validator.mjs.map +1 -1
  45. package/dist/domain/module/index.d.ts.map +1 -1
  46. package/dist/domain/module/index.js +2 -3
  47. package/dist/domain/module/index.js.map +1 -1
  48. package/dist/domain/module/index.mjs +2 -3
  49. package/dist/domain/module/index.mjs.map +1 -1
  50. package/dist/ee/index.js.map +1 -1
  51. package/dist/ee/index.mjs.map +1 -1
  52. package/dist/loaders/apis.js +1 -1
  53. package/dist/loaders/apis.js.map +1 -1
  54. package/dist/loaders/apis.mjs +2 -2
  55. package/dist/loaders/apis.mjs.map +1 -1
  56. package/dist/loaders/plugins/get-enabled-plugins.js +1 -1
  57. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  58. package/dist/loaders/plugins/get-enabled-plugins.mjs +2 -2
  59. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  60. package/dist/middlewares/security.d.ts.map +1 -1
  61. package/dist/middlewares/security.js +2 -2
  62. package/dist/middlewares/security.js.map +1 -1
  63. package/dist/middlewares/security.mjs +2 -2
  64. package/dist/middlewares/security.mjs.map +1 -1
  65. package/dist/migrations/draft-publish.d.ts +17 -0
  66. package/dist/migrations/draft-publish.d.ts.map +1 -0
  67. package/dist/migrations/draft-publish.js +59 -0
  68. package/dist/migrations/draft-publish.js.map +1 -0
  69. package/dist/migrations/draft-publish.mjs +59 -0
  70. package/dist/migrations/draft-publish.mjs.map +1 -0
  71. package/dist/registries/config.d.ts +2 -2
  72. package/dist/registries/config.d.ts.map +1 -1
  73. package/dist/registries/config.js +14 -6
  74. package/dist/registries/config.js.map +1 -1
  75. package/dist/registries/config.mjs +15 -5
  76. package/dist/registries/config.mjs.map +1 -1
  77. package/dist/services/document-service/common.d.ts +2 -2
  78. package/dist/services/document-service/common.d.ts.map +1 -1
  79. package/dist/services/document-service/common.js.map +1 -1
  80. package/dist/services/document-service/common.mjs.map +1 -1
  81. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  82. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  83. package/dist/services/document-service/draft-and-publish.js +37 -9
  84. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  85. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  86. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  87. package/dist/services/document-service/index.js +5 -5
  88. package/dist/services/document-service/index.js.map +1 -1
  89. package/dist/services/document-service/index.mjs +1 -1
  90. package/dist/services/document-service/index.mjs.map +1 -1
  91. package/dist/services/document-service/repository.d.ts +3 -0
  92. package/dist/services/document-service/repository.d.ts.map +1 -0
  93. package/dist/services/document-service/repository.js +295 -0
  94. package/dist/services/document-service/repository.js.map +1 -0
  95. package/dist/services/document-service/repository.mjs +295 -0
  96. package/dist/services/document-service/repository.mjs.map +1 -0
  97. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  98. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  99. package/dist/services/document-service/transform/id-map.js +15 -9
  100. package/dist/services/document-service/transform/id-map.js.map +1 -1
  101. package/dist/services/document-service/transform/id-map.mjs +16 -10
  102. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  103. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  104. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  105. package/dist/services/document-service/transform/id-transform.js +18 -12
  106. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  107. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  108. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  109. package/dist/services/document-service/transform/populate.d.ts +5 -2
  110. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  111. package/dist/services/document-service/transform/populate.js.map +1 -1
  112. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  113. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  114. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  115. package/dist/services/document-service/transform/relations/extract/data-ids.js +23 -12
  116. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  117. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +23 -12
  118. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  119. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +1 -1
  120. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  121. package/dist/services/document-service/transform/relations/transform/data-ids.js +61 -37
  122. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  123. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +62 -38
  124. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  125. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  126. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  127. package/dist/services/document-service/transform/relations/utils/dp.js +25 -0
  128. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  129. package/dist/services/document-service/transform/relations/utils/dp.mjs +25 -0
  130. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  131. package/dist/services/document-service/transform/relations/utils/types.d.ts +4 -1
  132. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  133. package/dist/services/document-service/transform/types.d.ts +1 -1
  134. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  135. package/dist/services/document-service/utils/populate.d.ts +8 -1
  136. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  137. package/dist/services/document-service/utils/populate.js +5 -5
  138. package/dist/services/document-service/utils/populate.js.map +1 -1
  139. package/dist/services/document-service/utils/populate.mjs +5 -5
  140. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  141. package/dist/services/entity-service/components.d.ts +1 -4
  142. package/dist/services/entity-service/components.d.ts.map +1 -1
  143. package/dist/services/entity-service/components.js +13 -99
  144. package/dist/services/entity-service/components.js.map +1 -1
  145. package/dist/services/entity-service/components.mjs +14 -100
  146. package/dist/services/entity-service/components.mjs.map +1 -1
  147. package/dist/services/entity-service/index.d.ts +1 -3
  148. package/dist/services/entity-service/index.d.ts.map +1 -1
  149. package/dist/services/entity-service/index.js +34 -199
  150. package/dist/services/entity-service/index.js.map +1 -1
  151. package/dist/services/entity-service/index.mjs +27 -192
  152. package/dist/services/entity-service/index.mjs.map +1 -1
  153. package/dist/services/entity-service/params.d.ts +4 -4
  154. package/dist/services/entity-service/params.d.ts.map +1 -1
  155. package/dist/services/entity-service/params.js +1 -1
  156. package/dist/services/entity-service/params.js.map +1 -1
  157. package/dist/services/entity-service/params.mjs +1 -1
  158. package/dist/services/entity-service/params.mjs.map +1 -1
  159. package/dist/services/entity-validator/index.js +1 -1
  160. package/dist/services/entity-validator/index.js.map +1 -1
  161. package/dist/services/entity-validator/index.mjs +1 -1
  162. package/dist/services/entity-validator/index.mjs.map +1 -1
  163. package/dist/utils/is-initialized.js +1 -1
  164. package/dist/utils/is-initialized.js.map +1 -1
  165. package/dist/utils/is-initialized.mjs +1 -1
  166. package/dist/utils/is-initialized.mjs.map +1 -1
  167. package/dist/utils/load-config-file.js +1 -1
  168. package/dist/utils/load-config-file.js.map +1 -1
  169. package/dist/utils/load-config-file.mjs +2 -2
  170. package/dist/utils/load-config-file.mjs.map +1 -1
  171. package/package.json +14 -14
  172. package/dist/services/document-service/document-engine.d.ts +0 -8
  173. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  174. package/dist/services/document-service/document-engine.js +0 -241
  175. package/dist/services/document-service/document-engine.js.map +0 -1
  176. package/dist/services/document-service/document-engine.mjs +0 -242
  177. package/dist/services/document-service/document-engine.mjs.map +0 -1
  178. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  179. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  180. package/dist/services/document-service/repositories/content-type.js +0 -139
  181. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  182. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  183. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  184. package/dist/services/utils/upload-files.d.ts +0 -8
  185. package/dist/services/utils/upload-files.d.ts.map +0 -1
  186. package/dist/services/utils/upload-files.js +0 -64
  187. package/dist/services/utils/upload-files.js.map +0 -1
  188. package/dist/services/utils/upload-files.mjs +0 -63
  189. package/dist/services/utils/upload-files.mjs.map +0 -1
@@ -1,64 +0,0 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
4
- const ___default = /* @__PURE__ */ _interopDefault(_);
5
- const uploadFile = async (uid, entity, files) => {
6
- const modelDef = strapi.getModel(uid);
7
- if (!___default.default.has(strapi.plugins, "upload")) {
8
- return;
9
- }
10
- const uploadService = strapi.plugin("upload").service("upload");
11
- const findModelFromUploadPath = (path) => {
12
- if (path.length === 0) {
13
- return uid;
14
- }
15
- const currentPath = [];
16
- let tmpModel = modelDef;
17
- let modelUID = uid;
18
- for (let i = 0; i < path.length; i += 1) {
19
- if (!tmpModel) {
20
- return {};
21
- }
22
- const part = path[i];
23
- const attr = tmpModel.attributes[part];
24
- currentPath.push(part);
25
- if (___default.default.isFinite(___default.default.toNumber(path[i]))) {
26
- continue;
27
- }
28
- if (!attr)
29
- return {};
30
- if (attr.type === "component") {
31
- modelUID = attr.component;
32
- tmpModel = strapi.components[attr.component];
33
- } else if (attr.type === "dynamiczone") {
34
- const entryIdx = path[i + 1];
35
- const value = ___default.default.get(entity, [...currentPath, entryIdx]);
36
- if (!value)
37
- return {};
38
- modelUID = value.__component;
39
- tmpModel = strapi.components[modelUID];
40
- } else if (attr.type === "relation") {
41
- if (!("target" in attr)) {
42
- return {};
43
- }
44
- modelUID = attr.target;
45
- tmpModel = strapi.getModel(modelUID);
46
- } else {
47
- return;
48
- }
49
- }
50
- return modelUID;
51
- };
52
- const doUpload = async (key, files2) => {
53
- const parts = key.split(".");
54
- const [path, field] = [___default.default.initial(parts), ___default.default.last(parts)];
55
- const modelUID = findModelFromUploadPath(path);
56
- if (modelUID) {
57
- const id = ___default.default.get(entity, path.concat("id"));
58
- return uploadService.uploadToEntity({ id, model: modelUID, field }, files2);
59
- }
60
- };
61
- await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));
62
- };
63
- module.exports = uploadFile;
64
- //# sourceMappingURL=upload-files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.js","sources":["../../../src/services/utils/upload-files.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Attribute, Common, Schema } from '@strapi/types';\n\nexport type UploadFile = (\n uid: Common.UID.Schema,\n entity: Record<string, unknown>,\n files: Record<string, unknown>\n) => Promise<void>;\n\n/**\n * Upload files and link them to an entity\n */\nconst uploadFile: UploadFile = async (uid, entity, files) => {\n const modelDef = strapi.getModel(uid);\n\n if (!_.has(strapi.plugins, 'upload')) {\n return;\n }\n\n const uploadService = strapi.plugin('upload').service('upload');\n\n const findModelFromUploadPath = (path: string[]) => {\n if (path.length === 0) {\n return uid;\n }\n\n const currentPath = [];\n let tmpModel: Schema.ContentType | Schema.Component = modelDef;\n let modelUID = uid;\n\n for (let i = 0; i < path.length; i += 1) {\n if (!tmpModel) {\n return {};\n }\n\n const part = path[i];\n const attr: Attribute.Any = tmpModel.attributes[part];\n\n currentPath.push(part);\n\n // ignore array indexes => handled in the dynamic zone section\n if (_.isFinite(_.toNumber(path[i]))) {\n continue;\n }\n\n if (!attr) return {};\n\n if (attr.type === 'component') {\n modelUID = attr.component;\n tmpModel = strapi.components[attr.component];\n } else if (attr.type === 'dynamiczone') {\n const entryIdx = path[i + 1]; // get component index\n const value = _.get(entity, [...currentPath, entryIdx]);\n\n if (!value) return {};\n\n modelUID = value.__component; // get component type\n tmpModel = strapi.components[modelUID as Common.UID.Component];\n } else if (attr.type === 'relation') {\n if (!('target' in attr)) {\n return {};\n }\n\n modelUID = attr.target;\n tmpModel = strapi.getModel(modelUID);\n } else {\n return;\n }\n }\n\n return modelUID;\n };\n\n const doUpload = async (key: string, files: unknown) => {\n const parts = key.split('.');\n const [path, field] = [_.initial(parts), _.last(parts)];\n\n const modelUID = findModelFromUploadPath(path);\n\n if (modelUID) {\n const id = _.get(entity, path.concat('id'));\n return uploadService.uploadToEntity({ id, model: modelUID, field }, files);\n }\n };\n\n await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));\n};\n\nexport default uploadFile;\n"],"names":["_","files"],"mappings":";;;;AAYA,MAAM,aAAyB,OAAO,KAAK,QAAQ,UAAU;AACrD,QAAA,WAAW,OAAO,SAAS,GAAG;AAEpC,MAAI,CAACA,WAAE,QAAA,IAAI,OAAO,SAAS,QAAQ,GAAG;AACpC;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ;AAExD,QAAA,0BAA0B,CAAC,SAAmB;AAC9C,QAAA,KAAK,WAAW,GAAG;AACd,aAAA;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AACpB,QAAI,WAAkD;AACtD,QAAI,WAAW;AAEf,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAI,CAAC,UAAU;AACb,eAAO;MACT;AAEM,YAAA,OAAO,KAAK,CAAC;AACb,YAAA,OAAsB,SAAS,WAAW,IAAI;AAEpD,kBAAY,KAAK,IAAI;AAGjB,UAAAA,WAAAA,QAAE,SAASA,WAAE,QAAA,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG;AACnC;AAAA,MACF;AAEA,UAAI,CAAC;AAAM,eAAO;AAEd,UAAA,KAAK,SAAS,aAAa;AAC7B,mBAAW,KAAK;AACL,mBAAA,OAAO,WAAW,KAAK,SAAS;AAAA,MAAA,WAClC,KAAK,SAAS,eAAe;AAChC,cAAA,WAAW,KAAK,IAAI,CAAC;AACrB,cAAA,QAAQA,mBAAE,IAAI,QAAQ,CAAC,GAAG,aAAa,QAAQ,CAAC;AAEtD,YAAI,CAAC;AAAO,iBAAO;AAEnB,mBAAW,MAAM;AACN,mBAAA,OAAO,WAAW,QAAgC;AAAA,MAAA,WACpD,KAAK,SAAS,YAAY;AAC/B,YAAA,EAAE,YAAY,OAAO;AACvB,iBAAO;QACT;AAEA,mBAAW,KAAK;AACL,mBAAA,OAAO,SAAS,QAAQ;AAAA,MAAA,OAC9B;AACL;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGH,QAAA,WAAW,OAAO,KAAaC,WAAmB;AAChD,UAAA,QAAQ,IAAI,MAAM,GAAG;AAC3B,UAAM,CAAC,MAAM,KAAK,IAAI,CAACD,WAAAA,QAAE,QAAQ,KAAK,GAAGA,WAAA,QAAE,KAAK,KAAK,CAAC;AAEhD,UAAA,WAAW,wBAAwB,IAAI;AAE7C,QAAI,UAAU;AACZ,YAAM,KAAKA,WAAE,QAAA,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,EAAE,IAAI,OAAO,UAAU,SAASC,MAAK;AAAA,IAC3E;AAAA,EAAA;AAGF,QAAM,QAAQ,IAAI,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E;;"}
@@ -1,63 +0,0 @@
1
- import _ from "lodash";
2
- const uploadFile = async (uid, entity, files) => {
3
- const modelDef = strapi.getModel(uid);
4
- if (!_.has(strapi.plugins, "upload")) {
5
- return;
6
- }
7
- const uploadService = strapi.plugin("upload").service("upload");
8
- const findModelFromUploadPath = (path) => {
9
- if (path.length === 0) {
10
- return uid;
11
- }
12
- const currentPath = [];
13
- let tmpModel = modelDef;
14
- let modelUID = uid;
15
- for (let i = 0; i < path.length; i += 1) {
16
- if (!tmpModel) {
17
- return {};
18
- }
19
- const part = path[i];
20
- const attr = tmpModel.attributes[part];
21
- currentPath.push(part);
22
- if (_.isFinite(_.toNumber(path[i]))) {
23
- continue;
24
- }
25
- if (!attr)
26
- return {};
27
- if (attr.type === "component") {
28
- modelUID = attr.component;
29
- tmpModel = strapi.components[attr.component];
30
- } else if (attr.type === "dynamiczone") {
31
- const entryIdx = path[i + 1];
32
- const value = _.get(entity, [...currentPath, entryIdx]);
33
- if (!value)
34
- return {};
35
- modelUID = value.__component;
36
- tmpModel = strapi.components[modelUID];
37
- } else if (attr.type === "relation") {
38
- if (!("target" in attr)) {
39
- return {};
40
- }
41
- modelUID = attr.target;
42
- tmpModel = strapi.getModel(modelUID);
43
- } else {
44
- return;
45
- }
46
- }
47
- return modelUID;
48
- };
49
- const doUpload = async (key, files2) => {
50
- const parts = key.split(".");
51
- const [path, field] = [_.initial(parts), _.last(parts)];
52
- const modelUID = findModelFromUploadPath(path);
53
- if (modelUID) {
54
- const id = _.get(entity, path.concat("id"));
55
- return uploadService.uploadToEntity({ id, model: modelUID, field }, files2);
56
- }
57
- };
58
- await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));
59
- };
60
- export {
61
- uploadFile as default
62
- };
63
- //# sourceMappingURL=upload-files.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-files.mjs","sources":["../../../src/services/utils/upload-files.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Attribute, Common, Schema } from '@strapi/types';\n\nexport type UploadFile = (\n uid: Common.UID.Schema,\n entity: Record<string, unknown>,\n files: Record<string, unknown>\n) => Promise<void>;\n\n/**\n * Upload files and link them to an entity\n */\nconst uploadFile: UploadFile = async (uid, entity, files) => {\n const modelDef = strapi.getModel(uid);\n\n if (!_.has(strapi.plugins, 'upload')) {\n return;\n }\n\n const uploadService = strapi.plugin('upload').service('upload');\n\n const findModelFromUploadPath = (path: string[]) => {\n if (path.length === 0) {\n return uid;\n }\n\n const currentPath = [];\n let tmpModel: Schema.ContentType | Schema.Component = modelDef;\n let modelUID = uid;\n\n for (let i = 0; i < path.length; i += 1) {\n if (!tmpModel) {\n return {};\n }\n\n const part = path[i];\n const attr: Attribute.Any = tmpModel.attributes[part];\n\n currentPath.push(part);\n\n // ignore array indexes => handled in the dynamic zone section\n if (_.isFinite(_.toNumber(path[i]))) {\n continue;\n }\n\n if (!attr) return {};\n\n if (attr.type === 'component') {\n modelUID = attr.component;\n tmpModel = strapi.components[attr.component];\n } else if (attr.type === 'dynamiczone') {\n const entryIdx = path[i + 1]; // get component index\n const value = _.get(entity, [...currentPath, entryIdx]);\n\n if (!value) return {};\n\n modelUID = value.__component; // get component type\n tmpModel = strapi.components[modelUID as Common.UID.Component];\n } else if (attr.type === 'relation') {\n if (!('target' in attr)) {\n return {};\n }\n\n modelUID = attr.target;\n tmpModel = strapi.getModel(modelUID);\n } else {\n return;\n }\n }\n\n return modelUID;\n };\n\n const doUpload = async (key: string, files: unknown) => {\n const parts = key.split('.');\n const [path, field] = [_.initial(parts), _.last(parts)];\n\n const modelUID = findModelFromUploadPath(path);\n\n if (modelUID) {\n const id = _.get(entity, path.concat('id'));\n return uploadService.uploadToEntity({ id, model: modelUID, field }, files);\n }\n };\n\n await Promise.all(Object.keys(files).map((key) => doUpload(key, files[key])));\n};\n\nexport default uploadFile;\n"],"names":["files"],"mappings":";AAYA,MAAM,aAAyB,OAAO,KAAK,QAAQ,UAAU;AACrD,QAAA,WAAW,OAAO,SAAS,GAAG;AAEpC,MAAI,CAAC,EAAE,IAAI,OAAO,SAAS,QAAQ,GAAG;AACpC;AAAA,EACF;AAEA,QAAM,gBAAgB,OAAO,OAAO,QAAQ,EAAE,QAAQ,QAAQ;AAExD,QAAA,0BAA0B,CAAC,SAAmB;AAC9C,QAAA,KAAK,WAAW,GAAG;AACd,aAAA;AAAA,IACT;AAEA,UAAM,cAAc,CAAA;AACpB,QAAI,WAAkD;AACtD,QAAI,WAAW;AAEf,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,UAAI,CAAC,UAAU;AACb,eAAO;MACT;AAEM,YAAA,OAAO,KAAK,CAAC;AACb,YAAA,OAAsB,SAAS,WAAW,IAAI;AAEpD,kBAAY,KAAK,IAAI;AAGjB,UAAA,EAAE,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG;AACnC;AAAA,MACF;AAEA,UAAI,CAAC;AAAM,eAAO;AAEd,UAAA,KAAK,SAAS,aAAa;AAC7B,mBAAW,KAAK;AACL,mBAAA,OAAO,WAAW,KAAK,SAAS;AAAA,MAAA,WAClC,KAAK,SAAS,eAAe;AAChC,cAAA,WAAW,KAAK,IAAI,CAAC;AACrB,cAAA,QAAQ,EAAE,IAAI,QAAQ,CAAC,GAAG,aAAa,QAAQ,CAAC;AAEtD,YAAI,CAAC;AAAO,iBAAO;AAEnB,mBAAW,MAAM;AACN,mBAAA,OAAO,WAAW,QAAgC;AAAA,MAAA,WACpD,KAAK,SAAS,YAAY;AAC/B,YAAA,EAAE,YAAY,OAAO;AACvB,iBAAO;QACT;AAEA,mBAAW,KAAK;AACL,mBAAA,OAAO,SAAS,QAAQ;AAAA,MAAA,OAC9B;AACL;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EAAA;AAGH,QAAA,WAAW,OAAO,KAAaA,WAAmB;AAChD,UAAA,QAAQ,IAAI,MAAM,GAAG;AAC3B,UAAM,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,KAAK,KAAK,CAAC;AAEhD,UAAA,WAAW,wBAAwB,IAAI;AAE7C,QAAI,UAAU;AACZ,YAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC;AACnC,aAAA,cAAc,eAAe,EAAE,IAAI,OAAO,UAAU,SAASA,MAAK;AAAA,IAC3E;AAAA,EAAA;AAGF,QAAM,QAAQ,IAAI,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,QAAQ,SAAS,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E;"}