@localazy/strapi-plugin 0.2.13 → 1.0.0-beta.1

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 (392) hide show
  1. package/README.md +3 -1
  2. package/dist/_chunks/App-BSFfgZKU.mjs +5278 -0
  3. package/dist/_chunks/App-D1QaIMHX.js +5278 -0
  4. package/dist/_chunks/ContentTransferSetup-DHXJIxAp.js +1552 -0
  5. package/dist/_chunks/ContentTransferSetup-DtjcF_jM.mjs +1550 -0
  6. package/dist/_chunks/GlobalSettings-BON3kjHK.js +228 -0
  7. package/dist/_chunks/GlobalSettings-BcdibqNS.mjs +228 -0
  8. package/dist/_chunks/LanguagesSelector-BeijBEjg.js +47 -0
  9. package/dist/_chunks/LanguagesSelector-fyAIUp7M.mjs +48 -0
  10. package/dist/_chunks/en-BTf8goGM.mjs +8 -0
  11. package/dist/_chunks/en-CRtsEFtl.js +8 -0
  12. package/dist/_chunks/fr-C8Qw4iPZ.js +4 -0
  13. package/dist/_chunks/fr-hkSxFuzl.mjs +4 -0
  14. package/dist/_chunks/has-model-changed-BMCQX2Dd.js +316 -0
  15. package/dist/_chunks/has-model-changed-Dvtzpc9v.mjs +317 -0
  16. package/dist/_chunks/index-BQw2qi2G.js +2679 -0
  17. package/dist/_chunks/index-CN3Gyh5F.mjs +2678 -0
  18. package/dist/_chunks/isEqual-B-YVnzrp.js +205 -0
  19. package/dist/_chunks/isEqual-CEyT97-3.mjs +206 -0
  20. package/dist/_chunks/set-DUdH3vE5.js +54557 -0
  21. package/dist/_chunks/set-DulHAQhq.mjs +54542 -0
  22. package/dist/admin/index.js +4 -0
  23. package/dist/admin/index.mjs +5 -0
  24. package/dist/admin/src/components/Initializer.d.ts +5 -0
  25. package/dist/admin/src/config/development/index.d.ts +15 -0
  26. package/dist/admin/src/config/example/index.example.d.ts +15 -0
  27. package/dist/admin/src/config/index.d.ts +15 -0
  28. package/dist/admin/src/config/local/index.d.ts +15 -0
  29. package/dist/admin/src/config/production/index.d.ts +15 -0
  30. package/dist/admin/src/i18n.d.ts +2 -0
  31. package/dist/admin/src/index.d.ts +10 -0
  32. package/dist/admin/src/modules/@common/api/strapi-api-base.d.ts +6 -0
  33. package/dist/admin/src/modules/@common/components/Icons/House.d.ts +2 -0
  34. package/dist/admin/src/modules/@common/components/Icons/Localazy.d.ts +2 -0
  35. package/dist/admin/src/modules/@common/components/LanguagesSelector.d.ts +11 -0
  36. package/dist/admin/src/modules/@common/components/PluginPageLoader.d.ts +2 -0
  37. package/dist/admin/src/modules/@common/components/SideNav.d.ts +2 -0
  38. package/dist/admin/src/modules/@common/components/TransferReport.d.ts +5 -0
  39. package/dist/admin/src/modules/@common/functions/flatten-deep.d.ts +2 -0
  40. package/dist/admin/src/modules/@common/locale/en.d.ts +14 -0
  41. package/dist/admin/src/modules/@common/models/supported-content-type-fields.d.ts +2 -0
  42. package/dist/admin/src/modules/@common/models/supported-custom-field-plugins.d.ts +2 -0
  43. package/dist/admin/src/modules/@common/services/i18n-service.d.ts +3 -0
  44. package/dist/admin/src/modules/@common/services/plugin.service.d.ts +3 -0
  45. package/dist/admin/src/modules/@common/services/product-analytics-service.d.ts +14 -0
  46. package/dist/admin/src/modules/@common/services/project-service.d.ts +4 -0
  47. package/dist/admin/src/modules/@common/services/user-service.d.ts +5 -0
  48. package/dist/admin/src/modules/@common/utils/are-locales-compatible.d.ts +2 -0
  49. package/dist/admin/src/modules/@common/utils/format-number.d.ts +2 -0
  50. package/dist/admin/src/modules/@common/utils/get-default-locale.d.ts +2 -0
  51. package/dist/admin/src/modules/@common/utils/history.d.ts +2 -0
  52. package/dist/admin/src/modules/@common/utils/is-plugin-route.d.ts +2 -0
  53. package/dist/admin/src/modules/@common/utils/iso-locales-utils.d.ts +3 -0
  54. package/dist/admin/src/modules/@common/utils/redirect-to-plugin-route.d.ts +13 -0
  55. package/dist/admin/src/modules/@common/utils/sort-by-model-name.d.ts +2 -0
  56. package/dist/admin/src/modules/@common/utils/use-header-subtitle.d.ts +2 -0
  57. package/dist/admin/src/modules/@common/utils/use-header-title.d.ts +2 -0
  58. package/dist/admin/src/modules/@common/utils/use-nav.d.ts +11 -0
  59. package/dist/admin/src/modules/alerts/constants/channels.d.ts +1 -0
  60. package/dist/admin/src/modules/alerts/constants/events.d.ts +4 -0
  61. package/dist/admin/src/modules/alerts/services/alerts-service.d.ts +8 -0
  62. package/dist/admin/src/modules/localazy-download/locale/en.d.ts +24 -0
  63. package/dist/admin/src/modules/localazy-download/services/download-alerts-service.d.ts +5 -0
  64. package/dist/admin/src/modules/localazy-download/services/localazy-download-service.d.ts +3 -0
  65. package/dist/admin/src/modules/localazy-upload/components/ReadDocsButton.d.ts +3 -0
  66. package/dist/admin/src/modules/localazy-upload/locale/en.d.ts +19 -0
  67. package/dist/admin/src/modules/localazy-upload/services/localazy-upload-service.d.ts +3 -0
  68. package/dist/admin/src/modules/localazy-upload/services/upload-alerts-service.d.ts +5 -0
  69. package/dist/admin/src/modules/login/components/FetchIdentity.d.ts +3 -0
  70. package/dist/admin/src/modules/login/components/LoginButton.d.ts +12 -0
  71. package/dist/admin/src/modules/login/components/LogoutButton.d.ts +6 -0
  72. package/dist/admin/src/modules/login/locale/en.d.ts +8 -0
  73. package/dist/admin/src/modules/login/services/localazy-login-service.d.ts +4 -0
  74. package/dist/admin/src/modules/overview/components/OverviewItem.d.ts +7 -0
  75. package/dist/admin/src/modules/overview/components/OverviewItemLink.d.ts +7 -0
  76. package/dist/admin/src/modules/overview/components/PrerequisitiesInfo.d.ts +3 -0
  77. package/dist/admin/src/modules/overview/locale/en.d.ts +14 -0
  78. package/dist/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty.d.ts +2 -0
  79. package/dist/admin/src/modules/plugin-settings/components/Tree.d.ts +8 -0
  80. package/dist/admin/src/modules/plugin-settings/components/TreeItem.d.ts +10 -0
  81. package/dist/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.d.ts +2 -0
  82. package/dist/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.d.ts +8 -0
  83. package/dist/admin/src/modules/plugin-settings/functions/has-model-changed.d.ts +6 -0
  84. package/dist/admin/src/modules/plugin-settings/locale/en.d.ts +49 -0
  85. package/dist/admin/src/modules/plugin-settings/services/plugin-settings-service.d.ts +6 -0
  86. package/dist/admin/src/modules/plugin-settings/services/strapi-model-service.d.ts +4 -0
  87. package/dist/admin/src/modules/plugin-settings/services/strapi-users-service.d.ts +3 -0
  88. package/dist/admin/src/modules/plugin-settings/utils/array-of-models-to-object.d.ts +2 -0
  89. package/dist/admin/src/modules/plugin-settings/utils/find-model-value-by-key.d.ts +2 -0
  90. package/dist/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.d.ts +7 -0
  91. package/dist/admin/src/modules/plugin-settings/utils/get-models-tree.d.ts +5 -0
  92. package/dist/admin/src/modules/strapi/utils/get-default-theme.d.ts +3 -0
  93. package/dist/admin/src/modules/user/model/localazy-identity.d.ts +15 -0
  94. package/dist/admin/src/modules/user/services/localazy-user-service.d.ts +6 -0
  95. package/dist/admin/src/pages/App.d.ts +3 -0
  96. package/dist/admin/src/pages/ContentTransferSetup.d.ts +4 -0
  97. package/dist/admin/src/pages/Download.d.ts +7 -0
  98. package/dist/admin/src/pages/GlobalSettings.d.ts +4 -0
  99. package/dist/admin/src/pages/HomePage.d.ts +2 -0
  100. package/dist/admin/src/pages/Login.d.ts +8 -0
  101. package/dist/admin/src/pages/Overview.d.ts +8 -0
  102. package/dist/admin/src/pages/Upload.d.ts +7 -0
  103. package/dist/admin/src/pluginId.d.ts +2 -0
  104. package/dist/admin/src/plugins/generic-connector-client.d.ts +3 -0
  105. package/dist/admin/src/state/localazy-identity.d.ts +13 -0
  106. package/dist/admin/src/utils/getTranslation.d.ts +2 -0
  107. package/dist/server/index.js +26000 -0
  108. package/dist/server/index.mjs +25989 -0
  109. package/dist/server/src/bootstrap.d.ts +5 -0
  110. package/dist/server/src/config/core/config.d.ts +1 -0
  111. package/dist/server/src/config/development/index.d.ts +15 -0
  112. package/dist/server/src/config/example/index.example.d.ts +15 -0
  113. package/dist/server/src/config/index.d.ts +18 -0
  114. package/dist/server/src/config/local/index.d.ts +15 -0
  115. package/dist/server/src/config/production/index.d.ts +15 -0
  116. package/dist/server/src/constants/channels.d.ts +3 -0
  117. package/dist/server/src/constants/events.d.ts +6 -0
  118. package/dist/server/src/content-types/index.d.ts +2 -0
  119. package/dist/server/src/controllers/index.d.ts +43 -0
  120. package/dist/server/src/controllers/localazy-auth-controller.d.ts +8 -0
  121. package/dist/server/src/controllers/localazy-project-controller.d.ts +7 -0
  122. package/dist/server/src/controllers/localazy-transfer-controller.d.ts +8 -0
  123. package/dist/server/src/controllers/localazy-user-controller.d.ts +9 -0
  124. package/dist/server/src/controllers/plugin-settings-controller.d.ts +10 -0
  125. package/dist/server/src/controllers/strapi-controller.d.ts +10 -0
  126. package/dist/server/src/core/index.d.ts +71 -0
  127. package/dist/server/src/db/model/content-transfer-setup.d.ts +4 -0
  128. package/dist/server/src/db/model/localazy-user.d.ts +17 -0
  129. package/dist/server/src/db/model/plugin-settings.d.ts +5 -0
  130. package/dist/server/src/db/model/utils/get-strapi-store.d.ts +26 -0
  131. package/dist/server/src/destroy.d.ts +5 -0
  132. package/dist/server/src/functions/should-set-downloaded-property.d.ts +12 -0
  133. package/dist/server/src/index.d.ts +189 -0
  134. package/dist/server/src/lifecycles/deep-populate-hook.d.ts +20 -0
  135. package/dist/server/src/lifecycles/deprecate-event-entry-in-localazy-hook.d.ts +4 -0
  136. package/dist/server/src/lifecycles/upload-event-entry-to-localazy-hook.d.ts +12 -0
  137. package/dist/server/src/middlewares/index.d.ts +2 -0
  138. package/dist/server/src/models/plugin/content-transfer-setup.d.ts +13 -0
  139. package/dist/server/src/models/strapi/locale.d.ts +8 -0
  140. package/dist/server/src/policies/index.d.ts +2 -0
  141. package/dist/server/src/register.d.ts +5 -0
  142. package/dist/server/src/routes/index.d.ts +25 -0
  143. package/dist/server/src/routes/localazy-auth-routes.d.ts +9 -0
  144. package/dist/server/src/routes/localazy-project-routes.d.ts +9 -0
  145. package/dist/server/src/routes/localazy-transfer-routes.d.ts +9 -0
  146. package/dist/server/src/routes/localazy-user-routes.d.ts +9 -0
  147. package/dist/server/src/routes/plugin-settings-routes.d.ts +9 -0
  148. package/dist/server/src/routes/strapi-routes.d.ts +9 -0
  149. package/dist/server/src/services/helpers/job-notification-service.d.ts +14 -0
  150. package/dist/server/src/services/helpers/plugin-settings-service-helper.d.ts +16 -0
  151. package/dist/server/src/services/index.d.ts +92 -0
  152. package/dist/server/src/services/localazy-pubapi-service.d.ts +12 -0
  153. package/dist/server/src/services/localazy-transfer-download-service.d.ts +11 -0
  154. package/dist/server/src/services/localazy-transfer-upload-service.d.ts +11 -0
  155. package/dist/server/src/services/localazy-upload-service.d.ts +28 -0
  156. package/dist/server/src/services/localazy-user-service.d.ts +11 -0
  157. package/dist/server/src/services/plugin-settings-service.d.ts +16 -0
  158. package/dist/server/src/services/strapi-i18n-service.d.ts +19 -0
  159. package/dist/server/src/services/strapi-localazy-i18n-service.d.ts +9 -0
  160. package/dist/server/src/services/strapi-service.d.ts +10 -0
  161. package/dist/server/src/utils/delay.d.ts +1 -0
  162. package/dist/server/src/utils/drop-property-deep.d.ts +1 -0
  163. package/dist/server/src/utils/flatten-object.d.ts +2 -0
  164. package/dist/server/src/utils/generate-random-id.d.ts +2 -0
  165. package/dist/server/src/utils/get-full-populate-localazy-download-object.d.ts +17 -0
  166. package/dist/server/src/utils/get-full-populate-localazy-upload-object.d.ts +9 -0
  167. package/dist/server/src/utils/get-full-populate-object.d.ts +17 -0
  168. package/dist/server/src/utils/get-main-keys-of-nested-array-objects.d.ts +2 -0
  169. package/dist/server/src/utils/get-picked-flatten-keys-for-hook-entry.d.ts +5 -0
  170. package/dist/server/src/utils/intl-display-name.d.ts +1 -0
  171. package/dist/server/src/utils/is-generally-applicable-content-type.d.ts +2 -0
  172. package/dist/server/src/utils/is-localazy-applicable-content-type.d.ts +2 -0
  173. package/dist/server/src/utils/iso-locales-utils.d.ts +3 -0
  174. package/dist/server/src/utils/localazy-api-client-factory.d.ts +3 -0
  175. package/dist/server/src/utils/localazy-generic-connector-client-factory.d.ts +3 -0
  176. package/dist/server/src/utils/model-utils.d.ts +7 -0
  177. package/dist/server/src/utils/omit-deep.d.ts +2 -0
  178. package/dist/server/src/utils/parsed-localazy-entry-to-create-entry.d.ts +7 -0
  179. package/dist/server/src/utils/parsed-localazy-entry-to-update-entry.d.ts +1 -0
  180. package/dist/server/src/utils/pick-entries.d.ts +2 -0
  181. package/dist/server/src/utils/populate-create-update-entry-with-base-entry.d.ts +1 -0
  182. package/dist/server/src/utils/request-initiator-helper.d.ts +9 -0
  183. package/dist/server/src/utils/reset-array-keys-deep.d.ts +1 -0
  184. package/dist/server/src/utils/transfer-setup-utils.d.ts +7 -0
  185. package/install/index.mjs +88 -34
  186. package/install/vite.config.example.js +40 -0
  187. package/install/vite.config.example.ts +41 -0
  188. package/install/{webpack.example.js → webpack.config.example.js} +2 -2
  189. package/install/webpack.config.example.ts +30 -0
  190. package/package.json +93 -55
  191. package/.babelrc +0 -7
  192. package/.eslintrc +0 -13
  193. package/.github/workflows/qa.yml +0 -25
  194. package/.github/workflows/release.yml +0 -46
  195. package/.nvmrc +0 -1
  196. package/.strapi-updater.json +0 -4
  197. package/CHANGELOG.md +0 -68
  198. package/LICENSE +0 -21
  199. package/admin/src/components/Initializer/index.js +0 -26
  200. package/admin/src/components/PluginIcon/index.js +0 -14
  201. package/admin/src/config/development/index.js +0 -14
  202. package/admin/src/config/example/index.js +0 -14
  203. package/admin/src/config/index.js +0 -19
  204. package/admin/src/config/local/index.js +0 -14
  205. package/admin/src/config/production/index.js +0 -15
  206. package/admin/src/i18n.js +0 -41
  207. package/admin/src/index.js +0 -138
  208. package/admin/src/modules/@common/components/Icons/Localazy/index.js +0 -12
  209. package/admin/src/modules/@common/components/LanguagesSelector/index.js +0 -67
  210. package/admin/src/modules/@common/components/PluginPageLoader/index.js +0 -20
  211. package/admin/src/modules/@common/components/SideNav/index.js +0 -46
  212. package/admin/src/modules/@common/components/TransferReport/index.js +0 -53
  213. package/admin/src/modules/@common/locale/en.js +0 -14
  214. package/admin/src/modules/@common/models/supported-content-type-fields.js +0 -9
  215. package/admin/src/modules/@common/models/supported-custom-field-plugins.js +0 -6
  216. package/admin/src/modules/@common/services/i18n-service.js +0 -15
  217. package/admin/src/modules/@common/services/plugin.service.js +0 -16
  218. package/admin/src/modules/@common/services/product-analytics-service.js +0 -86
  219. package/admin/src/modules/@common/services/project-service.js +0 -15
  220. package/admin/src/modules/@common/services/user-service.js +0 -38
  221. package/admin/src/modules/@common/utils/__tests__/iso-locales-utils.test.js +0 -102
  222. package/admin/src/modules/@common/utils/are-locales-compatible.js +0 -42
  223. package/admin/src/modules/@common/utils/format-number.js +0 -1
  224. package/admin/src/modules/@common/utils/functions/flatten-deep.js +0 -23
  225. package/admin/src/modules/@common/utils/get-default-locale.js +0 -32
  226. package/admin/src/modules/@common/utils/get-header-subtitle.js +0 -21
  227. package/admin/src/modules/@common/utils/get-header-title.js +0 -24
  228. package/admin/src/modules/@common/utils/get-nav.js +0 -35
  229. package/admin/src/modules/@common/utils/history.js +0 -6
  230. package/admin/src/modules/@common/utils/is-plugin-route.js +0 -15
  231. package/admin/src/modules/@common/utils/iso-locales-utils.js +0 -58
  232. package/admin/src/modules/@common/utils/redirect-to-plugin-route.js +0 -22
  233. package/admin/src/modules/@common/utils/sort-by-model-name.js +0 -10
  234. package/admin/src/modules/alerts/constants/channels.js +0 -1
  235. package/admin/src/modules/alerts/constants/events.js +0 -4
  236. package/admin/src/modules/alerts/services/alerts-service.js +0 -41
  237. package/admin/src/modules/localazy-download/locale/en.js +0 -25
  238. package/admin/src/modules/localazy-download/services/download-alerts-service.js +0 -12
  239. package/admin/src/modules/localazy-download/services/localazy-download-service.js +0 -16
  240. package/admin/src/modules/localazy-upload/components/ReadDocsButton.js +0 -20
  241. package/admin/src/modules/localazy-upload/locale/en.js +0 -20
  242. package/admin/src/modules/localazy-upload/services/localazy-upload-service.js +0 -16
  243. package/admin/src/modules/localazy-upload/services/upload-alerts-service.js +0 -12
  244. package/admin/src/modules/login/components/LoginButton/index.js +0 -55
  245. package/admin/src/modules/login/components/LogoutButton/index.js +0 -49
  246. package/admin/src/modules/login/locale/en.js +0 -7
  247. package/admin/src/modules/login/services/localazy-login-service.js +0 -29
  248. package/admin/src/modules/plugin-settings/components/ContentTransferSetup/index.js +0 -308
  249. package/admin/src/modules/plugin-settings/components/ContentTransferSetupEmpty/index.js +0 -86
  250. package/admin/src/modules/plugin-settings/components/GlobalSettings/index.js +0 -269
  251. package/admin/src/modules/plugin-settings/components/Tree/index.js +0 -145
  252. package/admin/src/modules/plugin-settings/components/TreeItem/index.js +0 -48
  253. package/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.js +0 -57
  254. package/admin/src/modules/plugin-settings/functions/get-content-transfer-setup-keys-sets.js +0 -85
  255. package/admin/src/modules/plugin-settings/functions/has-model-changed.js +0 -75
  256. package/admin/src/modules/plugin-settings/locale/en.js +0 -61
  257. package/admin/src/modules/plugin-settings/services/plugin-settings-service.js +0 -55
  258. package/admin/src/modules/plugin-settings/services/strapi-model-service.js +0 -26
  259. package/admin/src/modules/plugin-settings/services/strapi-users-service.js +0 -26
  260. package/admin/src/modules/plugin-settings/utils/__tests__/get-models-tree.test.js +0 -135
  261. package/admin/src/modules/plugin-settings/utils/array-of-models-to-object.js +0 -6
  262. package/admin/src/modules/plugin-settings/utils/find-model-value-by-key.js +0 -8
  263. package/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.js +0 -31
  264. package/admin/src/modules/plugin-settings/utils/get-models-tree.js +0 -94
  265. package/admin/src/modules/settings/components/OverviewItem/index.js +0 -44
  266. package/admin/src/modules/settings/components/OverviewItemLink/index.js +0 -34
  267. package/admin/src/modules/settings/components/PrerequisitiesInfo/index.js +0 -28
  268. package/admin/src/modules/settings/locale/en.js +0 -13
  269. package/admin/src/modules/user/model/localazy-identity.js +0 -14
  270. package/admin/src/modules/user/services/localazy-user-service.js +0 -38
  271. package/admin/src/pages/App/index.js +0 -154
  272. package/admin/src/pages/Download/index.js +0 -280
  273. package/admin/src/pages/Index/index.js +0 -8
  274. package/admin/src/pages/Login/index.js +0 -109
  275. package/admin/src/pages/PluginSettings/index.js +0 -56
  276. package/admin/src/pages/Settings/index.js +0 -132
  277. package/admin/src/pages/Upload/index.js +0 -241
  278. package/admin/src/pluginId.js +0 -5
  279. package/admin/src/plugins/generic-connector-client.js +0 -9
  280. package/admin/src/state/localazy-identity.js +0 -29
  281. package/admin/src/tests/fixtures/all-models.js +0 -877
  282. package/admin/src/tests/fixtures/restaurant-model.js +0 -230
  283. package/admin/src/translations/en.json +0 -4
  284. package/admin/src/translations/fr.json +0 -1
  285. package/admin/src/utils/createAxiosInstance.js +0 -54
  286. package/admin/src/utils/getTrad.js +0 -5
  287. package/jest.config.js +0 -0
  288. package/server/bootstrap.js +0 -63
  289. package/server/config/development/index.js +0 -16
  290. package/server/config/example/index.js +0 -16
  291. package/server/config/index.js +0 -20
  292. package/server/config/local/index.js +0 -16
  293. package/server/config/production/index.js +0 -17
  294. package/server/config/schema.graphql.js +0 -21
  295. package/server/constants/channels.js +0 -3
  296. package/server/constants/events.js +0 -6
  297. package/server/content-types/index.js +0 -3
  298. package/server/controllers/index.js +0 -17
  299. package/server/controllers/localazy-auth-controller.js +0 -22
  300. package/server/controllers/localazy-project-controller.js +0 -21
  301. package/server/controllers/localazy-transfer-controller.js +0 -62
  302. package/server/controllers/localazy-user-controller.js +0 -24
  303. package/server/controllers/plugin-settings-controller.js +0 -31
  304. package/server/controllers/strapi-controller.js +0 -27
  305. package/server/db/model/content-transfer-setup.js +0 -13
  306. package/server/db/model/localazy-user.js +0 -23
  307. package/server/db/model/plugin-settings.js +0 -13
  308. package/server/db/model/utils/get-strapi-store.js +0 -9
  309. package/server/destroy.js +0 -5
  310. package/server/functions/should-set-downloaded-property.js +0 -94
  311. package/server/index.js +0 -25
  312. package/server/lifecycles/deep-populate-hook.js +0 -12
  313. package/server/lifecycles/deprecate-event-entry-in-localazy-hook.js +0 -73
  314. package/server/lifecycles/upload-event-entry-to-localazy-hook.js +0 -36
  315. package/server/middlewares/index.js +0 -7
  316. package/server/middlewares/verify-webhook.js +0 -76
  317. package/server/models/supported-content-type-fields.js +0 -9
  318. package/server/models/supported-custom-field-plugins.js +0 -6
  319. package/server/policies/index.js +0 -3
  320. package/server/register.js +0 -5
  321. package/server/routes/index.js +0 -28
  322. package/server/routes/localazy-auth.js +0 -22
  323. package/server/routes/localazy-project.js +0 -14
  324. package/server/routes/localazy-public-transfer.js +0 -20
  325. package/server/routes/localazy-transfer.js +0 -22
  326. package/server/routes/localazy-user.js +0 -30
  327. package/server/routes/plugin-settings.js +0 -38
  328. package/server/routes/strapi.js +0 -38
  329. package/server/services/helpers/job-notification-service.js +0 -30
  330. package/server/services/helpers/plugin-settings-service-helper.js +0 -52
  331. package/server/services/index.js +0 -23
  332. package/server/services/localazy-pubapi-service.js +0 -53
  333. package/server/services/localazy-transfer-download-service.js +0 -445
  334. package/server/services/localazy-transfer-upload-service.js +0 -178
  335. package/server/services/localazy-upload-service.js +0 -52
  336. package/server/services/localazy-user-service.js +0 -29
  337. package/server/services/plugin-settings-service.js +0 -53
  338. package/server/services/strapi-i18n-service.js +0 -151
  339. package/server/services/strapi-localazy-i18n-service.js +0 -130
  340. package/server/services/strapi-service.js +0 -26
  341. package/server/tests/fixtures/all-models.js +0 -869
  342. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-cookbook.js +0 -5761
  343. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-lesson-dz.js +0 -402
  344. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-page-dz.js +0 -658
  345. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-restaurant-simple-menu.js +0 -536
  346. package/server/tests/fixtures/parsed-localazy-entry-to-update-entry.js +0 -35157
  347. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook-empty-recipes.js +0 -202
  348. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook.js +0 -2700
  349. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-lesson-dz.js +0 -309
  350. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-simple.js +0 -47
  351. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-with-media.js +0 -169
  352. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-empty.js +0 -3003
  353. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-with-media.js +0 -2057
  354. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json-dz.js +0 -884
  355. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json.js +0 -46
  356. package/server/tests/fixtures/strapi-plugin-all-models.js +0 -7000
  357. package/server/utils/__tests__/build-populate.test.js +0 -85
  358. package/server/utils/__tests__/flatten-object.test.js +0 -171
  359. package/server/utils/__tests__/get-models-tree.test.js +0 -170
  360. package/server/utils/__tests__/iso-locales-utils.test.js +0 -104
  361. package/server/utils/__tests__/parsed-localazy-entry-to-create-entry.test.js +0 -258
  362. package/server/utils/__tests__/parsed-localazy-entry-to-update-entry.test.js +0 -456
  363. package/server/utils/__tests__/pick-entries.test.js +0 -963
  364. package/server/utils/__tests__/populate-create-update-entry-with-base-entry.test.js +0 -1176
  365. package/server/utils/build-populate.js +0 -48
  366. package/server/utils/delay.js +0 -6
  367. package/server/utils/flatten-object.js +0 -61
  368. package/server/utils/generate-random-id.js +0 -3
  369. package/server/utils/get-full-populate-object.js +0 -66
  370. package/server/utils/get-main-keys-of-nested-array-objects.js +0 -5
  371. package/server/utils/get-models-tree.js +0 -47
  372. package/server/utils/get-picked-flatten-keys-for-hook-entry.js +0 -270
  373. package/server/utils/intl-display-name.js +0 -4
  374. package/server/utils/is-generally-applicable-content-type.js +0 -33
  375. package/server/utils/is-localazy-applicable-content-type.js +0 -36
  376. package/server/utils/iso-locales-utils.js +0 -60
  377. package/server/utils/localazy-api-client-factory.js +0 -22
  378. package/server/utils/localazy-generic-connector-client-factory.js +0 -15
  379. package/server/utils/model-utils.js +0 -43
  380. package/server/utils/objectivise-entry.js +0 -41
  381. package/server/utils/omit-deep.js +0 -24
  382. package/server/utils/parsed-localazy-entry-to-create-entry.js +0 -194
  383. package/server/utils/parsed-localazy-entry-to-update-entry.js +0 -83
  384. package/server/utils/pick-deep.js +0 -22
  385. package/server/utils/pick-entries.js +0 -37
  386. package/server/utils/populate-create-update-entry-with-base-entry.js +0 -264
  387. package/server/utils/request-initiator-helper.js +0 -36
  388. package/server/utils/reset-array-keys-deep.js +0 -19
  389. package/server/utils/transfer-setup-utils.js +0 -93
  390. package/strapi-admin.js +0 -14
  391. package/strapi-server.js +0 -5
  392. package/test/helpers/mocks.js +0 -9
