@localazy/strapi-plugin 0.1.10 → 0.1.11-rc.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 (59) hide show
  1. package/.eslintrc +6 -2
  2. package/admin/src/modules/@common/models/supported-content-type-fields.js +8 -0
  3. package/admin/src/modules/plugin-settings/components/ContentTransferSetup/index.js +5 -0
  4. package/admin/src/modules/plugin-settings/components/Tree/index.js +22 -5
  5. package/admin/src/modules/plugin-settings/functions/build-content-transfer-setup-schema.js +1 -1
  6. package/admin/src/modules/plugin-settings/functions/has-model-changed.js +1 -1
  7. package/admin/src/modules/plugin-settings/locale/en.js +1 -1
  8. package/admin/src/modules/plugin-settings/utils/get-filtered-models-schemas.js +1 -7
  9. package/admin/src/modules/plugin-settings/utils/get-models-tree.js +21 -3
  10. package/package.json +4 -4
  11. package/server/bootstrap.js +15 -1
  12. package/server/controllers/localazy-transfer-controller.js +67 -52
  13. package/server/functions/should-set-downloaded-property.js +61 -0
  14. package/server/models/supported-content-type-fields.js +8 -0
  15. package/server/services/index.js +2 -0
  16. package/server/services/strapi-i18n-service.js +5 -4
  17. package/server/services/strapi-localazy-i18n-service.js +104 -0
  18. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-cookbook.js +5761 -0
  19. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-lesson-dz.js +392 -0
  20. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-restaurant-simple-menu.js +536 -0
  21. package/server/tests/fixtures/parsed-localazy-entry-to-create-entry-sample-json-dz.js +4675 -0
  22. package/server/tests/fixtures/parsed-localazy-entry-to-update-entry.js +35157 -0
  23. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook-empty-recipes.js +202 -0
  24. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-cookbook.js +2700 -0
  25. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-lesson-dz.js +309 -0
  26. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-simple.js +47 -0
  27. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-flat-with-media.js +169 -0
  28. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-empty.js +3003 -0
  29. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-restaurant-simple-menu-with-media.js +2057 -0
  30. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json-dz.js +884 -0
  31. package/server/tests/fixtures/populate-create-update-entry-with-base-entry-sample-json.js +46 -0
  32. package/server/tests/fixtures/strapi-plugin-all-models.js +2048 -0
  33. package/server/utils/__tests__/get-models-tree.test.js +1 -1
  34. package/server/utils/__tests__/parsed-localazy-entry-to-create-entry.test.js +237 -91
  35. package/server/utils/__tests__/parsed-localazy-entry-to-update-entry.test.js +417 -101
  36. package/server/utils/__tests__/pick-entries.test.js +936 -56
  37. package/server/utils/__tests__/populate-create-update-entry-with-base-entry.test.js +1139 -0
  38. package/server/utils/build-populate.js +5 -0
  39. package/server/utils/get-full-populate-object.js +56 -0
  40. package/server/utils/get-models-tree.js +3 -1
  41. package/server/utils/model-utils.js +43 -0
  42. package/server/utils/omit-deep.js +7 -0
  43. package/server/utils/parsed-localazy-entry-to-create-entry.js +58 -21
  44. package/server/utils/parsed-localazy-entry-to-update-entry.js +44 -4
  45. package/server/utils/pick-deep.js +22 -0
  46. package/server/utils/pick-entries.js +90 -5
  47. package/server/utils/populate-create-update-entry-with-base-entry.js +270 -0
  48. package/server/utils/transfer-setup-utils.js +14 -0
  49. package/server/tests/fixtures/all-models-with-multimedia.js +0 -1064
  50. package/server/tests/fixtures/collection-flattened.js +0 -76
  51. package/server/tests/fixtures/restaurant-flattened.js +0 -46
  52. package/server/tests/fixtures/restaurant-model.js +0 -230
  53. package/server/tests/fixtures/restaurants-entries.js +0 -152
  54. package/server/tests/fixtures/restaurants-pick-paths.js +0 -15
  55. package/server/tests/fixtures/strapi-book-with-multimedia-components-cs.js +0 -31
  56. package/server/tests/fixtures/stringified-book-cs.js +0 -3
  57. package/server/tests/fixtures/stringified-book-with-multimedia-components-cs.js +0 -3
  58. package/server/tests/fixtures/stringified-restaurant-cs.js +0 -3
  59. package/server/tests/fixtures/stringified-restaurant-de.js +0 -5
@@ -1,83 +1,963 @@
1
1
  "use strict";
2
2
 
3
3
  const pickEntries = require("../pick-entries");
4
- const restaurantFlattened = require("../../tests/fixtures/restaurant-flattened");
5
- const collectionFlattened = require("../../tests/fixtures/collection-flattened");
6
- const restaurantsPickPaths = require("../../tests/fixtures/restaurants-pick-paths");
7
4
 
