@sgftech/medusa-plugin-marketplace-v2 0.1.26

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 (222) hide show
  1. package/.babelrc.js +12 -0
  2. package/.eslintrc.js +68 -0
  3. package/.vscode/settings.json +2 -0
  4. package/.yarnrc.yml +1 -0
  5. package/README.md +70 -0
  6. package/SECURITY.md +21 -0
  7. package/data/seed-onboarding.json +141 -0
  8. package/data/seed.json +1006 -0
  9. package/dist/api/middlewares/authenticate-user.d.ts +15 -0
  10. package/dist/api/middlewares/authenticate-user.js +212 -0
  11. package/dist/api/middlewares/authenticate-user.js.map +1 -0
  12. package/dist/api/middlewares/logged-in-user-v2.d.ts +3 -0
  13. package/dist/api/middlewares/logged-in-user-v2.js +69 -0
  14. package/dist/api/middlewares/logged-in-user-v2.js.map +1 -0
  15. package/dist/api/middlewares/logged-in-user.d.ts +1 -0
  16. package/dist/api/middlewares/logged-in-user.js +18 -0
  17. package/dist/api/middlewares/logged-in-user.js.map +1 -0
  18. package/dist/api/routes/admin/create-product.d.ts +1 -0
  19. package/dist/api/routes/admin/create-product.js +19 -0
  20. package/dist/api/routes/admin/create-product.js.map +1 -0
  21. package/dist/api/routes/admin/create-store.d.ts +1 -0
  22. package/dist/api/routes/admin/create-store.js +19 -0
  23. package/dist/api/routes/admin/create-store.js.map +1 -0
  24. package/dist/api/routes/admin/create-user.d.ts +1 -0
  25. package/dist/api/routes/admin/create-user.js +19 -0
  26. package/dist/api/routes/admin/create-user.js.map +1 -0
  27. package/dist/index.d.ts +0 -0
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/migrations/1629000000000-create-workflow-table.d.ts +5 -0
  31. package/dist/migrations/1629000000000-create-workflow-table.js +29 -0
  32. package/dist/migrations/1629000000000-create-workflow-table.js.map +1 -0
  33. package/dist/migrations/1629000000001-workflow-table-stage.d.ts +5 -0
  34. package/dist/migrations/1629000000001-workflow-table-stage.js +48 -0
  35. package/dist/migrations/1629000000001-workflow-table-stage.js.map +1 -0
  36. package/dist/migrations/1632467997443-workflow-requests.d.ts +5 -0
  37. package/dist/migrations/1632467997443-workflow-requests.js +48 -0
  38. package/dist/migrations/1632467997443-workflow-requests.js.map +1 -0
  39. package/dist/migrations/1632468000000-update-workflow-keys-table.d.ts +5 -0
  40. package/dist/migrations/1632468000000-update-workflow-keys-table.js +31 -0
  41. package/dist/migrations/1632468000000-update-workflow-keys-table.js.map +1 -0
  42. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.d.ts +5 -0
  43. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js +52 -0
  44. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js.map +1 -0
  45. package/dist/migrations/1632471000000-update-user-table-for-approvers.d.ts +5 -0
  46. package/dist/migrations/1632471000000-update-user-table-for-approvers.js +43 -0
  47. package/dist/migrations/1632471000000-update-user-table-for-approvers.js.map +1 -0
  48. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.d.ts +5 -0
  49. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js +43 -0
  50. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js.map +1 -0
  51. package/dist/migrations/1632473000000-create-approval-table.d.ts +5 -0
  52. package/dist/migrations/1632473000000-create-approval-table.js +54 -0
  53. package/dist/migrations/1632473000000-create-approval-table.js.map +1 -0
  54. package/dist/migrations/1652101349791-order.migration.d.ts +6 -0
  55. package/dist/migrations/1652101349791-order.migration.js +26 -0
  56. package/dist/migrations/1652101349791-order.migration.js.map +1 -0
  57. package/dist/migrations/1655123458263-invite.migration.d.ts +6 -0
  58. package/dist/migrations/1655123458263-invite.migration.js +23 -0
  59. package/dist/migrations/1655123458263-invite.migration.js.map +1 -0
  60. package/dist/migrations/1655131148363-role.migration.d.ts +6 -0
  61. package/dist/migrations/1655131148363-role.migration.js +32 -0
  62. package/dist/migrations/1655131148363-role.migration.js.map +1 -0
  63. package/dist/migrations/1655131601491-permission.migration.d.ts +6 -0
  64. package/dist/migrations/1655131601491-permission.migration.js +47 -0
  65. package/dist/migrations/1655131601491-permission.migration.js.map +1 -0
  66. package/dist/migrations/1655132360987-user.migration.d.ts +6 -0
  67. package/dist/migrations/1655132360987-user.migration.js +29 -0
  68. package/dist/migrations/1655132360987-user.migration.js.map +1 -0
  69. package/dist/migrations/1666588571522-user.migration.d.ts +6 -0
  70. package/dist/migrations/1666588571522-user.migration.js +27 -0
  71. package/dist/migrations/1666588571522-user.migration.js.map +1 -0
  72. package/dist/migrations/1666588577183-store.migration.d.ts +6 -0
  73. package/dist/migrations/1666588577183-store.migration.js +26 -0
  74. package/dist/migrations/1666588577183-store.migration.js.map +1 -0
  75. package/dist/migrations/1667045765051-customer.migration.d.ts +6 -0
  76. package/dist/migrations/1667045765051-customer.migration.js +33 -0
  77. package/dist/migrations/1667045765051-customer.migration.js.map +1 -0
  78. package/dist/migrations/1683175918497-add-user-stores.migration.d.ts +6 -0
  79. package/dist/migrations/1683175918497-add-user-stores.migration.js +60 -0
  80. package/dist/migrations/1683175918497-add-user-stores.migration.js.map +1 -0
  81. package/dist/migrations/1683177500538-add-product-store-id.migration.d.ts +6 -0
  82. package/dist/migrations/1683177500538-add-product-store-id.migration.js +53 -0
  83. package/dist/migrations/1683177500538-add-product-store-id.migration.js.map +1 -0
  84. package/dist/migrations/address.migration.d.ts +6 -0
  85. package/dist/migrations/address.migration.js +25 -0
  86. package/dist/migrations/address.migration.js.map +1 -0
  87. package/dist/migrations/product.migration.d.ts +6 -0
  88. package/dist/migrations/product.migration.js +21 -0
  89. package/dist/migrations/product.migration.js.map +1 -0
  90. package/dist/migrations/stage-status.d.ts +5 -0
  91. package/dist/migrations/stage-status.js +22 -0
  92. package/dist/migrations/stage-status.js.map +1 -0
  93. package/dist/migrations/user.migration.d.ts +6 -0
  94. package/dist/migrations/user.migration.js +21 -0
  95. package/dist/migrations/user.migration.js.map +1 -0
  96. package/dist/models/address.d.ts +3 -0
  97. package/dist/models/address.js +18 -0
  98. package/dist/models/address.js.map +1 -0
  99. package/dist/models/customer.d.ts +9 -0
  100. package/dist/models/customer.js +49 -0
  101. package/dist/models/customer.js.map +1 -0
  102. package/dist/models/invite.d.ts +6 -0
  103. package/dist/models/invite.js +32 -0
  104. package/dist/models/invite.js.map +1 -0
  105. package/dist/models/order.d.ts +9 -0
  106. package/dist/models/order.js +48 -0
  107. package/dist/models/order.js.map +1 -0
  108. package/dist/models/permission.d.ts +8 -0
  109. package/dist/models/permission.js +56 -0
  110. package/dist/models/permission.js.map +1 -0
  111. package/dist/models/product.d.ts +5 -0
  112. package/dist/models/product.js +43 -0
  113. package/dist/models/product.js.map +1 -0
  114. package/dist/models/role.d.ts +12 -0
  115. package/dist/models/role.js +68 -0
  116. package/dist/models/role.js.map +1 -0
  117. package/dist/models/setting.d.ts +69 -0
  118. package/dist/models/setting.js +46 -0
  119. package/dist/models/setting.js.map +1 -0
  120. package/dist/models/store.d.ts +15 -0
  121. package/dist/models/store.js +85 -0
  122. package/dist/models/store.js.map +1 -0
  123. package/dist/models/user.d.ts +15 -0
  124. package/dist/models/user.js +76 -0
  125. package/dist/models/user.js.map +1 -0
  126. package/dist/models/workflow-approval.d.ts +8 -0
  127. package/dist/models/workflow-approval.js +37 -0
  128. package/dist/models/workflow-approval.js.map +1 -0
  129. package/dist/models/workflow-requests.d.ts +9 -0
  130. package/dist/models/workflow-requests.js +42 -0
  131. package/dist/models/workflow-requests.js.map +1 -0
  132. package/dist/models/workflow-stage.d.ts +8 -0
  133. package/dist/models/workflow-stage.js +38 -0
  134. package/dist/models/workflow-stage.js.map +1 -0
  135. package/dist/models/workflow.d.ts +8 -0
  136. package/dist/models/workflow.js +37 -0
  137. package/dist/models/workflow.js.map +1 -0
  138. package/dist/repositories/address.d.ts +7 -0
  139. package/dist/repositories/address.js +11 -0
  140. package/dist/repositories/address.js.map +1 -0
  141. package/dist/repositories/currency.d.ts +7 -0
  142. package/dist/repositories/currency.js +11 -0
  143. package/dist/repositories/currency.js.map +1 -0
  144. package/dist/repositories/customer.d.ts +12 -0
  145. package/dist/repositories/customer.js +11 -0
  146. package/dist/repositories/customer.js.map +1 -0
  147. package/dist/repositories/invite.d.ts +7 -0
  148. package/dist/repositories/invite.js +11 -0
  149. package/dist/repositories/invite.js.map +1 -0
  150. package/dist/repositories/order.d.ts +9 -0
  151. package/dist/repositories/order.js +11 -0
  152. package/dist/repositories/order.js.map +1 -0
  153. package/dist/repositories/permission.d.ts +3 -0
  154. package/dist/repositories/permission.js +8 -0
  155. package/dist/repositories/permission.js.map +1 -0
  156. package/dist/repositories/product.d.ts +43 -0
  157. package/dist/repositories/product.js +11 -0
  158. package/dist/repositories/product.js.map +1 -0
  159. package/dist/repositories/role.d.ts +3 -0
  160. package/dist/repositories/role.js +8 -0
  161. package/dist/repositories/role.js.map +1 -0
  162. package/dist/repositories/store.d.ts +7 -0
  163. package/dist/repositories/store.js +11 -0
  164. package/dist/repositories/store.js.map +1 -0
  165. package/dist/repositories/user.d.ts +7 -0
  166. package/dist/repositories/user.js +11 -0
  167. package/dist/repositories/user.js.map +1 -0
  168. package/dist/services/currency.d.ts +24 -0
  169. package/dist/services/currency.js +49 -0
  170. package/dist/services/currency.js.map +1 -0
  171. package/dist/services/customer.d.ts +34 -0
  172. package/dist/services/customer.js +137 -0
  173. package/dist/services/customer.js.map +1 -0
  174. package/dist/services/process-constant.d.ts +17 -0
  175. package/dist/services/process-constant.js +27 -0
  176. package/dist/services/process-constant.js.map +1 -0
  177. package/dist/services/product.d.ts +121 -0
  178. package/dist/services/product.js +382 -0
  179. package/dist/services/product.js.map +1 -0
  180. package/dist/services/region.d.ts +42 -0
  181. package/dist/services/region.js +190 -0
  182. package/dist/services/region.js.map +1 -0
  183. package/dist/services/store.d.ts +98 -0
  184. package/dist/services/store.js +607 -0
  185. package/dist/services/store.js.map +1 -0
  186. package/dist/services/user.d.ts +74 -0
  187. package/dist/services/user.js +356 -0
  188. package/dist/services/user.js.map +1 -0
  189. package/dist/services/workflow-request.d.ts +14 -0
  190. package/dist/services/workflow-request.js +100 -0
  191. package/dist/services/workflow-request.js.map +1 -0
  192. package/dist/services/workflow-stage.d.ts +19 -0
  193. package/dist/services/workflow-stage.js +46 -0
  194. package/dist/services/workflow-stage.js.map +1 -0
  195. package/dist/services/workflow.d.ts +22 -0
  196. package/dist/services/workflow.js +108 -0
  197. package/dist/services/workflow.js.map +1 -0
  198. package/dist/subscribers/customer.d.ts +5 -0
  199. package/dist/subscribers/customer.js +20 -0
  200. package/dist/subscribers/customer.js.map +1 -0
  201. package/dist/subscribers/product.d.ts +11 -0
  202. package/dist/subscribers/product.js +30 -0
  203. package/dist/subscribers/product.js.map +1 -0
  204. package/dist/subscribers/store.d.ts +25 -0
  205. package/dist/subscribers/store.js +54 -0
  206. package/dist/subscribers/store.js.map +1 -0
  207. package/dist/subscribers/user.d.ts +16 -0
  208. package/dist/subscribers/user.js +62 -0
  209. package/dist/subscribers/user.js.map +1 -0
  210. package/dist/types/global.d.ts +1 -0
  211. package/dist/types/global.js +3 -0
  212. package/dist/types/global.js.map +1 -0
  213. package/dist/types/oidc-types.d.ts +13 -0
  214. package/dist/types/oidc-types.js +3 -0
  215. package/dist/types/oidc-types.js.map +1 -0
  216. package/index.js +50 -0
  217. package/package.json +105 -0
  218. package/tsconfig.admin.json +8 -0
  219. package/tsconfig.json +33 -0
  220. package/tsconfig.server.json +8 -0
  221. package/tsconfig.spec.json +5 -0
  222. package/yarn-error.log +12869 -0