@@ -1,963 +0,0 @@
1
- "use strict";
2
-
3
- const pickEntries = require("../pick-entries");
4
-
5
- describe("pick entries test suite", () => {
6
- it("should pick entries correctly case A", () => {
7
- // SETUP
8
- const entry = {
9
- "api::chapter.chapter[1].title": "1. Addition",
10
- "api::chapter.chapter[1].lessons[1].title": "Lecture: Addition",
11
- "api::chapter.chapter[1].lessons[1].start_time": "2022-09-28T09:00:00.000Z",
12
- "api::chapter.chapter[1].lessons[1].duration": "03:00:00.000",
13
- "api::chapter.chapter[1].lessons[1].description": "## Description\n\nIn this lesson, we'll learn about addition and what rules to follow...",
14
- "api::chapter.chapter[1].lessons[1].lesson_type[1].__component": "lesson.lecture",
15
- "api::chapter.chapter[1].lessons[1].lesson_type[1].content": "You need to follow these rules:\na) add one number to the other\nb) do not subtract nor multiply\nc) ...",
16
- "api::chapter.chapter[1].lessons[2].title": "Test: Addition",
17
- "api::chapter.chapter[1].lessons[2].start_time": "2022-10-01T13:00:00.000Z",
18
- "api::chapter.chapter[1].lessons[2].duration": "02:00:00.000",
19
- "api::chapter.chapter[1].lessons[2].description": "Test your skills we've learnt in the previous lesson.",
20
- "api::chapter.chapter[1].lessons[2].lesson_type[1].__component": "lesson.quiz",
21
- "api::chapter.chapter[1].lessons[2].lesson_type[1].title": "Choose the correct answer",
22
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[1].question": "1 + 1 = ",
23
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[1].is_active": true,
24
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[1].question_number": 1,
25
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[2].question": "5 + 15 = ",
26
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[2].is_active": false,
27
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[2].question_number": 2,
28
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].question": "How many cups are on the photo?",
29
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].is_active": false,
30
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].question_number": 3,
31
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].name": "lidya-nada-BnzqQwerUOY-unsplash.jpg",
32
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].alternativeText": "lidya-nada-BnzqQwerUOY-unsplash.jpg",
33
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].caption": "lidya-nada-BnzqQwerUOY-unsplash.jpg",
34
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].width": 3360,
35
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].height": 5040,
36
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.name": "thumbnail_lidya-nada-BnzqQwerUOY-unsplash.jpg",
37
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.hash": "thumbnail_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12",
38
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.ext": ".jpg",
39
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.mime": "image/jpeg",
40
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.width": 104,
41
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.height": 156,
42
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.size": 2.59,
43
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.thumbnail.url": "/uploads/thumbnail_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12.jpg",
44
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.name": "large_lidya-nada-BnzqQwerUOY-unsplash.jpg",
45
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.hash": "large_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12",
46
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.ext": ".jpg",
47
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.mime": "image/jpeg",
48
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.width": 667,
49
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.height": 1000,
50
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.size": 38.91,
51
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.large.url": "/uploads/large_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12.jpg",
52
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.name": "medium_lidya-nada-BnzqQwerUOY-unsplash.jpg",
53
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.hash": "medium_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12",
54
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.ext": ".jpg",
55
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.mime": "image/jpeg",
56
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.width": 500,
57
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.height": 750,
58
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.size": 24.62,
59
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.medium.url": "/uploads/medium_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12.jpg",
60
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.name": "small_lidya-nada-BnzqQwerUOY-unsplash.jpg",
61
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.hash": "small_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12",
62
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.ext": ".jpg",
63
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.mime": "image/jpeg",
64
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.width": 333,
65
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.height": 500,
66
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.size": 12.98,
67
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].formats.small.url": "/uploads/small_lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12.jpg",
68
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].hash": "lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12",
69
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].ext": ".jpg",
70
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].mime": "image/jpeg",
71
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].size": 1536.82,
72
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].url": "/uploads/lidya_nada_Bnzq_Qwer_UOY_unsplash_1c85b31b12.jpg",
73
- "api::chapter.chapter[1].lessons[2].lesson_type[1].questions[3].assets[13].provider": "local",
74
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[1].question_number": 1,
75
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[1].correct_answer": "2",
76
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[2].question_number": 2,
77
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[2].correct_answer": "20",
78
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[3].question_number": 3,
79
- "api::chapter.chapter[1].lessons[2].lesson_type[1].answers[3].correct_answer": "15",
80
- };
81
-
82
- const pickPaths = [
83
- "api::chapter.chapter.title",
84
- "api::chapter.chapter.id",
85
- ];
86
-
87
- const transferSetupModel = {
88
- __model__: true,
89
- title: true,
90
- lessons: null,
91
- };
92
-
93
- // EXECUTE
94
- const result = pickEntries(entry, pickPaths, transferSetupModel);
95
-
96
- // VERIFY
97
- const expected = {
98
- "api::chapter.chapter[1].title": "1. Addition",
99
- };
100
-
101
- expect(result).toEqual(expected);
102
- });
103
-
104
- it("should pick entries correctly case B", () => {
105
- // SETUP
106
- const entry = {
107
- "api::cookbook.cookbook[1].title": "For Every Day of the Year II",
108
- "api::cookbook.cookbook[1].author_name": "David V.",
109
- "api::cookbook.cookbook[1].pages": 368,
110
- "api::cookbook.cookbook[1].recipes[1].name": "Potato Salad",
111
- "api::cookbook.cookbook[1].recipes[1].recipe": "Peel the potatoes, mix it with all the ingredients and you're done. Bon apetit!",
112
- "api::cookbook.cookbook[1].recipes[1].estimated_cook_time": "00:30:00.000",
113
- "api::cookbook.cookbook[1].recipes[1].difficulty": "easy",
114
- "api::cookbook.cookbook[1].recipes[1].author_name": "Mr. Potato Head",
115
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image_title": "Raw potatoes",
116
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image_description": "Fresh!",
117
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].name": "rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
118
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].alternativeText": "rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
119
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].caption": "rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
120
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].width": 2268,
121
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].height": 4032,
122
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.name": "thumbnail_rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
123
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.hash": "thumbnail_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea",
124
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.ext": ".jpg",
125
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.mime": "image/jpeg",
126
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.width": 88,
127
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.height": 156,
128
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.size": 5.35,
129
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.thumbnail.url": "/uploads/thumbnail_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea.jpg",
130
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.name": "large_rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
131
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.hash": "large_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea",
132
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.ext": ".jpg",
133
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.mime": "image/jpeg",
134
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.width": 563,
135
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.height": 1000,
136
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.size": 108.15,
137
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.large.url": "/uploads/large_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea.jpg",
138
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.name": "medium_rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
139
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.hash": "medium_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea",
140
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.ext": ".jpg",
141
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.mime": "image/jpeg",
142
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.width": 422,
143
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.height": 750,
144
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.size": 65.52,
145
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.medium.url": "/uploads/medium_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea.jpg",
146
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.name": "small_rodrigo-dos-reis-h3AkzboxK4Q-unsplash.jpg",
147
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.hash": "small_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea",
148
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.ext": ".jpg",
149
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.mime": "image/jpeg",
150
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.width": 281,
151
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.height": 500,
152
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.size": 34.23,
153
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].formats.small.url": "/uploads/small_rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea.jpg",
154
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].hash": "rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea",
155
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].ext": ".jpg",
156
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].mime": "image/jpeg",
157
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].size": 1081.59,
158
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].url": "/uploads/rodrigo_dos_reis_h3_Akzbox_K4_Q_unsplash_d17e795cea.jpg",
159
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image[6].provider": "local",
160
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image_title": "Salad",
161
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image_description": "Yummy!",
162
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].name": "jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
163
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].alternativeText": "jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
164
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].caption": "jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
165
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].width": 4608,
166
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].height": 3456,
167
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.name": "thumbnail_jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
168
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.hash": "thumbnail_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db",
169
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.ext": ".jpg",
170
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.mime": "image/jpeg",
171
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.width": 208,
172
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.height": 156,
173
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.size": 9.03,
174
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.thumbnail.url": "/uploads/thumbnail_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db.jpg",
175
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.name": "large_jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
176
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.hash": "large_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db",
177
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.ext": ".jpg",
178
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.mime": "image/jpeg",
179
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.width": 1000,
180
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.height": 750,
181
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.size": 102.77,
182
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.large.url": "/uploads/large_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db.jpg",
183
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.name": "medium_jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
184
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.hash": "medium_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db",
185
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.ext": ".jpg",
186
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.mime": "image/jpeg",
187
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.width": 750,
188
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.height": 563,
189
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.size": 66.26,
190
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.medium.url": "/uploads/medium_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db.jpg",
191
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.name": "small_jeffrey-betts-PeyzQt7tMk0-unsplash.jpg",
192
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.hash": "small_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db",
193
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.ext": ".jpg",
194
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.mime": "image/jpeg",
195
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.width": 500,
196
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.height": 375,
197
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.size": 35.17,
198
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].formats.small.url": "/uploads/small_jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db.jpg",
199
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].hash": "jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db",
200
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].ext": ".jpg",
201
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].mime": "image/jpeg",
202
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].size": 1664.79,
203
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].url": "/uploads/jeffrey_betts_Peyz_Qt7t_Mk0_unsplash_9650d628db.jpg",
204
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image[7].provider": "local",
205
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].name": "Potatoes",
206
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].amount": 2,
207
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].unit": "kg",
208
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].is_required": true,
209
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].name": "Peas",
210
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].amount": 1,
211
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].unit": "can",
212
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].is_required": true,
213
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].name": "Corn",
214
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].amount": 0.5,
215
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].unit": "can",
216
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].is_required": true,
217
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].name": "Mayo",
218
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].amount": 4,
219
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].unit": "spoons",
220
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].is_required": true,
221
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].name": "Cheese",
222
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].amount": 1,
223
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].unit": "block",
224
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].is_required": true,
225
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].name": "Apple",
226
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].amount": 1,
227
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].unit": "pcs",
228
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].is_required": false,
229
- "api::cookbook.cookbook[1].gallery[1].annotation": "Check out our delicious meal, then read on and dive into the culinary heaven!",
230
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image_title": "Cookbook",
231
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image_description": "Booklet II",
232
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].name": "dan-gold-5O1ddenSM4g-unsplash.jpg",
233
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].alternativeText": "dan-gold-5O1ddenSM4g-unsplash.jpg",
234
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].caption": "dan-gold-5O1ddenSM4g-unsplash.jpg",
235
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].width": 6000,
236
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].height": 3376,
237
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.name": "thumbnail_dan-gold-5O1ddenSM4g-unsplash.jpg",
238
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.hash": "thumbnail_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907",
239
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.ext": ".jpg",
240
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.mime": "image/jpeg",
241
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.width": 245,
242
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.height": 138,
243
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.size": 7.44,
244
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.thumbnail.url": "/uploads/thumbnail_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907.jpg",
245
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.name": "large_dan-gold-5O1ddenSM4g-unsplash.jpg",
246
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.hash": "large_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907",
247
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.ext": ".jpg",
248
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.mime": "image/jpeg",
249
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.width": 1000,
250
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.height": 563,
251
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.size": 52.67,
252
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.large.url": "/uploads/large_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907.jpg",
253
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.name": "medium_dan-gold-5O1ddenSM4g-unsplash.jpg",
254
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.hash": "medium_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907",
255
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.ext": ".jpg",
256
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.mime": "image/jpeg",
257
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.width": 750,
258
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.height": 422,
259
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.size": 35.15,
260
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.medium.url": "/uploads/medium_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907.jpg",
261
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.name": "small_dan-gold-5O1ddenSM4g-unsplash.jpg",
262
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.hash": "small_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907",
263
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.ext": ".jpg",
264
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.mime": "image/jpeg",
265
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.width": 500,
266
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.height": 281,
267
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.size": 19.95,
268
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].formats.small.url": "/uploads/small_dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907.jpg",
269
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].hash": "dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907",
270
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].ext": ".jpg",
271
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].mime": "image/jpeg",
272
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].size": 972.68,
273
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].url": "/uploads/dan_gold_5_O1dden_SM_4g_unsplash_5adef7d907.jpg",
274
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image[9].provider": "local",
275
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image_description": "The booklet and leaves and fork.",
276
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].name": "heather-ford-G4LFhuLXhLE-unsplash.jpg",
277
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].alternativeText": "heather-ford-G4LFhuLXhLE-unsplash.jpg",
278
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].caption": "heather-ford-G4LFhuLXhLE-unsplash.jpg",
279
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].width": 6127,
280
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].height": 3844,
281
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.name": "thumbnail_heather-ford-G4LFhuLXhLE-unsplash.jpg",
282
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.hash": "thumbnail_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f",
283
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.ext": ".jpg",
284
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.mime": "image/jpeg",
285
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.width": 245,
286
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.height": 154,
287
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.size": 9.54,
288
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.thumbnail.url": "/uploads/thumbnail_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f.jpg",
289
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.name": "large_heather-ford-G4LFhuLXhLE-unsplash.jpg",
290
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.hash": "large_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f",
291
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.ext": ".jpg",
292
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.mime": "image/jpeg",
293
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.width": 1000,
294
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.height": 628,
295
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.size": 117.56,
296
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.large.url": "/uploads/large_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f.jpg",
297
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.name": "medium_heather-ford-G4LFhuLXhLE-unsplash.jpg",
298
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.hash": "medium_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f",
299
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.ext": ".jpg",
300
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.mime": "image/jpeg",
301
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.width": 750,
302
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.height": 471,
303
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.size": 66.32,
304
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.medium.url": "/uploads/medium_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f.jpg",
305
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.name": "small_heather-ford-G4LFhuLXhLE-unsplash.jpg",
306
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.hash": "small_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f",
307
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.ext": ".jpg",
308
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.mime": "image/jpeg",
309
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.width": 500,
310
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.height": 314,
311
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.size": 31.42,
312
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].formats.small.url": "/uploads/small_heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f.jpg",
313
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].hash": "heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f",
314
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].ext": ".jpg",
315
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].mime": "image/jpeg",
316
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].size": 6971.47,
317
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].url": "/uploads/heather_ford_G4_L_Fhu_L_Xh_LE_unsplash_7a2c2cac8f.jpg",
318
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image[11].provider": "local",
319
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image_title": "Spices",
320
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].name": "calum-lewis-vA1L1jRTM70-unsplash.jpg",
321
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].alternativeText": "calum-lewis-vA1L1jRTM70-unsplash.jpg",
322
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].caption": "calum-lewis-vA1L1jRTM70-unsplash.jpg",
323
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].width": 3569,
324
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].height": 5353,
325
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.name": "thumbnail_calum-lewis-vA1L1jRTM70-unsplash.jpg",
326
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.hash": "thumbnail_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997",
327
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.ext": ".jpg",
328
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.mime": "image/jpeg",
329
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.width": 104,
330
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.height": 156,
331
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.size": 5.55,
332
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.thumbnail.url": "/uploads/thumbnail_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997.jpg",
333
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.name": "large_calum-lewis-vA1L1jRTM70-unsplash.jpg",
334
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.hash": "large_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997",
335
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.ext": ".jpg",
336
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.mime": "image/jpeg",
337
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.width": 667,
338
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.height": 1000,
339
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.size": 116.32,
340
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.large.url": "/uploads/large_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997.jpg",
341
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.name": "medium_calum-lewis-vA1L1jRTM70-unsplash.jpg",
342
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.hash": "medium_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997",
343
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.ext": ".jpg",
344
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.mime": "image/jpeg",
345
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.width": 500,
346
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.height": 750,
347
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.size": 72.75,
348
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.medium.url": "/uploads/medium_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997.jpg",
349
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.name": "small_calum-lewis-vA1L1jRTM70-unsplash.jpg",
350
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.hash": "small_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997",
351
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.ext": ".jpg",
352
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.mime": "image/jpeg",
353
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.width": 333,
354
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.height": 500,
355
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.size": 36.52,
356
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].formats.small.url": "/uploads/small_calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997.jpg",
357
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].hash": "calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997",
358
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].ext": ".jpg",
359
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].mime": "image/jpeg",
360
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].size": 2305.97,
361
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].url": "/uploads/calum_lewis_v_A1_L1j_RTM_70_unsplash_5aff3a8997.jpg",
362
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image[10].provider": "local",
363
- "api::cookbook.cookbook[1].used_in_restaurants[1].name": "Hungry Window",
364
- "api::cookbook.cookbook[1].used_in_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
365
- "api::cookbook.cookbook[1].used_in_restaurants[1].established_at": "2022-10-01",
366
- "api::cookbook.cookbook[1].used_in_restaurants[1].is_franchise": false,
367
- "api::cookbook.cookbook[1].used_in_restaurants[1].contact_email": "david@localazy.com",
368
- "api::cookbook.cookbook[1].used_in_restaurants[1].cuisine": "Thai",
369
- "api::cookbook.cookbook[1].used_in_restaurants[1].capacity": 68,
370
- "api::cookbook.cookbook[1].used_in_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
371
- "api::cookbook.cookbook[1].used_in_restaurants[1].menu[1].name": "Curry Soup",
372
- "api::cookbook.cookbook[1].used_in_restaurants[1].menu[1].price": 5,
373
- "api::cookbook.cookbook[1].used_in_restaurants[1].menu[1].currency": "$",
374
- "api::cookbook.cookbook[1].used_in_restaurants[1].menu[1].description": "_Super delicious soup._\n\n<u>Warning: Spicy as hell!</u>",
375
- "api::cookbook.cookbook[1].used_in_restaurants[1].menu[1].is_available": true,
376
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].title": "For Every Day of the Year II",
377
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].author_name": "David V.",
378
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].pages": 368,
379
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].name": "Potato Salad",
380
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].recipe": "Peel the potatoes, mix it with all the ingredients and you're done. Bon apetit!",
381
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].estimated_cook_time": "00:30:00.000",
382
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].difficulty": "easy",
383
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].author_name": "Mr. Potato Head",
384
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].gallery[1].image_title": "Raw potatoes",
385
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].gallery[1].image_description": "Fresh!",
386
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].gallery[2].image_title": "Salad",
387
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].gallery[2].image_description": "Yummy!",
388
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[1].name": "Potatoes",
389
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[1].amount": 2,
390
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[1].unit": "kg",
391
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[1].is_required": true,
392
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[2].name": "Peas",
393
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[2].amount": 1,
394
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[2].unit": "can",
395
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[2].is_required": true,
396
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[3].name": "Corn",
397
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[3].amount": 0.5,
398
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[3].unit": "can",
399
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[3].is_required": true,
400
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[4].name": "Mayo",
401
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[4].amount": 4,
402
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[4].unit": "spoons",
403
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[4].is_required": true,
404
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[5].name": "Cheese",
405
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[5].amount": 1,
406
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[5].unit": "block",
407
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[5].is_required": true,
408
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[6].name": "Apple",
409
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[6].amount": 1,
410
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[6].unit": "pcs",
411
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].recipes[1].ingredients[6].is_required": false,
412
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].gallery[1].annotation": "Check out our delicious meal, then read on and dive into the culinary heaven!",
413
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].gallery[1].main_image[3].image_title": "Cookbook",
414
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].gallery[1].main_image[3].image_description": "Booklet II",
415
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].gallery[1].gallery[5].image_description": "The booklet and leaves and fork.",
416
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].gallery[1].gallery[4].image_title": "Spices",
417
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].name": "Hungry Window",
418
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
419
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].established_at": "2022-10-01",
420
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].is_franchise": false,
421
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].contact_email": "david@localazy.com",
422
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].cuisine": "Thai",
423
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].capacity": 68,
424
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
425
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].menu[1].name": "Curry Soup",
426
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].menu[1].price": 5,
427
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].menu[1].currency": "$",
428
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].menu[1].description": "_Super delicious soup._\n\n<u>Warning: Spicy as hell!</u>",
429
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].menu[1].is_available": true,
430
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].title": "For Every Day of the Year II",
431
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].author_name": "David V.",
432
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].pages": 368,
433
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].name": "Blue Oyster",
434
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].description": "See food? Better say Sea food!",
435
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].established_at": "1822-07-09",
436
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].contact_email": "david@localazy.com",
437
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].cuisine": "Italian",
438
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].capacity": 16,
439
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].our_story": "Long tradition, wisdom given from generation to generation... Since 1822.",
440
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].name": "Hungry Window",
441
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
442
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].established_at": "2022-10-01",
443
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].is_franchise": false,
444
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].contact_email": "david@localazy.com",
445
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].cuisine": "Thai",
446
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].capacity": 68,
447
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
448
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].name": "Michelin's",
449
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].description": "The most fancy restaurant in the Solar System. Check out our menu created by the one and only Gordon Ramsay.",
450
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].established_at": "2002-06-23",
451
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].is_franchise": true,
452
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].contact_email": "david@localazy.com",
453
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].cuisine": "French",
454
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].capacity": 148,
455
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].our_story": "## The most fancy restaurant in the Solar System.\n\nCheck out our menu created by ~~just a random guy~~ the one and only **Gordon Ramsay**.",
456
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].title": "For Every Day of the Year II",
457
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].author_name": "David V.",
458
- "api::cookbook.cookbook[1].used_in_restaurants[1].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].pages": 368,
459
- "api::cookbook.cookbook[1].used_in_restaurants[3].name": "Blue Oyster",
460
- "api::cookbook.cookbook[1].used_in_restaurants[3].description": "See food? Better say Sea food!",
461
- "api::cookbook.cookbook[1].used_in_restaurants[3].established_at": "1822-07-09",
462
- "api::cookbook.cookbook[1].used_in_restaurants[3].contact_email": "david@localazy.com",
463
- "api::cookbook.cookbook[1].used_in_restaurants[3].cuisine": "Italian",
464
- "api::cookbook.cookbook[1].used_in_restaurants[3].capacity": 16,
465
- "api::cookbook.cookbook[1].used_in_restaurants[3].our_story": "Long tradition, wisdom given from generation to generation... Since 1822.",
466
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].name": "Hungry Window",
467
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
468
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].established_at": "2022-10-01",
469
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].is_franchise": false,
470
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].contact_email": "david@localazy.com",
471
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].cuisine": "Thai",
472
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].capacity": 68,
473
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
474
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].menu[1].name": "Curry Soup",
475
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].menu[1].price": 5,
476
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].menu[1].currency": "$",
477
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].menu[1].description": "_Super delicious soup._\n\n<u>Warning: Spicy as hell!</u>",
478
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].menu[1].is_available": true,
479
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].title": "For Every Day of the Year II",
480
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].author_name": "David V.",
481
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].pages": 368,
482
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].recipes[1].name": "Potato Salad",
483
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].recipes[1].recipe": "Peel the potatoes, mix it with all the ingredients and you're done. Bon apetit!",
484
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].recipes[1].estimated_cook_time": "00:30:00.000",
485
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].recipes[1].difficulty": "easy",
486
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].recipes[1].author_name": "Mr. Potato Head",
487
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].gallery[1].annotation": "Check out our delicious meal, then read on and dive into the culinary heaven!",
488
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].name": "Hungry Window",
489
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
490
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].established_at": "2022-10-01",
491
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].is_franchise": false,
492
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].contact_email": "david@localazy.com",
493
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].cuisine": "Thai",
494
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].capacity": 68,
495
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
496
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].name": "Blue Oyster",
497
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].description": "See food? Better say Sea food!",
498
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].established_at": "1822-07-09",
499
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].contact_email": "david@localazy.com",
500
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].cuisine": "Italian",
501
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].capacity": 16,
502
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[1].used_cookbooks[1].used_in_restaurants[3].our_story": "Long tradition, wisdom given from generation to generation... Since 1822.",
503
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].name": "Michelin's",
504
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].description": "The most fancy restaurant in the Solar System. Check out our menu created by the one and only Gordon Ramsay.",
505
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].established_at": "2002-06-23",
506
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].is_franchise": true,
507
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].contact_email": "david@localazy.com",
508
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].cuisine": "French",
509
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].capacity": 148,
510
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].our_story": "## The most fancy restaurant in the Solar System.\n\nCheck out our menu created by ~~just a random guy~~ the one and only **Gordon Ramsay**.",
511
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].name": "Hungry Window",
512
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
513
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].established_at": "2022-10-01",
514
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].is_franchise": false,
515
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].contact_email": "david@localazy.com",
516
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].cuisine": "Thai",
517
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].capacity": 68,
518
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
519
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].menu[1].name": "Curry Soup",
520
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].menu[1].price": 5,
521
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].menu[1].currency": "$",
522
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].menu[1].description": "_Super delicious soup._\n\n<u>Warning: Spicy as hell!</u>",
523
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].menu[1].is_available": true,
524
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].used_cookbooks[1].title": "For Every Day of the Year II",
525
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].used_cookbooks[1].author_name": "David V.",
526
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].supported_restaurants[1].used_cookbooks[1].pages": 368,
527
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[2].name": "Crème brûlée",
528
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[2].price": 24,
529
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[2].currency": "$",
530
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[2].description": "\n>Can't dream of a better one! Your tongue will be in the state of a pure happiness!\n\nSays Gordon himself.",
531
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[2].is_available": true,
532
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[3].name": "Lobster",
533
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[3].price": 99.9,
534
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[3].currency": "$",
535
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[3].description": "Creamy, juicy, spicy!",
536
- "api::cookbook.cookbook[1].used_in_restaurants[3].supported_restaurants[2].menu[3].is_available": false,
537
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].title": "For Every Day of the Year II",
538
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].author_name": "David V.",
539
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].pages": 368,
540
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].name": "Potato Salad",
541
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].recipe": "Peel the potatoes, mix it with all the ingredients and you're done. Bon apetit!",
542
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].estimated_cook_time": "00:30:00.000",
543
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].difficulty": "easy",
544
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].author_name": "Mr. Potato Head",
545
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].gallery[1].image_title": "Raw potatoes",
546
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].gallery[1].image_description": "Fresh!",
547
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].gallery[2].image_title": "Salad",
548
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].gallery[2].image_description": "Yummy!",
549
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[1].name": "Potatoes",
550
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[1].amount": 2,
551
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[1].unit": "kg",
552
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[1].is_required": true,
553
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[2].name": "Peas",
554
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[2].amount": 1,
555
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[2].unit": "can",
556
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[2].is_required": true,
557
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[3].name": "Corn",
558
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[3].amount": 0.5,
559
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[3].unit": "can",
560
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[3].is_required": true,
561
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[4].name": "Mayo",
562
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[4].amount": 4,
563
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[4].unit": "spoons",
564
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[4].is_required": true,
565
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[5].name": "Cheese",
566
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[5].amount": 1,
567
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[5].unit": "block",
568
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[5].is_required": true,
569
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[6].name": "Apple",
570
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[6].amount": 1,
571
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[6].unit": "pcs",
572
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].recipes[1].ingredients[6].is_required": false,
573
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].gallery[1].annotation": "Check out our delicious meal, then read on and dive into the culinary heaven!",
574
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].gallery[1].main_image[3].image_title": "Cookbook",
575
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].gallery[1].main_image[3].image_description": "Booklet II",
576
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].gallery[1].gallery[5].image_description": "The booklet and leaves and fork.",
577
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].gallery[1].gallery[4].image_title": "Spices",
578
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].name": "Hungry Window",
579
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
580
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].established_at": "2022-10-01",
581
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].is_franchise": false,
582
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].contact_email": "david@localazy.com",
583
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].cuisine": "Thai",
584
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].capacity": 68,
585
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
586
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].menu[1].name": "Curry Soup",
587
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].menu[1].price": 5,
588
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].menu[1].currency": "$",
589
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].menu[1].description": "_Super delicious soup._\n\n<u>Warning: Spicy as hell!</u>",
590
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].menu[1].is_available": true,
591
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].title": "For Every Day of the Year II",
592
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].author_name": "David V.",
593
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[1].used_cookbooks[1].pages": 368,
594
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].name": "Blue Oyster",
595
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].description": "See food? Better say Sea food!",
596
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].established_at": "1822-07-09",
597
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].contact_email": "david@localazy.com",
598
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].cuisine": "Italian",
599
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].capacity": 16,
600
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].our_story": "Long tradition, wisdom given from generation to generation... Since 1822.",
601
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].name": "Hungry Window",
602
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].description": "Oriental street food in your mouth quick and easy!",
603
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].established_at": "2022-10-01",
604
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].is_franchise": false,
605
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].contact_email": "david@localazy.com",
606
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].cuisine": "Thai",
607
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].capacity": 68,
608
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[1].our_story": "There's **more** behind! Check out our story at [Localazy](https://localazy.com).\n\n![Logo_sq-01.png](/uploads/Logo_sq_01_08b9bb6be1.png)",
609
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].name": "Michelin's",
610
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].description": "The most fancy restaurant in the Solar System. Check out our menu created by the one and only Gordon Ramsay.",
611
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].established_at": "2002-06-23",
612
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].is_franchise": true,
613
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].contact_email": "david@localazy.com",
614
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].cuisine": "French",
615
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].capacity": 148,
616
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].supported_restaurants[2].our_story": "## The most fancy restaurant in the Solar System.\n\nCheck out our menu created by ~~just a random guy~~ the one and only **Gordon Ramsay**.",
617
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].title": "For Every Day of the Year II",
618
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].author_name": "David V.",
619
- "api::cookbook.cookbook[1].used_in_restaurants[3].used_cookbooks[1].used_in_restaurants[3].used_cookbooks[1].pages": 368,
620
- };
621
-
622
- const pickPaths = [
623
- "api::cookbook.cookbook.title",
624
- "api::cookbook.cookbook.recipes.name",
625
- "api::cookbook.cookbook.recipes.recipe",
626
- "api::cookbook.cookbook.recipes.gallery.image_title",
627
- "api::cookbook.cookbook.recipes.gallery.image_description",
628
- "api::cookbook.cookbook.recipes.author_name",
629
- "api::cookbook.cookbook.recipes.ingredients.name",
630
- "api::cookbook.cookbook.recipes.ingredients.unit",
631
- "api::cookbook.cookbook.gallery.main_image.image_title",
632
- "api::cookbook.cookbook.gallery.main_image.image_description",
633
- "api::cookbook.cookbook.gallery.gallery.image_title",
634
- "api::cookbook.cookbook.gallery.gallery.image_description",
635
- "api::cookbook.cookbook.gallery.optional_title",
636
- "api::cookbook.cookbook.gallery.annotation",
637
- "api::cookbook.cookbook.id",
638
- ];
639
-
640
- const transferSetupModel = {
641
- __model__: true,
642
- title: true,
643
- author_name: null,
644
- pages: null,
645
- recipes: {
646
- name: true,
647
- recipe: true,
648
- gallery: {
649
- image_title: true,
650
- image_description: true,
651
- image: null,
652
- },
653
- estimated_cook_time: null,
654
- difficulty: null,
655
- author_name: true,
656
- ingredients: {
657
- name: true,
658
- amount: null,
659
- unit: true,
660
- is_required: null,
661
- },
662
- },
663
- gallery: {
664
- main_image: {
665
- image_title: true,
666
- image_description: true,
667
- image: null,
668
- },
669
- gallery: {
670
- image_title: true,
671
- image_description: true,
672
- image: null,
673
- },
674
- optional_title: true,
675
- annotation: true,
676
- },
677
- used_in_restaurants: null,
678
- };
679
-
680
- // EXECUTE
681
- const result = pickEntries(entry, pickPaths, transferSetupModel);
682
-
683
- // VERIFY
684
- const expected = {
685
- "api::cookbook.cookbook[1].title": "For Every Day of the Year II",
686
- "api::cookbook.cookbook[1].recipes[1].name": "Potato Salad",
687
- "api::cookbook.cookbook[1].recipes[1].recipe": "Peel the potatoes, mix it with all the ingredients and you're done. Bon apetit!",
688
- "api::cookbook.cookbook[1].recipes[1].author_name": "Mr. Potato Head",
689
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image_title": "Raw potatoes",
690
- "api::cookbook.cookbook[1].recipes[1].gallery[1].image_description": "Fresh!",
691
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image_title": "Salad",
692
- "api::cookbook.cookbook[1].recipes[1].gallery[2].image_description": "Yummy!",
693
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].name": "Potatoes",
694
- "api::cookbook.cookbook[1].recipes[1].ingredients[1].unit": "kg",
695
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].name": "Peas",
696
- "api::cookbook.cookbook[1].recipes[1].ingredients[2].unit": "can",
697
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].name": "Corn",
698
- "api::cookbook.cookbook[1].recipes[1].ingredients[3].unit": "can",
699
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].name": "Mayo",
700
- "api::cookbook.cookbook[1].recipes[1].ingredients[4].unit": "spoons",
701
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].name": "Cheese",
702
- "api::cookbook.cookbook[1].recipes[1].ingredients[5].unit": "block",
703
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].name": "Apple",
704
- "api::cookbook.cookbook[1].recipes[1].ingredients[6].unit": "pcs",
705
- "api::cookbook.cookbook[1].gallery[1].annotation": "Check out our delicious meal, then read on and dive into the culinary heaven!",
706
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image_title": "Cookbook",
707
- "api::cookbook.cookbook[1].gallery[1].main_image[3].image_description": "Booklet II",
708
- "api::cookbook.cookbook[1].gallery[1].gallery[5].image_description": "The booklet and leaves and fork.",
709
- "api::cookbook.cookbook[1].gallery[1].gallery[4].image_title": "Spices",
710
- };
711
-
712
- expect(result).toEqual(expected);
713
- });
714
-
715
- it("should pick entries correctly case C", () => {
716
- // SETUP
717
- const entry = {
718
- "api::course.course[1].title": "Math Basics",
719
- "api::course.course[1].description": "Learn the basics of Math. You won't be smarter than Archimedes or Thales of Miletus, but you'll be smarter than a new-born baby.",
720
- "api::course.course[1].chapters[1].title": "1. Addition",
721
- "api::course.course[1].chapters[1].lessons[1].title": "Lecture: Addition",
722
- "api::course.course[1].chapters[1].lessons[1].start_time": "2022-09-28T09:00:00.000Z",
723
- "api::course.course[1].chapters[1].lessons[1].duration": "03:00:00.000",
724
- "api::course.course[1].chapters[1].lessons[1].description": "## Description\n\nIn this lesson, we'll learn about addition and what rules to follow...",
725
- "api::course.course[1].chapters[1].lessons[1].lesson_type[1].__component": "lesson.lecture",
726
- "api::course.course[1].chapters[1].lessons[1].lesson_type[1].content": "You need to follow these rules:\na) add one number to the other\nb) do not subtract nor multiply\nc) ...",
727
- "api::course.course[1].chapters[1].lessons[2].title": "Test: Addition",
728
- "api::course.course[1].chapters[1].lessons[2].start_time": "2022-10-01T13:00:00.000Z",
729
- "api::course.course[1].chapters[1].lessons[2].duration": "02:00:00.000",
730
- "api::course.course[1].chapters[1].lessons[2].description": "Test your skills we've learnt in the previous lesson.",
731
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].__component": "lesson.quiz",
732
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].title": "Choose the correct answer",
733
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[1].question": "1 + 1 = ",
734
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[1].is_active": true,
735
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[1].question_number": 1,
736
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[2].question": "5 + 15 = ",
737
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[2].is_active": false,
738
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[2].question_number": 2,
739
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[3].question": "How many cups are on the photo?",
740
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[3].is_active": false,
741
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].questions[3].question_number": 3,
742
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[1].question_number": 1,
743
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[1].correct_answer": "2",
744
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[2].question_number": 2,
745
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[2].correct_answer": "20",
746
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[3].question_number": 3,
747
- "api::course.course[1].chapters[1].lessons[2].lesson_type[1].answers[3].correct_answer": "15",
748
- "api::course.course[1].gallery[40].main_image[173].image_title": "Multicolored abacus",
749
- "api::course.course[1].gallery[40].main_image[173].image_description": "Use it to learn how to count from one to hundred.",
750
- "api::course.course[1].gallery[40].main_image[173].image[14].name": "crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
751
- "api::course.course[1].gallery[40].main_image[173].image[14].alternativeText": "crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
752
- "api::course.course[1].gallery[40].main_image[173].image[14].caption": "crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
753
- "api::course.course[1].gallery[40].main_image[173].image[14].width": 4288,
754
- "api::course.course[1].gallery[40].main_image[173].image[14].height": 2848,
755
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.name": "thumbnail_crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
756
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.hash": "thumbnail_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e",
757
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.ext": ".jpg",
758
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.mime": "image/jpeg",
759
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.width": 235,
760
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.height": 156,
761
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.size": 4.24,
762
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.thumbnail.url": "/uploads/thumbnail_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e.jpg",
763
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.name": "large_crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
764
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.hash": "large_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e",
765
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.ext": ".jpg",
766
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.mime": "image/jpeg",
767
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.width": 1000,
768
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.height": 664,
769
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.size": 37,
770
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.large.url": "/uploads/large_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e.jpg",
771
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.name": "medium_crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
772
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.hash": "medium_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e",
773
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.ext": ".jpg",
774
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.mime": "image/jpeg",
775
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.width": 750,
776
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.height": 498,
777
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.size": 23.96,
778
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.medium.url": "/uploads/medium_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e.jpg",
779
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.name": "small_crissy-jarvis-cHhbULJbPwM-unsplash.jpg",
780
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.hash": "small_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e",
781
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.ext": ".jpg",
782
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.mime": "image/jpeg",
783
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.width": 500,
784
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.height": 332,
785
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.size": 13.05,
786
- "api::course.course[1].gallery[40].main_image[173].image[14].formats.small.url": "/uploads/small_crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e.jpg",
787
- "api::course.course[1].gallery[40].main_image[173].image[14].hash": "crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e",
788
- "api::course.course[1].gallery[40].main_image[173].image[14].ext": ".jpg",
789
- "api::course.course[1].gallery[40].main_image[173].image[14].mime": "image/jpeg",
790
- "api::course.course[1].gallery[40].main_image[173].image[14].size": 370.78,
791
- "api::course.course[1].gallery[40].main_image[173].image[14].url": "/uploads/crissy_jarvis_c_Hhb_UL_Jb_Pw_M_unsplash_fc35a7227e.jpg",
792
- "api::course.course[1].gallery[40].main_image[173].image[14].provider": "local",
793
- "api::course.course[1].gallery[40].gallery[174].image_title": "Fractions",
794
- "api::course.course[1].gallery[40].gallery[174].image_description": "We won't teach you that here!",
795
- "api::course.course[1].gallery[40].gallery[174].image[15].name": "chris-liverani-ViEBSoZH6M4-unsplash.jpg",
796
- "api::course.course[1].gallery[40].gallery[174].image[15].alternativeText": "chris-liverani-ViEBSoZH6M4-unsplash.jpg",
797
- "api::course.course[1].gallery[40].gallery[174].image[15].caption": "chris-liverani-ViEBSoZH6M4-unsplash.jpg",
798
- "api::course.course[1].gallery[40].gallery[174].image[15].width": 3024,
799
- "api::course.course[1].gallery[40].gallery[174].image[15].height": 4032,
800
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.name": "thumbnail_chris-liverani-ViEBSoZH6M4-unsplash.jpg",
801
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.hash": "thumbnail_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2",
802
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.ext": ".jpg",
803
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.mime": "image/jpeg",
804
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.width": 117,
805
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.height": 156,
806
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.size": 5.88,
807
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.thumbnail.url": "/uploads/thumbnail_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2.jpg",
808
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.name": "large_chris-liverani-ViEBSoZH6M4-unsplash.jpg",
809
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.hash": "large_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2",
810
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.ext": ".jpg",
811
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.mime": "image/jpeg",
812
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.width": 750,
813
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.height": 1000,
814
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.size": 107.3,
815
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.large.url": "/uploads/large_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2.jpg",
816
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.name": "medium_chris-liverani-ViEBSoZH6M4-unsplash.jpg",
817
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.hash": "medium_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2",
818
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.ext": ".jpg",
819
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.mime": "image/jpeg",
820
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.width": 563,
821
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.height": 750,
822
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.size": 64.66,
823
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.medium.url": "/uploads/medium_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2.jpg",
824
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.name": "small_chris-liverani-ViEBSoZH6M4-unsplash.jpg",
825
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.hash": "small_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2",
826
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.ext": ".jpg",
827
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.mime": "image/jpeg",
828
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.width": 375,
829
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.height": 500,
830
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.size": 34.31,
831
- "api::course.course[1].gallery[40].gallery[174].image[15].formats.small.url": "/uploads/small_chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2.jpg",
832
- "api::course.course[1].gallery[40].gallery[174].image[15].hash": "chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2",
833
- "api::course.course[1].gallery[40].gallery[174].image[15].ext": ".jpg",
834
- "api::course.course[1].gallery[40].gallery[174].image[15].mime": "image/jpeg",
835
- "api::course.course[1].gallery[40].gallery[174].image[15].size": 885.07,
836
- "api::course.course[1].gallery[40].gallery[174].image[15].url": "/uploads/chris_liverani_Vi_EB_So_ZH_6_M4_unsplash_aef91e05a2.jpg",
837
- "api::course.course[1].gallery[40].gallery[174].image[15].provider": "local",
838
- };
839
-
840
- const pickPaths = [
841
- "api::course.course.title",
842
- "api::course.course.description",
843
- "api::course.course.gallery.main_image.image_title",
844
- "api::course.course.gallery.main_image.image_description",
845
- "api::course.course.gallery.gallery.image_title",
846
- "api::course.course.gallery.gallery.image_description",
847
- "api::course.course.gallery.optional_title",
848
- "api::course.course.gallery.annotation",
849
- "api::course.course.id",
850
- ];
851
-
852
- const transferSetupModel = {
853
- __model__: true,
854
- title: true,
855
- description: true,
856
- chapters: null,
857
- gallery: {
858
- main_image: {
859
- image_title: true,
860
- image_description: true,
861
- image: null,
862
- },
863
- gallery: {
864
- image_title: true,
865
- image_description: true,
866
- image: null,
867
- },
868
- optional_title: true,
869
- annotation: true,
870
- },
871
- };
872
-
873
- // EXECUTE
874
- const result = pickEntries(entry, pickPaths, transferSetupModel);
875
-
876
- // VERIFY
877
- const expected = {
878
- "api::course.course[1].title": "Math Basics",
879
- "api::course.course[1].description": "Learn the basics of Math. You won't be smarter than Archimedes or Thales of Miletus, but you'll be smarter than a new-born baby.",
880
- "api::course.course[1].gallery[40].main_image[173].image_title": "Multicolored abacus",
881
- "api::course.course[1].gallery[40].main_image[173].image_description": "Use it to learn how to count from one to hundred.",
882
- "api::course.course[1].gallery[40].gallery[174].image_title": "Fractions",
883
- "api::course.course[1].gallery[40].gallery[174].image_description": "We won't teach you that here!",
884
- };
885
-
886
- expect(result).toEqual(expected);
887
- });
888
-
889
- it("should correctly pick paths from entry including a Dynamic Zone", () => {
890
- // SETUP
891
- const entry = {
892
- "api::lesson.lesson[1].title": "Lecture: Addition",
893
- "api::lesson.lesson[1].start_time": "2022-09-28T09:00:00.000Z",
894
- "api::lesson.lesson[1].duration": "03:00:00.000",
895
- "api::lesson.lesson[1].description": "## Description\n\nIn this lesson, we'll learn about addition and what rules to follow...",
896
- "api::lesson.lesson[1].lesson_type[1;lesson.lecture].__component": "lesson.lecture",
897
- "api::lesson.lesson[1].lesson_type[1;lesson.lecture].content": "You need to follow these rules:\na) add one number to the other\nb) do not subtract nor multiply\nc) ...",
898
- };
899
-
900
- const pickPaths = [
901
- "api::lesson.lesson.title",
902
- "api::lesson.lesson.description",
903
- "api::lesson.lesson.lesson_type[lecture].content",
904
- "api::lesson.lesson.lesson_type[survey].description",
905
- "api::lesson.lesson.lesson_type[survey].questions.question",
906
- "api::lesson.lesson.lesson_type[quiz].title",
907
- "api::lesson.lesson.lesson_type[quiz].questions.question",
908
- "api::lesson.lesson.lesson_type[quiz].answers.correct_answer",
909
- "api::lesson.lesson.id",
910
- ];
911
-
912
- const transferSetupModel = {
913
- __model__: true,
914
- title: true,
915
- start_time: null,
916
- duration: null,
917
- description: true,
918
- lesson_type: [
919
- {
920
- __component__: "lesson.lecture",
921
- content: false,
922
- },
923
- {
924
- __component__: "lesson.survey",
925
- description: true,
926
- questions: {
927
- question: true,
928
- is_active: null,
929
- assets: null,
930
- question_number: null,
931
- },
932
- },
933
- {
934
- __component__: "lesson.quiz",
935
- title: true,
936
- questions: {
937
- question: true,
938
- is_active: null,
939
- assets: null,
940
- question_number: null,
941
- },
942
- answers: {
943
- question_number: null,
944
- correct_answer: true,
945
- answer_asset: null,
946
- },
947
- },
948
- ],
949
- };
950
-
951
- // EXECUTE
952
- const result = pickEntries(entry, pickPaths, transferSetupModel);
953
-
954
- // VERIFY
955
- const expected = {
956
- "api::lesson.lesson[1].title": "Lecture: Addition",
957
- "api::lesson.lesson[1].description": "## Description\n\nIn this lesson, we'll learn about addition and what rules to follow...",
958
- "api::lesson.lesson[1].lesson_type[1;lesson.lecture].content": "You need to follow these rules:\na) add one number to the other\nb) do not subtract nor multiply\nc) ...",
959
- }
960
-
961
- expect(result).toEqual(expected);
962
- });
963
- });