8
5
  describe("pick entries test suite", () => {
9
- it("should return picked entries from 1 restaurant", () => {
6
+ it("should pick entries correctly case A", () => {
10
7
  // SETUP
11
- const entry = restaurantFlattened;
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
+
12
82
  const pickPaths = [
13
- "api::restaurant.restaurant.title",
14
- "api::restaurant.restaurant.description",
15
- "api::restaurant.restaurant.street",
16
- "api::restaurant.restaurant.city",
17
- "api::restaurant.restaurant.country",
18
- "api::restaurant.restaurant.id",
83
+ "api::chapter.chapter.title",
84
+ "api::chapter.chapter.id",
19
85
  ];
20
86
 
87
+ const transferSetupModel = {
88
+ __model__: true,
89
+ title: true,
90
+ lessons: null,
91
+ };
92
+
21
93
  // EXECUTE
22
- const result = pickEntries(entry, pickPaths);
94
+ const result = pickEntries(entry, pickPaths, transferSetupModel);
23
95
 
24
96
  // VERIFY
25
97
  const expected = {
26
- "api::restaurant.restaurant[3].city": "Testow",
27
- "api::restaurant.restaurant[3].country": "Test Rep.",
28
- "api::restaurant.restaurant[3].description":
29
- "With some great description",
30
- "api::restaurant.restaurant[3].street": "Testowa",
31
- "api::restaurant.restaurant[3].title": "Full Restaurant",
98
+ "api::chapter.chapter[1].title": "1. Addition",
32
99
  };
100
+
33
101
  expect(result).toEqual(expected);
34
102
  });
35
103
 
36
- it("should return picked entries from collection", () => {
104
+ it("should pick entries correctly case B", () => {
37
105
  // SETUP
38
- const entry = collectionFlattened;
39
- const pickPaths = restaurantsPickPaths("api::restaurant.restaurant");
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
+ };
40
679
 
41
680
  // EXECUTE
42
- const result = pickEntries(entry, pickPaths);
681
+ const result = pickEntries(entry, pickPaths, transferSetupModel);
43
682
 
44
683
  // VERIFY
45
684
  const expected = {
46
- "api::restaurant.restaurant[1].description": "Restaurant 1 description",
47
- "api::restaurant.restaurant[1].descs[1].rich_description":
48
- "restaurant 1 rich_desc",
49
- "api::restaurant.restaurant[1].title": "Restaurant 1",
50
- "api::restaurant.restaurant[2].description": "Restaurant 2 description",
51
- "api::restaurant.restaurant[2].title": "Restaurant 2",
52
- "api::restaurant.restaurant[3].city": "Testow",
53
- "api::restaurant.restaurant[3].country": "Test Rep.",
54
- "api::restaurant.restaurant[3].description":
55
- "With some great description",
56
- "api::restaurant.restaurant[3].descs[3].excerpt": "Est. 2022",
57
- "api::restaurant.restaurant[3].descs[3].history":
58
- "Est. 2022, based in NY, NY",
59
- "api::restaurant.restaurant[3].descs[3].rich_description":
60
- "Another restaurant desc",
61
- "api::restaurant.restaurant[3].descs[3].test_variants[5].name":
62
- "no such thing...",
63
- "api::restaurant.restaurant[3].recipes[2].ingredients[4].name": "Beef",
64
- "api::restaurant.restaurant[3].recipes[2].ingredients[5].name": "Water",
65
- "api::restaurant.restaurant[3].recipes[2].name": "Beef Broth",
66
- "api::restaurant.restaurant[3].recipes[3].ingredients[2].name": "Tomato",
67
- "api::restaurant.restaurant[3].recipes[3].ingredients[3].name": "Soup",
68
- "api::restaurant.restaurant[3].recipes[3].name": "Tomato Soup",
69
- "api::restaurant.restaurant[3].recipes[3].variants[4].name":
70
- "Red, yellow, green",
71
- "api::restaurant.restaurant[3].recipes[4].ingredients[6].name":
72
- "Beef meat",
73
- "api::restaurant.restaurant[3].recipes[4].ingredients[7].name": "Pepper",
74
- "api::restaurant.restaurant[3].recipes[4].ingredients[8].name":
75
- "Pepper spices",
76
- "api::restaurant.restaurant[3].recipes[4].ingredients[9].name": "Water",
77
- "api::restaurant.restaurant[3].recipes[4].name": "Goulash",
78
- "api::restaurant.restaurant[3].street": "Testowa",
79
- "api::restaurant.restaurant[3].title": "Full Restaurant",
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",
80
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].__component": "lesson.lecture",
897
+ "api::lesson.lesson[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) ...",
898
+ };
899
+
900
+ const pickPaths = [
901
+ "api::lesson.lesson.title",
902
+ "api::lesson.lesson.description",
903
+ "api::lesson.lesson.lesson_type[0].content",
904
+ "api::lesson.lesson.lesson_type[1].description",
905
+ "api::lesson.lesson.lesson_type[1].questions.question",
906
+ "api::lesson.lesson.lesson_type[2].title",
907
+ "api::lesson.lesson.lesson_type[2].questions.question",
908
+ "api::lesson.lesson.lesson_type[2].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
+
81
961
  expect(result).toEqual(expected);
82
962
  });
83
963
  });