package/data/seed.json ADDED
@@ -0,0 +1,1006 @@
1
+ {
2
+ "store": {
3
+ "currencies": [
4
+ "eur",
5
+ "usd"
6
+ ]
7
+ },
8
+ "users": [
9
+ {
10
+ "email": "admin@medusa-test.com",
11
+ "password": "supersecret"
12
+ }
13
+ ],
14
+ "regions": [
15
+ {
16
+ "id": "test-region-eu",
17
+ "name": "EU",
18
+ "currency_code": "eur",
19
+ "tax_rate": 0,
20
+ "payment_providers": [
21
+ "manual"
22
+ ],
23
+ "fulfillment_providers": [
24
+ "manual"
25
+ ],
26
+ "countries": [
27
+ "gb",
28
+ "de",
29
+ "dk",
30
+ "se",
31
+ "fr",
32
+ "es",
33
+ "it"
34
+ ]
35
+ },
36
+ {
37
+ "id": "test-region-na",
38
+ "name": "NA",
39
+ "currency_code": "usd",
40
+ "tax_rate": 0,
41
+ "payment_providers": [
42
+ "manual"
43
+ ],
44
+ "fulfillment_providers": [
45
+ "manual"
46
+ ],
47
+ "countries": [
48
+ "us",
49
+ "ca"
50
+ ]
51
+ }
52
+ ],
53
+ "shipping_options": [
54
+ {
55
+ "name": "PostFake Standard",
56
+ "region_id": "test-region-eu",
57
+ "provider_id": "manual",
58
+ "data": {
59
+ "id": "manual-fulfillment"
60
+ },
61
+ "price_type": "flat_rate",
62
+ "amount": 1000
63
+ },
64
+ {
65
+ "name": "PostFake Express",
66
+ "region_id": "test-region-eu",
67
+ "provider_id": "manual",
68
+ "data": {
69
+ "id": "manual-fulfillment"
70
+ },
71
+ "price_type": "flat_rate",
72
+ "amount": 1500
73
+ },
74
+ {
75
+ "name": "PostFake Return",
76
+ "region_id": "test-region-eu",
77
+ "provider_id": "manual",
78
+ "data": {
79
+ "id": "manual-fulfillment"
80
+ },
81
+ "price_type": "flat_rate",
82
+ "is_return": true,
83
+ "amount": 1000
84
+ },
85
+ {
86
+ "name": "I want to return it myself",
87
+ "region_id": "test-region-eu",
88
+ "provider_id": "manual",
89
+ "data": {
90
+ "id": "manual-fulfillment"
91
+ },
92
+ "price_type": "flat_rate",
93
+ "is_return": true,
94
+ "amount": 0
95
+ },
96
+ {
97
+ "name": "FakeEx Standard",
98
+ "region_id": "test-region-na",
99
+ "provider_id": "manual",
100
+ "data": {
101
+ "id": "manual-fulfillment"
102
+ },
103
+ "price_type": "flat_rate",
104
+ "amount": 800
105
+ },
106
+ {
107
+ "name": "FakeEx Express",
108
+ "region_id": "test-region-na",
109
+ "provider_id": "manual",
110
+ "data": {
111
+ "id": "manual-fulfillment"
112
+ },
113
+ "price_type": "flat_rate",
114
+ "amount": 1200
115
+ },
116
+ {
117
+ "name": "FakeEx Return",
118
+ "region_id": "test-region-na",
119
+ "provider_id": "manual",
120
+ "data": {
121
+ "id": "manual-fulfillment"
122
+ },
123
+ "price_type": "flat_rate",
124
+ "is_return": true,
125
+ "amount": 800
126
+ },
127
+ {
128
+ "name": "I want to return it myself",
129
+ "region_id": "test-region-na",
130
+ "provider_id": "manual",
131
+ "data": {
132
+ "id": "manual-fulfillment"
133
+ },
134
+ "price_type": "flat_rate",
135
+ "is_return": true,
136
+ "amount": 0
137
+ }
138
+ ],
139
+ "products": [
140
+ {
141
+ "title": "Medusa T-Shirt",
142
+ "categories": [
143
+ {
144
+ "id": "pcat_shirts"
145
+ }
146
+ ],
147
+ "subtitle": null,
148
+ "description": "Reimagine the feeling of a classic T-shirt. With our cotton T-shirts, everyday essentials no longer have to be ordinary.",
149
+ "handle": "t-shirt",
150
+ "is_giftcard": false,
151
+ "weight": 400,
152
+ "images": [
153
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-black-front.png",
154
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-black-back.png",
155
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-white-front.png",
156
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-white-back.png"
157
+ ],
158
+ "options": [
159
+ {
160
+ "title": "Size",
161
+ "values": [
162
+ "S",
163
+ "M",
164
+ "L",
165
+ "XL"
166
+ ]
167
+ },
168
+ {
169
+ "title": "Color",
170
+ "values": [
171
+ "Black",
172
+ "White"
173
+ ]
174
+ }
175
+ ],
176
+ "variants": [
177
+ {
178
+ "title": "S / Black",
179
+ "prices": [
180
+ {
181
+ "currency_code": "eur",
182
+ "amount": 1950
183
+ },
184
+ {
185
+ "currency_code": "usd",
186
+ "amount": 2200
187
+ }
188
+ ],
189
+ "options": [
190
+ {
191
+ "value": "S"
192
+ },
193
+ {
194
+ "value": "Black"
195
+ }
196
+ ],
197
+ "inventory_quantity": 100,
198
+ "manage_inventory": true
199
+ },
200
+ {
201
+ "title": "S / White",
202
+ "prices": [
203
+ {
204
+ "currency_code": "eur",
205
+ "amount": 1950
206
+ },
207
+ {
208
+ "currency_code": "usd",
209
+ "amount": 2200
210
+ }
211
+ ],
212
+ "options": [
213
+ {
214
+ "value": "S"
215
+ },
216
+ {
217
+ "value": "White"
218
+ }
219
+ ],
220
+ "inventory_quantity": 100,
221
+ "manage_inventory": true
222
+ },
223
+ {
224
+ "title": "M / Black",
225
+ "prices": [
226
+ {
227
+ "currency_code": "eur",
228
+ "amount": 1950
229
+ },
230
+ {
231
+ "currency_code": "usd",
232
+ "amount": 2200
233
+ }
234
+ ],
235
+ "options": [
236
+ {
237
+ "value": "M"
238
+ },
239
+ {
240
+ "value": "Black"
241
+ }
242
+ ],
243
+ "inventory_quantity": 100,
244
+ "manage_inventory": true
245
+ },
246
+ {
247
+ "title": "M / White",
248
+ "prices": [
249
+ {
250
+ "currency_code": "eur",
251
+ "amount": 1950
252
+ },
253
+ {
254
+ "currency_code": "usd",
255
+ "amount": 2200
256
+ }
257
+ ],
258
+ "options": [
259
+ {
260
+ "value": "M"
261
+ },
262
+ {
263
+ "value": "White"
264
+ }
265
+ ],
266
+ "inventory_quantity": 100,
267
+ "manage_inventory": true
268
+ },
269
+ {
270
+ "title": "L / Black",
271
+ "prices": [
272
+ {
273
+ "currency_code": "eur",
274
+ "amount": 1950
275
+ },
276
+ {
277
+ "currency_code": "usd",
278
+ "amount": 2200
279
+ }
280
+ ],
281
+ "options": [
282
+ {
283
+ "value": "L"
284
+ },
285
+ {
286
+ "value": "Black"
287
+ }
288
+ ],
289
+ "inventory_quantity": 100,
290
+ "manage_inventory": true
291
+ },
292
+ {
293
+ "title": "L / White",
294
+ "prices": [
295
+ {
296
+ "currency_code": "eur",
297
+ "amount": 1950
298
+ },
299
+ {
300
+ "currency_code": "usd",
301
+ "amount": 2200
302
+ }
303
+ ],
304
+ "options": [
305
+ {
306
+ "value": "L"
307
+ },
308
+ {
309
+ "value": "White"
310
+ }
311
+ ],
312
+ "inventory_quantity": 100,
313
+ "manage_inventory": true
314
+ },
315
+ {
316
+ "title": "XL / Black",
317
+ "prices": [
318
+ {
319
+ "currency_code": "eur",
320
+ "amount": 1950
321
+ },
322
+ {
323
+ "currency_code": "usd",
324
+ "amount": 2200
325
+ }
326
+ ],
327
+ "options": [
328
+ {
329
+ "value": "XL"
330
+ },
331
+ {
332
+ "value": "Black"
333
+ }
334
+ ],
335
+ "inventory_quantity": 100,
336
+ "manage_inventory": true
337
+ },
338
+ {
339
+ "title": "XL / White",
340
+ "prices": [
341
+ {
342
+ "currency_code": "eur",
343
+ "amount": 1950
344
+ },
345
+ {
346
+ "currency_code": "usd",
347
+ "amount": 2200
348
+ }
349
+ ],
350
+ "options": [
351
+ {
352
+ "value": "XL"
353
+ },
354
+ {
355
+ "value": "White"
356
+ }
357
+ ],
358
+ "inventory_quantity": 100,
359
+ "manage_inventory": true
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ "title": "Medusa Sweatshirt",
365
+ "categories": [
366
+ {
367
+ "id": "pcat_shirts"
368
+ }
369
+ ],
370
+ "subtitle": null,
371
+ "description": "Reimagine the feeling of a classic sweatshirt. With our cotton sweatshirt, everyday essentials no longer have to be ordinary.",
372
+ "handle": "sweatshirt",
373
+ "is_giftcard": false,
374
+ "weight": 400,
375
+ "images": [
376
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatshirt-vintage-front.png",
377
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatshirt-vintage-back.png"
378
+ ],
379
+ "options": [
380
+ {
381
+ "title": "Size",
382
+ "values": [
383
+ "S",
384
+ "M",
385
+ "L",
386
+ "XL"
387
+ ]
388
+ }
389
+ ],
390
+ "variants": [
391
+ {
392
+ "title": "S",
393
+ "prices": [
394
+ {
395
+ "currency_code": "eur",
396
+ "amount": 2950
397
+ },
398
+ {
399
+ "currency_code": "usd",
400
+ "amount": 3350
401
+ }
402
+ ],
403
+ "options": [
404
+ {
405
+ "value": "S"
406
+ }
407
+ ],
408
+ "inventory_quantity": 100,
409
+ "manage_inventory": true
410
+ },
411
+ {
412
+ "title": "M",
413
+ "prices": [
414
+ {
415
+ "currency_code": "eur",
416
+ "amount": 2950
417
+ },
418
+ {
419
+ "currency_code": "usd",
420
+ "amount": 3350
421
+ }
422
+ ],
423
+ "options": [
424
+ {
425
+ "value": "M"
426
+ }
427
+ ],
428
+ "inventory_quantity": 100,
429
+ "manage_inventory": true
430
+ },
431
+ {
432
+ "title": "L",
433
+ "prices": [
434
+ {
435
+ "currency_code": "eur",
436
+ "amount": 2950
437
+ },
438
+ {
439
+ "currency_code": "usd",
440
+ "amount": 3350
441
+ }
442
+ ],
443
+ "options": [
444
+ {
445
+ "value": "L"
446
+ }
447
+ ],
448
+ "inventory_quantity": 100,
449
+ "manage_inventory": true
450
+ },
451
+ {
452
+ "title": "XL",
453
+ "prices": [
454
+ {
455
+ "currency_code": "eur",
456
+ "amount": 2950
457
+ },
458
+ {
459
+ "currency_code": "usd",
460
+ "amount": 3350
461
+ }
462
+ ],
463
+ "options": [
464
+ {
465
+ "value": "XL"
466
+ }
467
+ ],
468
+ "inventory_quantity": 100,
469
+ "manage_inventory": true
470
+ }
471
+ ]
472
+ },
473
+ {
474
+ "title": "Medusa Sweatpants",
475
+ "categories": [
476
+ {
477
+ "id": "pcat_pants"
478
+ }
479
+ ],
480
+ "subtitle": null,
481
+ "description": "Reimagine the feeling of classic sweatpants. With our cotton sweatpants, everyday essentials no longer have to be ordinary.",
482
+ "handle": "sweatpants",
483
+ "is_giftcard": false,
484
+ "weight": 400,
485
+ "images": [
486
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatpants-gray-front.png",
487
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatpants-gray-back.png"
488
+ ],
489
+ "options": [
490
+ {
491
+ "title": "Size",
492
+ "values": [
493
+ "S",
494
+ "M",
495
+ "L",
496
+ "XL"
497
+ ]
498
+ }
499
+ ],
500
+ "variants": [
501
+ {
502
+ "title": "S",
503
+ "prices": [
504
+ {
505
+ "currency_code": "eur",
506
+ "amount": 2950
507
+ },
508
+ {
509
+ "currency_code": "usd",
510
+ "amount": 3350
511
+ }
512
+ ],
513
+ "options": [
514
+ {
515
+ "value": "S"
516
+ }
517
+ ],
518
+ "inventory_quantity": 100,
519
+ "manage_inventory": true
520
+ },
521
+ {
522
+ "title": "M",
523
+ "prices": [
524
+ {
525
+ "currency_code": "eur",
526
+ "amount": 2950
527
+ },
528
+ {
529
+ "currency_code": "usd",
530
+ "amount": 3350
531
+ }
532
+ ],
533
+ "options": [
534
+ {
535
+ "value": "M"
536
+ }
537
+ ],
538
+ "inventory_quantity": 100,
539
+ "manage_inventory": true
540
+ },
541
+ {
542
+ "title": "L",
543
+ "prices": [
544
+ {
545
+ "currency_code": "eur",
546
+ "amount": 2950
547
+ },
548
+ {
549
+ "currency_code": "usd",
550
+ "amount": 3350
551
+ }
552
+ ],
553
+ "options": [
554
+ {
555
+ "value": "L"
556
+ }
557
+ ],
558
+ "inventory_quantity": 100,
559
+ "manage_inventory": true
560
+ },
561
+ {
562
+ "title": "XL",
563
+ "prices": [
564
+ {
565
+ "currency_code": "eur",
566
+ "amount": 2950
567
+ },
568
+ {
569
+ "currency_code": "usd",
570
+ "amount": 3350
571
+ }
572
+ ],
573
+ "options": [
574
+ {
575
+ "value": "XL"
576
+ }
577
+ ],
578
+ "inventory_quantity": 100,
579
+ "manage_inventory": true
580
+ }
581
+ ]
582
+ },
583
+ {
584
+ "title": "Medusa Shorts",
585
+ "categories": [
586
+ {
587
+ "id": "pcat_merch"
588
+ }
589
+ ],
590
+ "subtitle": null,
591
+ "description": "Reimagine the feeling of classic shorts. With our cotton shorts, everyday essentials no longer have to be ordinary.",
592
+ "handle": "shorts",
593
+ "is_giftcard": false,
594
+ "weight": 400,
595
+ "images": [
596
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/shorts-vintage-front.png",
597
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/shorts-vintage-back.png"
598
+ ],
599
+ "options": [
600
+ {
601
+ "title": "Size",
602
+ "values": [
603
+ "S",
604
+ "M",
605
+ "L",
606
+ "XL"
607
+ ]
608
+ }
609
+ ],
610
+ "variants": [
611
+ {
612
+ "title": "S",
613
+ "prices": [
614
+ {
615
+ "currency_code": "eur",
616
+ "amount": 2500
617
+ },
618
+ {
619
+ "currency_code": "usd",
620
+ "amount": 2850
621
+ }
622
+ ],
623
+ "options": [
624
+ {
625
+ "value": "S"
626
+ }
627
+ ],
628
+ "inventory_quantity": 100,
629
+ "manage_inventory": true
630
+ },
631
+ {
632
+ "title": "M",
633
+ "prices": [
634
+ {
635
+ "currency_code": "eur",
636
+ "amount": 2500
637
+ },
638
+ {
639
+ "currency_code": "usd",
640
+ "amount": 2850
641
+ }
642
+ ],
643
+ "options": [
644
+ {
645
+ "value": "M"
646
+ }
647
+ ],
648
+ "inventory_quantity": 100,
649
+ "manage_inventory": true
650
+ },
651
+ {
652
+ "title": "L",
653
+ "prices": [
654
+ {
655
+ "currency_code": "eur",
656
+ "amount": 2500
657
+ },
658
+ {
659
+ "currency_code": "usd",
660
+ "amount": 2850
661
+ }
662
+ ],
663
+ "options": [
664
+ {
665
+ "value": "L"
666
+ }
667
+ ],
668
+ "inventory_quantity": 100,
669
+ "manage_inventory": true
670
+ },
671
+ {
672
+ "title": "XL",
673
+ "prices": [
674
+ {
675
+ "currency_code": "eur",
676
+ "amount": 2500
677
+ },
678
+ {
679
+ "currency_code": "usd",
680
+ "amount": 2850
681
+ }
682
+ ],
683
+ "options": [
684
+ {
685
+ "value": "XL"
686
+ }
687
+ ],
688
+ "inventory_quantity": 100,
689
+ "manage_inventory": true
690
+ }
691
+ ]
692
+ },
693
+ {
694
+ "title": "Medusa Hoodie",
695
+ "categories": [
696
+ {
697
+ "id": "pcat_merch"
698
+ },
699
+ {
700
+ "id": "pcat_hidden_featured"
701
+ }
702
+ ],
703
+ "subtitle": null,
704
+ "description": "Reimagine the feeling of a classic hoodie. With our cotton hoodie, everyday essentials no longer have to be ordinary.",
705
+ "handle": "hoodie",
706
+ "is_giftcard": false,
707
+ "weight": 400,
708
+ "images": [
709
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/black_hoodie_front.png",
710
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/black_hoodie_back.png"
711
+ ],
712
+ "options": [
713
+ {
714
+ "title": "Size",
715
+ "values": [
716
+ "S",
717
+ "M",
718
+ "L",
719
+ "XL"
720
+ ]
721
+ }
722
+ ],
723
+ "variants": [
724
+ {
725
+ "title": "S",
726
+ "prices": [
727
+ {
728
+ "currency_code": "eur",
729
+ "amount": 3650
730
+ },
731
+ {
732
+ "currency_code": "usd",
733
+ "amount": 4150
734
+ }
735
+ ],
736
+ "options": [
737
+ {
738
+ "value": "S"
739
+ }
740
+ ],
741
+ "inventory_quantity": 100,
742
+ "manage_inventory": true
743
+ },
744
+ {
745
+ "title": "M",
746
+ "prices": [
747
+ {
748
+ "currency_code": "eur",
749
+ "amount": 3650
750
+ },
751
+ {
752
+ "currency_code": "usd",
753
+ "amount": 4150
754
+ }
755
+ ],
756
+ "options": [
757
+ {
758
+ "value": "M"
759
+ }
760
+ ],
761
+ "inventory_quantity": 100,
762
+ "manage_inventory": true
763
+ },
764
+ {
765
+ "title": "L",
766
+ "prices": [
767
+ {
768
+ "currency_code": "eur",
769
+ "amount": 3650
770
+ },
771
+ {
772
+ "currency_code": "usd",
773
+ "amount": 4150
774
+ }
775
+ ],
776
+ "options": [
777
+ {
778
+ "value": "L"
779
+ }
780
+ ],
781
+ "inventory_quantity": 100,
782
+ "manage_inventory": true
783
+ },
784
+ {
785
+ "title": "XL",
786
+ "prices": [
787
+ {
788
+ "currency_code": "eur",
789
+ "amount": 3650
790
+ },
791
+ {
792
+ "currency_code": "usd",
793
+ "amount": 4150
794
+ }
795
+ ],
796
+ "options": [
797
+ {
798
+ "value": "XL"
799
+ }
800
+ ],
801
+ "inventory_quantity": 100,
802
+ "manage_inventory": true
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "title": "Medusa Longsleeve",
808
+ "categories": [
809
+ {
810
+ "id": "pcat_shirts"
811
+ },
812
+ {
813
+ "id": "pcat_hidden_featured"
814
+ }
815
+ ],
816
+ "subtitle": null,
817
+ "description": "Reimagine the feeling of a classic longsleeve. With our cotton longsleeve, everyday essentials no longer have to be ordinary.",
818
+ "handle": "longsleeve",
819
+ "is_giftcard": false,
820
+ "weight": 400,
821
+ "images": [
822
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/ls-black-front.png",
823
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/ls-black-back.png"
824
+ ],
825
+ "options": [
826
+ {
827
+ "title": "Size",
828
+ "values": [
829
+ "S",
830
+ "M",
831
+ "L",
832
+ "XL"
833
+ ]
834
+ }
835
+ ],
836
+ "variants": [
837
+ {
838
+ "title": "S",
839
+ "prices": [
840
+ {
841
+ "currency_code": "eur",
842
+ "amount": 3650
843
+ },
844
+ {
845
+ "currency_code": "usd",
846
+ "amount": 4150
847
+ }
848
+ ],
849
+ "options": [
850
+ {
851
+ "value": "S"
852
+ }
853
+ ],
854
+ "inventory_quantity": 100,
855
+ "manage_inventory": true
856
+ },
857
+ {
858
+ "title": "M",
859
+ "prices": [
860
+ {
861
+ "currency_code": "eur",
862
+ "amount": 3650
863
+ },
864
+ {
865
+ "currency_code": "usd",
866
+ "amount": 4150
867
+ }
868
+ ],
869
+ "options": [
870
+ {
871
+ "value": "M"
872
+ }
873
+ ],
874
+ "inventory_quantity": 100,
875
+ "manage_inventory": true
876
+ },
877
+ {
878
+ "title": "L",
879
+ "prices": [
880
+ {
881
+ "currency_code": "eur",
882
+ "amount": 3650
883
+ },
884
+ {
885
+ "currency_code": "usd",
886
+ "amount": 4150
887
+ }
888
+ ],
889
+ "options": [
890
+ {
891
+ "value": "L"
892
+ }
893
+ ],
894
+ "inventory_quantity": 100,
895
+ "manage_inventory": true
896
+ },
897
+ {
898
+ "title": "XL",
899
+ "prices": [
900
+ {
901
+ "currency_code": "eur",
902
+ "amount": 3650
903
+ },
904
+ {
905
+ "currency_code": "usd",
906
+ "amount": 4150
907
+ }
908
+ ],
909
+ "options": [
910
+ {
911
+ "value": "XL"
912
+ }
913
+ ],
914
+ "inventory_quantity": 100,
915
+ "manage_inventory": true
916
+ }
917
+ ]
918
+ },
919
+ {
920
+ "title": "Medusa Coffee Mug",
921
+ "categories": [
922
+ {
923
+ "id": "pcat_merch"
924
+ },
925
+ {
926
+ "id": "pcat_hidden_featured"
927
+ }
928
+ ],
929
+ "subtitle": null,
930
+ "description": "Every programmer's best friend.",
931
+ "handle": "coffee-mug",
932
+ "is_giftcard": false,
933
+ "weight": 400,
934
+ "images": [
935
+ "https://medusa-public-images.s3.eu-west-1.amazonaws.com/coffee-mug.png"
936
+ ],
937
+ "options": [
938
+ {
939
+ "title": "Size",
940
+ "values": [
941
+ "One Size"
942
+ ]
943
+ }
944
+ ],
945
+ "variants": [
946
+ {
947
+ "title": "One Size",
948
+ "prices": [
949
+ {
950
+ "currency_code": "eur",
951
+ "amount": 1000
952
+ },
953
+ {
954
+ "currency_code": "usd",
955
+ "amount": 1200
956
+ }
957
+ ],
958
+ "options": [
959
+ {
960
+ "value": "One Size"
961
+ }
962
+ ],
963
+ "inventory_quantity": 100,
964
+ "manage_inventory": true
965
+ }
966
+ ]
967
+ }
968
+ ],
969
+ "categories": [
970
+ {
971
+ "id": "pcat_pants",
972
+ "name": "Pants",
973
+ "rank": 0,
974
+ "category_children": [],
975
+ "handle": "pants"
976
+ },
977
+ {
978
+ "id": "pcat_shirts",
979
+ "name": "Shirts",
980
+ "rank": 0,
981
+ "category_children": [],
982
+ "handle": "shirts"
983
+ },
984
+ {
985
+ "id": "pcat_merch",
986
+ "name": "Merch",
987
+ "rank": 0,
988
+ "category_children": [],
989
+ "handle": "merch"
990
+ },
991
+ {
992
+ "id": "pcat_hidden_carousel",
993
+ "name": "Hidden homepage carousel",
994
+ "rank": 0,
995
+ "category_children": [],
996
+ "handle": "hidden-homepage-carousel"
997
+ },
998
+ {
999
+ "id": "pcat_hidden_featured",
1000
+ "name": "Hidden homepage featured",
1001
+ "rank": 0,
1002
+ "category_children": [],
1003
+ "handle": "hidden-homepage-featured-items"
1004
+ }
1005
+ ]
1006
+ }