@takeshape/schema 7.194.0

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 (312) hide show
  1. package/README.md +5 -0
  2. package/es/api-version.js +21 -0
  3. package/es/auth-schemas.js +0 -0
  4. package/es/builtin-schema.js +590 -0
  5. package/es/content-schema-transform.js +192 -0
  6. package/es/entitlements.js +0 -0
  7. package/es/enum.js +11 -0
  8. package/es/get-is-leaf.js +58 -0
  9. package/es/index.js +25 -0
  10. package/es/migration.js +413 -0
  11. package/es/mocks.js +47 -0
  12. package/es/patterns.js +0 -0
  13. package/es/project-schema/index.js +10 -0
  14. package/es/project-schema/v1.0.0.js +0 -0
  15. package/es/project-schema/v3.0.0.js +0 -0
  16. package/es/project-schema/v3.1.0.js +0 -0
  17. package/es/project-schema/v3.2.0.js +0 -0
  18. package/es/project-schema/v3.3.0.js +0 -0
  19. package/es/project-schema/v3.4.0.js +0 -0
  20. package/es/project-schema/v3.5.0.js +0 -0
  21. package/es/project-schema/v3.5.1.js +0 -0
  22. package/es/project-schema/v3.6.0.js +0 -0
  23. package/es/refs.js +301 -0
  24. package/es/resolvers.js +2 -0
  25. package/es/scalars.js +4 -0
  26. package/es/schema-util.js +1197 -0
  27. package/es/schemas/auth-schemas.json +313 -0
  28. package/es/schemas/project-schema/meta-schema-v1.0.0.json +209 -0
  29. package/es/schemas/project-schema/meta-schema-v3.0.0.json +609 -0
  30. package/es/schemas/project-schema/meta-schema-v3.1.0.json +609 -0
  31. package/es/schemas/project-schema/meta-schema-v3.2.0.json +613 -0
  32. package/es/schemas/project-schema/meta-schema-v3.3.0.json +613 -0
  33. package/es/schemas/project-schema/meta-schema-v3.4.0.json +613 -0
  34. package/es/schemas/project-schema/meta-schema-v3.5.0.json +627 -0
  35. package/es/schemas/project-schema/meta-schema-v3.5.1.json +630 -0
  36. package/es/schemas/project-schema/meta-schema-v3.6.0.json +633 -0
  37. package/es/schemas/project-schema/v1.0.0.json +321 -0
  38. package/es/schemas/project-schema/v3.0.0.json +411 -0
  39. package/es/schemas/project-schema/v3.1.0.json +569 -0
  40. package/es/schemas/project-schema/v3.2.0.json +577 -0
  41. package/es/schemas/project-schema/v3.3.0.json +578 -0
  42. package/es/schemas/project-schema/v3.4.0.json +568 -0
  43. package/es/schemas/project-schema/v3.5.0.json +568 -0
  44. package/es/schemas/project-schema/v3.5.1.json +568 -0
  45. package/es/schemas/project-schema/v3.6.0.json +584 -0
  46. package/es/schemas/project-schema.json +16 -0
  47. package/es/schemas/user-schema.json +58 -0
  48. package/es/services.js +379 -0
  49. package/es/taxonomies.js +55 -0
  50. package/es/template-shapes.js +79 -0
  51. package/es/types.js +202 -0
  52. package/es/unions.js +137 -0
  53. package/es/user-schema.js +0 -0
  54. package/es/util/detect-cycles.js +54 -0
  55. package/es/util/index.js +1 -0
  56. package/es/validate.js +764 -0
  57. package/es/versions.js +4 -0
  58. package/es/workflows.js +69 -0
  59. package/examples/.pnpm-debug.log +20 -0
  60. package/examples/v1_0_0/beer-schema.json +125 -0
  61. package/examples/v1_0_0/blog-schema.json +192 -0
  62. package/examples/v1_0_0/brewery-schema.json +232 -0
  63. package/examples/v1_0_0/complex-project-schema.json +3197 -0
  64. package/examples/v1_0_0/error-schema.json +275 -0
  65. package/examples/v1_0_0/frank-and-fred-schema.json +21387 -0
  66. package/examples/v1_0_0/massive-schema.json +6930 -0
  67. package/examples/v1_0_0/post-schema.json +83 -0
  68. package/examples/v1_0_0/real-world-schema.json +797 -0
  69. package/examples/v1_0_0/recursive-repeater-schema.json +69 -0
  70. package/examples/v1_0_0/recursive-schema.json +79 -0
  71. package/examples/v1_0_0/schema-with-repeater-draftjs.json +292 -0
  72. package/examples/v1_0_0/shape-books.json +797 -0
  73. package/examples/v1_0_0/user-schema-no-required.json +84 -0
  74. package/examples/v1_0_0/user-schema-with-defaults.json +105 -0
  75. package/examples/v1_0_0/user-schema-with-obj-prop.json +92 -0
  76. package/examples/v1_0_0/user-schema.json +87 -0
  77. package/examples/v3_0_0/rick-and-morty-rest.json +62 -0
  78. package/examples/v3_0_0/shopify-lookbook.json +1172 -0
  79. package/examples/v3_0_0/shopify-store-with-widget.json +11323 -0
  80. package/examples/v3_2_0/blog-schema.json +378 -0
  81. package/examples/v3_2_0/brewery-schema.json +385 -0
  82. package/examples/v3_2_0/complex-project-schema.json +3748 -0
  83. package/examples/v3_2_0/frank-and-fred-schema.json +19217 -0
  84. package/examples/v3_2_0/massive-schema.json +6676 -0
  85. package/examples/v3_2_0/pet-oneof-array.json +323 -0
  86. package/examples/v3_2_0/post-schema.json +265 -0
  87. package/examples/v3_2_0/real-world-schema.json +970 -0
  88. package/examples/v3_2_0/recursive-repeater-schema.json +144 -0
  89. package/examples/v3_2_0/recursive-schema.json +151 -0
  90. package/examples/v3_2_0/rick-and-morty-rest.json +65 -0
  91. package/examples/v3_2_0/schema-with-repeater-draftjs.json +381 -0
  92. package/examples/v3_2_0/shape-books.json +1044 -0
  93. package/examples/v3_2_0/shopify-store-with-widget.json +11016 -0
  94. package/examples/v3_2_0/user-schema-no-required.json +174 -0
  95. package/examples/v3_2_0/user-schema-with-defaults.json +187 -0
  96. package/examples/v3_3_0/blog-schema.json +405 -0
  97. package/examples/v3_3_0/brewery-schema.json +406 -0
  98. package/examples/v3_3_0/complex-project-schema.json +4076 -0
  99. package/examples/v3_3_0/frank-and-fred-schema.json +20913 -0
  100. package/examples/v3_3_0/massive-schema.json +7309 -0
  101. package/examples/v3_3_0/pet-oneof-array.json +380 -0
  102. package/examples/v3_3_0/post-schema.json +248 -0
  103. package/examples/v3_3_0/real-world-schema.json +1046 -0
  104. package/examples/v3_3_0/recursive-repeater-schema.json +154 -0
  105. package/examples/v3_3_0/recursive-schema.json +161 -0
  106. package/examples/v3_3_0/rick-and-morty-rest.json +101 -0
  107. package/examples/v3_3_0/schema-with-repeater-draftjs.json +393 -0
  108. package/examples/v3_3_0/shape-books.json +1121 -0
  109. package/examples/v3_3_0/shopify-lookbook.json +1196 -0
  110. package/examples/v3_3_0/shopify-store-with-widget.json +11320 -0
  111. package/examples/v3_3_0/user-schema-no-required.json +185 -0
  112. package/examples/v3_3_0/user-schema-with-defaults.json +210 -0
  113. package/examples/v3_4_0/blog-schema.json +405 -0
  114. package/examples/v3_4_0/brewery-schema.json +406 -0
  115. package/examples/v3_4_0/complex-project-schema.json +4076 -0
  116. package/examples/v3_4_0/frank-and-fred-schema.json +20913 -0
  117. package/examples/v3_4_0/massive-schema.json +7309 -0
  118. package/examples/v3_4_0/pet-oneof-array.json +420 -0
  119. package/examples/v3_4_0/post-schema.json +248 -0
  120. package/examples/v3_4_0/real-world-schema.json +1046 -0
  121. package/examples/v3_4_0/recursive-repeater-schema.json +154 -0
  122. package/examples/v3_4_0/recursive-schema.json +161 -0
  123. package/examples/v3_4_0/rick-and-morty-rest.json +101 -0
  124. package/examples/v3_4_0/schema-with-repeater-draftjs.json +393 -0
  125. package/examples/v3_4_0/shape-books.json +1121 -0
  126. package/examples/v3_4_0/shopify-lookbook.json +1196 -0
  127. package/examples/v3_4_0/shopify-store-with-widget.json +11323 -0
  128. package/examples/v3_4_0/user-schema-no-required.json +185 -0
  129. package/examples/v3_4_0/user-schema-with-defaults.json +210 -0
  130. package/examples/v3_5_0/blog-schema.json +405 -0
  131. package/examples/v3_5_0/brewery-schema.json +406 -0
  132. package/examples/v3_5_0/complex-project-schema.json +4076 -0
  133. package/examples/v3_5_0/frank-and-fred-schema.json +20913 -0
  134. package/examples/v3_5_0/massive-schema.json +7309 -0
  135. package/examples/v3_5_0/pet-oneof-array.json +420 -0
  136. package/examples/v3_5_0/post-schema.json +248 -0
  137. package/examples/v3_5_0/real-world-schema.json +1046 -0
  138. package/examples/v3_5_0/recursive-repeater-schema.json +154 -0
  139. package/examples/v3_5_0/recursive-schema.json +161 -0
  140. package/examples/v3_5_0/rick-and-morty-rest.json +101 -0
  141. package/examples/v3_5_0/schema-with-repeater-draftjs.json +393 -0
  142. package/examples/v3_5_0/shape-books.json +1121 -0
  143. package/examples/v3_5_0/shopify-lookbook.json +1196 -0
  144. package/examples/v3_5_0/shopify-store-with-widget.json +12271 -0
  145. package/examples/v3_5_0/user-schema-no-required.json +185 -0
  146. package/examples/v3_5_0/user-schema-with-defaults.json +210 -0
  147. package/examples/v3_5_1/blog-schema.json +405 -0
  148. package/examples/v3_5_1/brewery-schema.json +406 -0
  149. package/examples/v3_5_1/complex-project-schema.json +4076 -0
  150. package/examples/v3_5_1/frank-and-fred-schema.json +20913 -0
  151. package/examples/v3_5_1/massive-schema.json +7309 -0
  152. package/examples/v3_5_1/pet-oneof-array.json +420 -0
  153. package/examples/v3_5_1/post-schema.json +248 -0
  154. package/examples/v3_5_1/real-world-schema.json +1046 -0
  155. package/examples/v3_5_1/recursive-repeater-schema.json +154 -0
  156. package/examples/v3_5_1/recursive-schema.json +161 -0
  157. package/examples/v3_5_1/rick-and-morty-rest.json +101 -0
  158. package/examples/v3_5_1/schema-with-repeater-draftjs.json +393 -0
  159. package/examples/v3_5_1/shape-books.json +1121 -0
  160. package/examples/v3_5_1/shopify-lookbook.json +1196 -0
  161. package/examples/v3_5_1/shopify-store-with-widget.json +12271 -0
  162. package/examples/v3_5_1/stripe-starter-resolved.json +21419 -0
  163. package/examples/v3_5_1/user-schema-no-required.json +185 -0
  164. package/examples/v3_5_1/user-schema-with-defaults.json +210 -0
  165. package/examples/v3_6_0/blog-schema.json +405 -0
  166. package/examples/v3_6_0/brewery-schema.json +406 -0
  167. package/examples/v3_6_0/complex-project-schema.json +4076 -0
  168. package/examples/v3_6_0/frank-and-fred-schema.json +20913 -0
  169. package/examples/v3_6_0/massive-schema.json +7309 -0
  170. package/examples/v3_6_0/pet-oneof-array.json +420 -0
  171. package/examples/v3_6_0/post-schema.json +248 -0
  172. package/examples/v3_6_0/real-world-schema.json +1046 -0
  173. package/examples/v3_6_0/recursive-repeater-schema.json +154 -0
  174. package/examples/v3_6_0/recursive-schema.json +161 -0
  175. package/examples/v3_6_0/rick-and-morty-rest.json +101 -0
  176. package/examples/v3_6_0/schema-with-repeater-draftjs.json +393 -0
  177. package/examples/v3_6_0/shape-books.json +1121 -0
  178. package/examples/v3_6_0/shopify-lookbook.json +1196 -0
  179. package/examples/v3_6_0/shopify-store-with-widget.json +12271 -0
  180. package/examples/v3_6_0/stripe-starter-resolved.json +21419 -0
  181. package/examples/v3_6_0/user-schema-no-required.json +185 -0
  182. package/examples/v3_6_0/user-schema-with-defaults.json +210 -0
  183. package/lib/api-version.d.ts +6 -0
  184. package/lib/api-version.d.ts.map +1 -0
  185. package/lib/api-version.js +36 -0
  186. package/lib/auth-schemas.d.ts +105 -0
  187. package/lib/auth-schemas.d.ts.map +1 -0
  188. package/lib/auth-schemas.js +1 -0
  189. package/lib/builtin-schema.d.ts +8 -0
  190. package/lib/builtin-schema.d.ts.map +1 -0
  191. package/lib/builtin-schema.js +606 -0
  192. package/lib/content-schema-transform.d.ts +41 -0
  193. package/lib/content-schema-transform.d.ts.map +1 -0
  194. package/lib/content-schema-transform.js +217 -0
  195. package/lib/entitlements.d.ts +1 -0
  196. package/lib/entitlements.d.ts.map +1 -0
  197. package/lib/entitlements.js +1 -0
  198. package/lib/enum.d.ts +3 -0
  199. package/lib/enum.d.ts.map +1 -0
  200. package/lib/enum.js +18 -0
  201. package/lib/get-is-leaf.d.ts +4 -0
  202. package/lib/get-is-leaf.d.ts.map +1 -0
  203. package/lib/get-is-leaf.js +68 -0
  204. package/lib/index.d.ts +27 -0
  205. package/lib/index.d.ts.map +1 -0
  206. package/lib/index.js +359 -0
  207. package/lib/migration.d.ts +55 -0
  208. package/lib/migration.d.ts.map +1 -0
  209. package/lib/migration.js +463 -0
  210. package/lib/mocks.d.ts +13 -0
  211. package/lib/mocks.d.ts.map +1 -0
  212. package/lib/mocks.js +61 -0
  213. package/lib/patterns.d.ts +13 -0
  214. package/lib/patterns.d.ts.map +1 -0
  215. package/lib/patterns.js +1 -0
  216. package/lib/project-schema/index.d.ts +21 -0
  217. package/lib/project-schema/index.d.ts.map +1 -0
  218. package/lib/project-schema/index.js +122 -0
  219. package/lib/project-schema/v1.0.0.d.ts +293 -0
  220. package/lib/project-schema/v1.0.0.d.ts.map +1 -0
  221. package/lib/project-schema/v1.0.0.js +1 -0
  222. package/lib/project-schema/v3.0.0.d.ts +480 -0
  223. package/lib/project-schema/v3.0.0.d.ts.map +1 -0
  224. package/lib/project-schema/v3.0.0.js +1 -0
  225. package/lib/project-schema/v3.1.0.d.ts +623 -0
  226. package/lib/project-schema/v3.1.0.d.ts.map +1 -0
  227. package/lib/project-schema/v3.1.0.js +1 -0
  228. package/lib/project-schema/v3.2.0.d.ts +634 -0
  229. package/lib/project-schema/v3.2.0.d.ts.map +1 -0
  230. package/lib/project-schema/v3.2.0.js +1 -0
  231. package/lib/project-schema/v3.3.0.d.ts +634 -0
  232. package/lib/project-schema/v3.3.0.d.ts.map +1 -0
  233. package/lib/project-schema/v3.3.0.js +1 -0
  234. package/lib/project-schema/v3.4.0.d.ts +626 -0
  235. package/lib/project-schema/v3.4.0.d.ts.map +1 -0
  236. package/lib/project-schema/v3.4.0.js +1 -0
  237. package/lib/project-schema/v3.5.0.d.ts +651 -0
  238. package/lib/project-schema/v3.5.0.d.ts.map +1 -0
  239. package/lib/project-schema/v3.5.0.js +1 -0
  240. package/lib/project-schema/v3.5.1.d.ts +651 -0
  241. package/lib/project-schema/v3.5.1.d.ts.map +1 -0
  242. package/lib/project-schema/v3.5.1.js +1 -0
  243. package/lib/project-schema/v3.6.0.d.ts +660 -0
  244. package/lib/project-schema/v3.6.0.d.ts.map +1 -0
  245. package/lib/project-schema/v3.6.0.js +1 -0
  246. package/lib/refs.d.ts +122 -0
  247. package/lib/refs.d.ts.map +1 -0
  248. package/lib/refs.js +359 -0
  249. package/lib/resolvers.d.ts +4 -0
  250. package/lib/resolvers.d.ts.map +1 -0
  251. package/lib/resolvers.js +10 -0
  252. package/lib/scalars.d.ts +3 -0
  253. package/lib/scalars.d.ts.map +1 -0
  254. package/lib/scalars.js +13 -0
  255. package/lib/schema-util.d.ts +201 -0
  256. package/lib/schema-util.d.ts.map +1 -0
  257. package/lib/schema-util.js +1353 -0
  258. package/lib/schemas/auth-schemas.json +313 -0
  259. package/lib/schemas/project-schema/meta-schema-v1.0.0.json +209 -0
  260. package/lib/schemas/project-schema/meta-schema-v3.0.0.json +609 -0
  261. package/lib/schemas/project-schema/meta-schema-v3.1.0.json +609 -0
  262. package/lib/schemas/project-schema/meta-schema-v3.2.0.json +613 -0
  263. package/lib/schemas/project-schema/meta-schema-v3.3.0.json +613 -0
  264. package/lib/schemas/project-schema/meta-schema-v3.4.0.json +613 -0
  265. package/lib/schemas/project-schema/meta-schema-v3.5.0.json +627 -0
  266. package/lib/schemas/project-schema/meta-schema-v3.5.1.json +630 -0
  267. package/lib/schemas/project-schema/meta-schema-v3.6.0.json +633 -0
  268. package/lib/schemas/project-schema/v1.0.0.json +321 -0
  269. package/lib/schemas/project-schema/v3.0.0.json +411 -0
  270. package/lib/schemas/project-schema/v3.1.0.json +569 -0
  271. package/lib/schemas/project-schema/v3.2.0.json +577 -0
  272. package/lib/schemas/project-schema/v3.3.0.json +578 -0
  273. package/lib/schemas/project-schema/v3.4.0.json +568 -0
  274. package/lib/schemas/project-schema/v3.5.0.json +568 -0
  275. package/lib/schemas/project-schema/v3.5.1.json +568 -0
  276. package/lib/schemas/project-schema/v3.6.0.json +584 -0
  277. package/lib/schemas/project-schema.json +16 -0
  278. package/lib/schemas/user-schema.json +58 -0
  279. package/lib/services.d.ts +71 -0
  280. package/lib/services.d.ts.map +1 -0
  281. package/lib/services.js +413 -0
  282. package/lib/taxonomies.d.ts +16 -0
  283. package/lib/taxonomies.d.ts.map +1 -0
  284. package/lib/taxonomies.js +69 -0
  285. package/lib/template-shapes.d.ts +32 -0
  286. package/lib/template-shapes.d.ts.map +1 -0
  287. package/lib/template-shapes.js +100 -0
  288. package/lib/types.d.ts +187 -0
  289. package/lib/types.d.ts.map +1 -0
  290. package/lib/types.js +289 -0
  291. package/lib/unions.d.ts +29 -0
  292. package/lib/unions.d.ts.map +1 -0
  293. package/lib/unions.js +167 -0
  294. package/lib/user-schema.d.ts +39 -0
  295. package/lib/user-schema.d.ts.map +1 -0
  296. package/lib/user-schema.js +1 -0
  297. package/lib/util/detect-cycles.d.ts +6 -0
  298. package/lib/util/detect-cycles.d.ts.map +1 -0
  299. package/lib/util/detect-cycles.js +61 -0
  300. package/lib/util/index.d.ts +2 -0
  301. package/lib/util/index.d.ts.map +1 -0
  302. package/lib/util/index.js +18 -0
  303. package/lib/validate.d.ts +49 -0
  304. package/lib/validate.d.ts.map +1 -0
  305. package/lib/validate.js +823 -0
  306. package/lib/versions.d.ts +5 -0
  307. package/lib/versions.d.ts.map +1 -0
  308. package/lib/versions.js +14 -0
  309. package/lib/workflows.d.ts +15 -0
  310. package/lib/workflows.d.ts.map +1 -0
  311. package/lib/workflows.js +92 -0
  312. package/package.json +65 -0
@@ -0,0 +1,1196 @@
1
+ {
2
+ "apiVersion": "2",
3
+ "projectId": "fc50424f-6421-4023-a52f-f95dd900a069",
4
+ "version": 21,
5
+ "created": "2021-02-04T15:45:32.300Z",
6
+ "updated": "2021-03-05T16:11:41.972Z",
7
+ "defaultLocale": "en-us",
8
+ "locales": [
9
+ "en-us"
10
+ ],
11
+ "schemaVersion": "3.3.0",
12
+ "queries": {
13
+ "getProduct": {
14
+ "shape": "Product",
15
+ "resolver": {
16
+ "name": "takeshape:get",
17
+ "service": "takeshape:local",
18
+ "options": {
19
+ "model": "Product"
20
+ }
21
+ },
22
+ "description": "Get a Product by ID",
23
+ "args": "TSGetArgs<Product>"
24
+ },
25
+ "getProductList": {
26
+ "shape": "PaginatedList<Product>",
27
+ "resolver": {
28
+ "name": "takeshape:list",
29
+ "service": "takeshape:local",
30
+ "options": {
31
+ "model": "Product"
32
+ }
33
+ },
34
+ "description": "Returns a list Product in natural order.",
35
+ "args": "TSListArgs<Product>"
36
+ },
37
+ "getLook": {
38
+ "shape": "Look",
39
+ "resolver": {
40
+ "name": "takeshape:get",
41
+ "service": "takeshape:local",
42
+ "options": {
43
+ "model": "Look"
44
+ }
45
+ },
46
+ "description": "Get a Look by ID",
47
+ "args": "TSGetArgs<Look>"
48
+ },
49
+ "getLookList": {
50
+ "shape": "PaginatedList<Look>",
51
+ "resolver": {
52
+ "name": "takeshape:list",
53
+ "service": "takeshape:local",
54
+ "options": {
55
+ "model": "Look"
56
+ }
57
+ },
58
+ "description": "Returns a list Look in natural order.",
59
+ "args": "TSListArgs<Look>"
60
+ }
61
+ },
62
+ "mutations": {
63
+ "updateProduct": {
64
+ "shape": "UpdateResult<Product>",
65
+ "resolver": {
66
+ "compose": [
67
+ {
68
+ "id": "createNewShopifyObject",
69
+ "if": "isEmpty(args.input.takeshapeIoShopId) && !isEmpty(args.input.takeshapeIoShop)",
70
+ "argsMapping": {
71
+ "input.descriptionHtml": [
72
+ [
73
+ "get",
74
+ {
75
+ "path": "args.input.takeshapeIoShop.descriptionHtml"
76
+ }
77
+ ]
78
+ ],
79
+ "input.handle": [
80
+ [
81
+ "get",
82
+ {
83
+ "path": "args.input.takeshapeIoShop.handle"
84
+ }
85
+ ]
86
+ ],
87
+ "input.redirectNewHandle": [
88
+ [
89
+ "get",
90
+ {
91
+ "path": "args.input.takeshapeIoShop.redirectNewHandle"
92
+ }
93
+ ]
94
+ ],
95
+ "input.productType": [
96
+ [
97
+ "get",
98
+ {
99
+ "path": "args.input.takeshapeIoShop.productType"
100
+ }
101
+ ]
102
+ ],
103
+ "input.tags": [
104
+ [
105
+ "get",
106
+ {
107
+ "path": "args.input.takeshapeIoShop.tags"
108
+ }
109
+ ]
110
+ ],
111
+ "input.templateSuffix": [
112
+ [
113
+ "get",
114
+ {
115
+ "path": "args.input.takeshapeIoShop.templateSuffix"
116
+ }
117
+ ]
118
+ ],
119
+ "input.giftCard": [
120
+ [
121
+ "get",
122
+ {
123
+ "path": "args.input.takeshapeIoShop.giftCard"
124
+ }
125
+ ]
126
+ ],
127
+ "input.giftCardTemplateSuffix": [
128
+ [
129
+ "get",
130
+ {
131
+ "path": "args.input.takeshapeIoShop.giftCardTemplateSuffix"
132
+ }
133
+ ]
134
+ ],
135
+ "input.title": [
136
+ [
137
+ "get",
138
+ {
139
+ "path": "args.input.takeshapeIoShop.title"
140
+ }
141
+ ]
142
+ ],
143
+ "input.vendor": [
144
+ [
145
+ "get",
146
+ {
147
+ "path": "args.input.takeshapeIoShop.vendor"
148
+ }
149
+ ]
150
+ ],
151
+ "input.bodyHtml": [
152
+ [
153
+ "get",
154
+ {
155
+ "path": "args.input.takeshapeIoShop.bodyHtml"
156
+ }
157
+ ]
158
+ ]
159
+ },
160
+ "name": "graphql:mutation",
161
+ "service": "shopify:takeshape-io-shop",
162
+ "options": {
163
+ "fieldName": "productCreate",
164
+ "selectionSet": "{ product { id } }"
165
+ }
166
+ },
167
+ {
168
+ "id": "editTakeshape",
169
+ "argsMapping": {
170
+ "input": [
171
+ [
172
+ "get",
173
+ {
174
+ "path": "args.input"
175
+ }
176
+ ]
177
+ ],
178
+ "input.takeshapeIoShopId": [
179
+ [
180
+ "get",
181
+ {
182
+ "path": "steps.createNewShopifyObject.product.id"
183
+ }
184
+ ],
185
+ [
186
+ "get",
187
+ {
188
+ "path": "args.input.takeshapeIoShopId"
189
+ }
190
+ ]
191
+ ]
192
+ },
193
+ "name": "takeshape:update",
194
+ "service": "takeshape:local",
195
+ "options": {
196
+ "model": "Product"
197
+ }
198
+ },
199
+ {
200
+ "id": "updateExistingShopifyObject",
201
+ "if": "!isEmpty(args.input.takeshapeIoShopId) && !isEmpty(args.input.takeshapeIoShop)",
202
+ "argsMapping": {
203
+ "input.descriptionHtml": [
204
+ [
205
+ "get",
206
+ {
207
+ "path": "args.input.takeshapeIoShop.descriptionHtml"
208
+ }
209
+ ]
210
+ ],
211
+ "input.handle": [
212
+ [
213
+ "get",
214
+ {
215
+ "path": "args.input.takeshapeIoShop.handle"
216
+ }
217
+ ]
218
+ ],
219
+ "input.redirectNewHandle": [
220
+ [
221
+ "get",
222
+ {
223
+ "path": "args.input.takeshapeIoShop.redirectNewHandle"
224
+ }
225
+ ]
226
+ ],
227
+ "input.productType": [
228
+ [
229
+ "get",
230
+ {
231
+ "path": "args.input.takeshapeIoShop.productType"
232
+ }
233
+ ]
234
+ ],
235
+ "input.tags": [
236
+ [
237
+ "get",
238
+ {
239
+ "path": "args.input.takeshapeIoShop.tags"
240
+ }
241
+ ]
242
+ ],
243
+ "input.templateSuffix": [
244
+ [
245
+ "get",
246
+ {
247
+ "path": "args.input.takeshapeIoShop.templateSuffix"
248
+ }
249
+ ]
250
+ ],
251
+ "input.giftCard": [
252
+ [
253
+ "get",
254
+ {
255
+ "path": "args.input.takeshapeIoShop.giftCard"
256
+ }
257
+ ]
258
+ ],
259
+ "input.giftCardTemplateSuffix": [
260
+ [
261
+ "get",
262
+ {
263
+ "path": "args.input.takeshapeIoShop.giftCardTemplateSuffix"
264
+ }
265
+ ]
266
+ ],
267
+ "input.title": [
268
+ [
269
+ "get",
270
+ {
271
+ "path": "args.input.takeshapeIoShop.title"
272
+ }
273
+ ]
274
+ ],
275
+ "input.vendor": [
276
+ [
277
+ "get",
278
+ {
279
+ "path": "args.input.takeshapeIoShop.vendor"
280
+ }
281
+ ]
282
+ ],
283
+ "input.bodyHtml": [
284
+ [
285
+ "get",
286
+ {
287
+ "path": "args.input.takeshapeIoShop.bodyHtml"
288
+ }
289
+ ]
290
+ ],
291
+ "input.id": [
292
+ [
293
+ "get",
294
+ {
295
+ "path": "args.input.takeshapeIoShopId"
296
+ }
297
+ ]
298
+ ]
299
+ },
300
+ "name": "graphql:mutation",
301
+ "service": "shopify:takeshape-io-shop",
302
+ "options": {
303
+ "fieldName": "productUpdate",
304
+ "selectionSet": "{ product { id } }"
305
+ }
306
+ }
307
+ ],
308
+ "resultsMapping": {
309
+ "result": [
310
+ [
311
+ "get",
312
+ {
313
+ "path": "steps.editTakeshape.result"
314
+ }
315
+ ]
316
+ ]
317
+ }
318
+ },
319
+ "description": "Update Product. If the input has Shopify values and a Shopify ID, the Shopify product with that ID is updated.\nIf the input has Shopify values and no Shopify ID, a Shopify product is created.",
320
+ "args": "UpdateArgs<ProductInterface>"
321
+ },
322
+ "createProduct": {
323
+ "shape": "CreateResult<Product>",
324
+ "resolver": {
325
+ "compose": [
326
+ {
327
+ "id": "shopifyCreate",
328
+ "if": "!isEmpty(args.input.takeshapeIoShop)",
329
+ "argsMapping": {
330
+ "input.descriptionHtml": [
331
+ [
332
+ "get",
333
+ {
334
+ "path": "args.input.takeshapeIoShop.descriptionHtml"
335
+ }
336
+ ]
337
+ ],
338
+ "input.handle": [
339
+ [
340
+ "get",
341
+ {
342
+ "path": "args.input.takeshapeIoShop.handle"
343
+ }
344
+ ]
345
+ ],
346
+ "input.redirectNewHandle": [
347
+ [
348
+ "get",
349
+ {
350
+ "path": "args.input.takeshapeIoShop.redirectNewHandle"
351
+ }
352
+ ]
353
+ ],
354
+ "input.productType": [
355
+ [
356
+ "get",
357
+ {
358
+ "path": "args.input.takeshapeIoShop.productType"
359
+ }
360
+ ]
361
+ ],
362
+ "input.tags": [
363
+ [
364
+ "get",
365
+ {
366
+ "path": "args.input.takeshapeIoShop.tags"
367
+ }
368
+ ]
369
+ ],
370
+ "input.templateSuffix": [
371
+ [
372
+ "get",
373
+ {
374
+ "path": "args.input.takeshapeIoShop.templateSuffix"
375
+ }
376
+ ]
377
+ ],
378
+ "input.giftCard": [
379
+ [
380
+ "get",
381
+ {
382
+ "path": "args.input.takeshapeIoShop.giftCard"
383
+ }
384
+ ]
385
+ ],
386
+ "input.giftCardTemplateSuffix": [
387
+ [
388
+ "get",
389
+ {
390
+ "path": "args.input.takeshapeIoShop.giftCardTemplateSuffix"
391
+ }
392
+ ]
393
+ ],
394
+ "input.title": [
395
+ [
396
+ "get",
397
+ {
398
+ "path": "args.input.takeshapeIoShop.title"
399
+ }
400
+ ]
401
+ ],
402
+ "input.vendor": [
403
+ [
404
+ "get",
405
+ {
406
+ "path": "args.input.takeshapeIoShop.vendor"
407
+ }
408
+ ]
409
+ ],
410
+ "input.bodyHtml": [
411
+ [
412
+ "get",
413
+ {
414
+ "path": "args.input.takeshapeIoShop.bodyHtml"
415
+ }
416
+ ]
417
+ ]
418
+ },
419
+ "name": "graphql:mutation",
420
+ "service": "shopify:takeshape-io-shop",
421
+ "options": {
422
+ "fieldName": "productCreate",
423
+ "selectionSet": "{ product { id } }"
424
+ }
425
+ },
426
+ {
427
+ "id": "creatingShopifyObject",
428
+ "if": "!isEmpty(args.input.takeshapeIoShop)",
429
+ "argsMapping": {
430
+ "input": [
431
+ [
432
+ "get",
433
+ {
434
+ "path": "args.input"
435
+ }
436
+ ]
437
+ ],
438
+ "input.takeshapeIoShopId": [
439
+ [
440
+ "get",
441
+ {
442
+ "path": "steps.shopifyCreate.product.id"
443
+ }
444
+ ]
445
+ ]
446
+ },
447
+ "name": "takeshape:create",
448
+ "service": "takeshape:local",
449
+ "options": {
450
+ "model": "Product"
451
+ }
452
+ },
453
+ {
454
+ "id": "notCreatingShopifyObject",
455
+ "if": "isEmpty(args.input.takeshapeIoShop)",
456
+ "argsMapping": {
457
+ "input": [
458
+ [
459
+ "get",
460
+ {
461
+ "path": "args.input"
462
+ }
463
+ ]
464
+ ]
465
+ },
466
+ "name": "takeshape:create",
467
+ "service": "takeshape:local",
468
+ "options": {
469
+ "model": "Product"
470
+ }
471
+ }
472
+ ],
473
+ "resultsMapping": {
474
+ "result": [
475
+ [
476
+ "get",
477
+ {
478
+ "path": "steps.creatingShopifyObject.result"
479
+ }
480
+ ],
481
+ [
482
+ "get",
483
+ {
484
+ "path": "steps.notCreatingShopifyObject.result"
485
+ }
486
+ ]
487
+ ]
488
+ }
489
+ },
490
+ "description": "Create Product. If Shopify values are provided, a Shopify product is also created and the new product ID is saved.",
491
+ "args": "CreateArgs<ProductInterface>"
492
+ },
493
+ "duplicateProduct": {
494
+ "shape": "DuplicateResult<Product>",
495
+ "resolver": {
496
+ "name": "takeshape:duplicate",
497
+ "service": "takeshape:local",
498
+ "options": {
499
+ "model": "Product"
500
+ }
501
+ },
502
+ "description": "Duplicate Product",
503
+ "args": "DuplicateArgs<Product>"
504
+ },
505
+ "deleteProduct": {
506
+ "shape": "DeleteResult<Product>",
507
+ "resolver": {
508
+ "name": "takeshape:delete",
509
+ "service": "takeshape:local",
510
+ "options": {
511
+ "model": "Product"
512
+ }
513
+ },
514
+ "description": "Delete Product",
515
+ "args": "DeleteArgs<Product>"
516
+ },
517
+ "createProductAndServiceObject": {
518
+ "shape": "CreateResult<Product>",
519
+ "resolver": {
520
+ "compose": [
521
+ {
522
+ "argsMapping": {
523
+ "input.descriptionHtml": [
524
+ [
525
+ "jsonPath",
526
+ {
527
+ "path": "$.args.input.takeshapeIoShop.descriptionHtml"
528
+ }
529
+ ]
530
+ ],
531
+ "input.handle": [
532
+ [
533
+ "jsonPath",
534
+ {
535
+ "path": "$.args.input.takeshapeIoShop.handle"
536
+ }
537
+ ]
538
+ ],
539
+ "input.redirectNewHandle": [
540
+ [
541
+ "jsonPath",
542
+ {
543
+ "path": "$.args.input.takeshapeIoShop.redirectNewHandle"
544
+ }
545
+ ]
546
+ ],
547
+ "input.productType": [
548
+ [
549
+ "jsonPath",
550
+ {
551
+ "path": "$.args.input.takeshapeIoShop.productType"
552
+ }
553
+ ]
554
+ ],
555
+ "input.tags": [
556
+ [
557
+ "jsonPath",
558
+ {
559
+ "path": "$.args.input.takeshapeIoShop.tags"
560
+ }
561
+ ]
562
+ ],
563
+ "input.templateSuffix": [
564
+ [
565
+ "jsonPath",
566
+ {
567
+ "path": "$.args.input.takeshapeIoShop.templateSuffix"
568
+ }
569
+ ]
570
+ ],
571
+ "input.giftCard": [
572
+ [
573
+ "jsonPath",
574
+ {
575
+ "path": "$.args.input.takeshapeIoShop.giftCard"
576
+ }
577
+ ]
578
+ ],
579
+ "input.giftCardTemplateSuffix": [
580
+ [
581
+ "jsonPath",
582
+ {
583
+ "path": "$.args.input.takeshapeIoShop.giftCardTemplateSuffix"
584
+ }
585
+ ]
586
+ ],
587
+ "input.title": [
588
+ [
589
+ "jsonPath",
590
+ {
591
+ "path": "$.args.input.takeshapeIoShop.title"
592
+ }
593
+ ]
594
+ ],
595
+ "input.vendor": [
596
+ [
597
+ "jsonPath",
598
+ {
599
+ "path": "$.args.input.takeshapeIoShop.vendor"
600
+ }
601
+ ]
602
+ ],
603
+ "input.bodyHtml": [
604
+ [
605
+ "jsonPath",
606
+ {
607
+ "path": "$.args.input.takeshapeIoShop.bodyHtml"
608
+ }
609
+ ]
610
+ ]
611
+ },
612
+ "name": "graphql:mutation",
613
+ "service": "shopify:takeshape-io-shop",
614
+ "options": {
615
+ "fieldName": "productCreate",
616
+ "selectionSet": "{ product { id } }"
617
+ }
618
+ },
619
+ {
620
+ "argsMapping": {
621
+ "input": [
622
+ [
623
+ "jsonPath",
624
+ {
625
+ "path": "$.args.input"
626
+ }
627
+ ]
628
+ ],
629
+ "input.takeshapeIoShopId": [
630
+ [
631
+ "jsonPath",
632
+ {
633
+ "path": "$.results[0].product.id"
634
+ }
635
+ ]
636
+ ]
637
+ },
638
+ "name": "takeshape:create",
639
+ "service": "takeshape:local",
640
+ "options": {
641
+ "model": "Product"
642
+ }
643
+ }
644
+ ],
645
+ "resultsMapping": [
646
+ [
647
+ "jsonPath",
648
+ {
649
+ "path": "$.results[1]"
650
+ }
651
+ ]
652
+ ]
653
+ },
654
+ "description": "Create Product",
655
+ "args": "CreateArgs<ProductInterface>"
656
+ },
657
+ "updateProductAndCreateServiceObject": {
658
+ "shape": "UpdateResult<Product>",
659
+ "resolver": {
660
+ "compose": [
661
+ {
662
+ "argsMapping": {
663
+ "input.descriptionHtml": [
664
+ [
665
+ "jsonPath",
666
+ {
667
+ "path": "$.args.input.takeshapeIoShop.descriptionHtml"
668
+ }
669
+ ]
670
+ ],
671
+ "input.handle": [
672
+ [
673
+ "jsonPath",
674
+ {
675
+ "path": "$.args.input.takeshapeIoShop.handle"
676
+ }
677
+ ]
678
+ ],
679
+ "input.redirectNewHandle": [
680
+ [
681
+ "jsonPath",
682
+ {
683
+ "path": "$.args.input.takeshapeIoShop.redirectNewHandle"
684
+ }
685
+ ]
686
+ ],
687
+ "input.productType": [
688
+ [
689
+ "jsonPath",
690
+ {
691
+ "path": "$.args.input.takeshapeIoShop.productType"
692
+ }
693
+ ]
694
+ ],
695
+ "input.tags": [
696
+ [
697
+ "jsonPath",
698
+ {
699
+ "path": "$.args.input.takeshapeIoShop.tags"
700
+ }
701
+ ]
702
+ ],
703
+ "input.templateSuffix": [
704
+ [
705
+ "jsonPath",
706
+ {
707
+ "path": "$.args.input.takeshapeIoShop.templateSuffix"
708
+ }
709
+ ]
710
+ ],
711
+ "input.giftCard": [
712
+ [
713
+ "jsonPath",
714
+ {
715
+ "path": "$.args.input.takeshapeIoShop.giftCard"
716
+ }
717
+ ]
718
+ ],
719
+ "input.giftCardTemplateSuffix": [
720
+ [
721
+ "jsonPath",
722
+ {
723
+ "path": "$.args.input.takeshapeIoShop.giftCardTemplateSuffix"
724
+ }
725
+ ]
726
+ ],
727
+ "input.title": [
728
+ [
729
+ "jsonPath",
730
+ {
731
+ "path": "$.args.input.takeshapeIoShop.title"
732
+ }
733
+ ]
734
+ ],
735
+ "input.vendor": [
736
+ [
737
+ "jsonPath",
738
+ {
739
+ "path": "$.args.input.takeshapeIoShop.vendor"
740
+ }
741
+ ]
742
+ ],
743
+ "input.bodyHtml": [
744
+ [
745
+ "jsonPath",
746
+ {
747
+ "path": "$.args.input.takeshapeIoShop.bodyHtml"
748
+ }
749
+ ]
750
+ ]
751
+ },
752
+ "name": "graphql:mutation",
753
+ "service": "shopify:takeshape-io-shop",
754
+ "options": {
755
+ "fieldName": "productCreate",
756
+ "selectionSet": "{ product { id } }"
757
+ }
758
+ },
759
+ {
760
+ "argsMapping": {
761
+ "input": [
762
+ [
763
+ "jsonPath",
764
+ {
765
+ "path": "$.args.input"
766
+ }
767
+ ]
768
+ ],
769
+ "input.takeshapeIoShopId": [
770
+ [
771
+ "jsonPath",
772
+ {
773
+ "path": "$.results[0].product.id"
774
+ }
775
+ ]
776
+ ]
777
+ },
778
+ "name": "takeshape:update",
779
+ "service": "takeshape:local",
780
+ "options": {
781
+ "model": "Product"
782
+ }
783
+ }
784
+ ],
785
+ "resultsMapping": [
786
+ [
787
+ "jsonPath",
788
+ {
789
+ "path": "$.results[1]"
790
+ }
791
+ ]
792
+ ]
793
+ },
794
+ "description": "Update Product",
795
+ "args": "UpdateArgs<ProductInterface>"
796
+ },
797
+ "updateLook": {
798
+ "shape": "UpdateResult<Look>",
799
+ "resolver": {
800
+ "name": "takeshape:update",
801
+ "service": "takeshape:local",
802
+ "options": {
803
+ "model": "Look"
804
+ }
805
+ },
806
+ "description": "Update Look",
807
+ "args": "UpdateArgs<Look>"
808
+ },
809
+ "createLook": {
810
+ "shape": "CreateResult<Look>",
811
+ "resolver": {
812
+ "name": "takeshape:create",
813
+ "service": "takeshape:local",
814
+ "options": {
815
+ "model": "Look"
816
+ }
817
+ },
818
+ "description": "Create Look",
819
+ "args": "CreateArgs<Look>"
820
+ },
821
+ "duplicateLook": {
822
+ "shape": "DuplicateResult<Look>",
823
+ "resolver": {
824
+ "name": "takeshape:duplicate",
825
+ "service": "takeshape:local",
826
+ "options": {
827
+ "model": "Look"
828
+ }
829
+ },
830
+ "description": "Duplicate Look",
831
+ "args": "DuplicateArgs<Look>"
832
+ },
833
+ "deleteLook": {
834
+ "shape": "DeleteResult<Look>",
835
+ "resolver": {
836
+ "name": "takeshape:delete",
837
+ "service": "takeshape:local",
838
+ "options": {
839
+ "model": "Look"
840
+ }
841
+ },
842
+ "description": "Delete Look",
843
+ "args": "DeleteArgs<Look>"
844
+ }
845
+ },
846
+ "shapes": {
847
+ "ProductInterface": {
848
+ "id": "ProductInterface",
849
+ "name": "ProductInterface",
850
+ "title": "ProductInterface",
851
+ "description": "ProductInterface",
852
+ "schema": {
853
+ "type": "object",
854
+ "properties": {
855
+ "_id": {
856
+ "type": "string"
857
+ },
858
+ "_version": {
859
+ "type": "number"
860
+ },
861
+ "_status": {
862
+ "type": "string",
863
+ "@workflow": "default"
864
+ },
865
+ "name": {
866
+ "type": "string",
867
+ "title": "Name"
868
+ },
869
+ "takeshapeIoShopId": {
870
+ "title": "Service ID",
871
+ "type": "string"
872
+ },
873
+ "takeshapeIoShop": {
874
+ "$ref": "#/shapes/Shopify_ProductInput/schema"
875
+ }
876
+ },
877
+ "required": []
878
+ }
879
+ },
880
+ "Product": {
881
+ "id": "0DeHE3eJn",
882
+ "name": "Product",
883
+ "title": "Product",
884
+ "workflow": "default",
885
+ "model": {
886
+ "type": "multiple"
887
+ },
888
+ "schema": {
889
+ "type": "object",
890
+ "properties": {
891
+ "name": {
892
+ "minLength": 0,
893
+ "type": "string",
894
+ "description": "",
895
+ "title": "Name",
896
+ "@mapping": "takeshape:local:Product.Fv5HIHo4_"
897
+ },
898
+ "takeshapeIoShopId": {
899
+ "type": "string",
900
+ "@mapping": "takeshape:local:Product.WOK1Xvcb5",
901
+ "title": "takeshape-io-shop",
902
+ "minLength": 1,
903
+ "pattern": "(^gid://shopify/Product/\\d+$)"
904
+ },
905
+ "takeshapeIoShop": {
906
+ "$ref": "#/shapes/Shopify_Product/schema",
907
+ "@resolver": {
908
+ "name": "graphql:query",
909
+ "service": "shopify:takeshape-io-shop",
910
+ "options": {
911
+ "fieldName": "product"
912
+ },
913
+ "argsMapping": {
914
+ "id": [
915
+ [
916
+ "get",
917
+ {
918
+ "path": "source.takeshapeIoShopId"
919
+ }
920
+ ]
921
+ ]
922
+ }
923
+ },
924
+ "@tag": "pattern:service-object:1"
925
+ }
926
+ }
927
+ }
928
+ },
929
+ "Look": {
930
+ "id": "0qzGxgSCJ",
931
+ "name": "Look",
932
+ "title": "Look",
933
+ "description": "Each look features a photograph, the products being shown off, and optional accompanying text.",
934
+ "workflow": "default",
935
+ "model": {
936
+ "type": "multiple"
937
+ },
938
+ "schema": {
939
+ "type": "object",
940
+ "properties": {
941
+ "name": {
942
+ "minLength": 1,
943
+ "type": "string",
944
+ "description": "",
945
+ "title": "Name",
946
+ "@mapping": "takeshape:local:Look.LDCYL9XU5"
947
+ },
948
+ "photo": {
949
+ "description": "",
950
+ "$ref": "#/shapes/TSRelationship/schema",
951
+ "@relationship": {
952
+ "shapeIds": [
953
+ "ASSET"
954
+ ]
955
+ },
956
+ "title": "Photo",
957
+ "@mapping": "takeshape:local:Look.4WzSq3aHx"
958
+ },
959
+ "text": {
960
+ "type": "object",
961
+ "@tag": "draftjs",
962
+ "description": "",
963
+ "title": "Text",
964
+ "@mapping": "takeshape:local:Look._qzcnRoKD"
965
+ },
966
+ "products": {
967
+ "description": "",
968
+ "type": "array",
969
+ "items": {
970
+ "$ref": "#/shapes/TSRelationship/schema"
971
+ },
972
+ "@relationship": {
973
+ "shapeIds": [
974
+ "0DeHE3eJn"
975
+ ],
976
+ "type": "multiple",
977
+ "relatedName": "looks"
978
+ },
979
+ "title": "Products",
980
+ "@mapping": "takeshape:local:Look.dGVaGVDct"
981
+ }
982
+ },
983
+ "required": [
984
+ "name",
985
+ "photo"
986
+ ]
987
+ }
988
+ },
989
+ "CollectionInterface": {
990
+ "id": "CollectionInterface",
991
+ "name": "CollectionInterface",
992
+ "title": "CollectionInterface",
993
+ "description": "CollectionInterface",
994
+ "schema": {
995
+ "type": "object",
996
+ "properties": {
997
+ "_id": {
998
+ "type": "string"
999
+ },
1000
+ "_version": {
1001
+ "type": "number"
1002
+ },
1003
+ "_status": {
1004
+ "type": "string"
1005
+ },
1006
+ "takeshapeIoShopId": {
1007
+ "title": "Service ID",
1008
+ "type": "string"
1009
+ },
1010
+ "takeshapeIoShop": {
1011
+ "$ref": "#/shapes/Shopify_CollectionInput/schema"
1012
+ }
1013
+ },
1014
+ "required": []
1015
+ }
1016
+ },
1017
+ "ProductVariantInterface": {
1018
+ "id": "ProductVariantInterface",
1019
+ "name": "ProductVariantInterface",
1020
+ "title": "ProductVariantInterface",
1021
+ "description": "ProductVariantInterface",
1022
+ "schema": {
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "_id": {
1026
+ "type": "string"
1027
+ },
1028
+ "_version": {
1029
+ "type": "number"
1030
+ },
1031
+ "_status": {
1032
+ "type": "string"
1033
+ },
1034
+ "singleLine": {
1035
+ "type": "string",
1036
+ "title": "Single Line"
1037
+ },
1038
+ "takeshapeIoShopId": {
1039
+ "title": "Service ID",
1040
+ "type": "string"
1041
+ },
1042
+ "takeshapeIoShop": {
1043
+ "$ref": "#/shapes/Shopify_ProductVariantInput/schema"
1044
+ }
1045
+ },
1046
+ "required": []
1047
+ }
1048
+ }
1049
+ },
1050
+ "workflows": {},
1051
+ "forms": {
1052
+ "Product": {
1053
+ "default": {
1054
+ "properties": {
1055
+ "name": {
1056
+ "widget": "singleLineText"
1057
+ },
1058
+ "takeshapeIoShop": {
1059
+ "properties": {
1060
+ "descriptionHtml": {
1061
+ "widget": "serviceObjectProperty",
1062
+ "provider": "shopify"
1063
+ },
1064
+ "handle": {
1065
+ "widget": "serviceObjectProperty",
1066
+ "provider": "shopify"
1067
+ },
1068
+ "redirectNewHandle": {
1069
+ "widget": "serviceObjectProperty",
1070
+ "provider": "shopify"
1071
+ },
1072
+ "productType": {
1073
+ "widget": "serviceObjectProperty",
1074
+ "provider": "shopify"
1075
+ },
1076
+ "tags": {
1077
+ "widget": "serviceObjectProperty",
1078
+ "provider": "shopify"
1079
+ },
1080
+ "templateSuffix": {
1081
+ "widget": "serviceObjectProperty",
1082
+ "provider": "shopify"
1083
+ },
1084
+ "giftCard": {
1085
+ "widget": "serviceObjectProperty",
1086
+ "provider": "shopify"
1087
+ },
1088
+ "giftCardTemplateSuffix": {
1089
+ "widget": "serviceObjectProperty",
1090
+ "provider": "shopify"
1091
+ },
1092
+ "title": {
1093
+ "widget": "serviceObjectProperty",
1094
+ "provider": "shopify"
1095
+ },
1096
+ "vendor": {
1097
+ "widget": "serviceObjectProperty",
1098
+ "provider": "shopify"
1099
+ },
1100
+ "bodyHtml": {
1101
+ "widget": "serviceObjectProperty",
1102
+ "provider": "shopify"
1103
+ },
1104
+ "images": {
1105
+ "widget": "shopifyProductImages",
1106
+ "provider": "shopify"
1107
+ },
1108
+ "publishedAt": {
1109
+ "widget": "serviceObjectProperty",
1110
+ "provider": "shopify"
1111
+ },
1112
+ "variants": {
1113
+ "widget": "shopifyRelationshipSummary",
1114
+ "provider": "shopify"
1115
+ }
1116
+ },
1117
+ "widget": "shopify",
1118
+ "wrapper": "shopifyServiceWrapper",
1119
+ "order": [
1120
+ "title",
1121
+ "handle",
1122
+ "descriptionHtml",
1123
+ "bodyHtml",
1124
+ "tags",
1125
+ "vendor",
1126
+ "publishedAt",
1127
+ "variants",
1128
+ "images",
1129
+ "redirectNewHandle",
1130
+ "productType",
1131
+ "templateSuffix",
1132
+ "giftCard",
1133
+ "giftCardTemplateSuffix"
1134
+ ]
1135
+ },
1136
+ "takeshapeIoShopId": {
1137
+ "instructions": "Format: gid://shopify/Product/1111111111111",
1138
+ "label": "product ID",
1139
+ "widget": "serviceObjectId",
1140
+ "provider": "shopify",
1141
+ "serviceObjectType": "product",
1142
+ "service": "takeshape-io-shop"
1143
+ }
1144
+ },
1145
+ "order": [
1146
+ "name",
1147
+ "takeshapeIoShopId",
1148
+ "takeshapeIoShop"
1149
+ ]
1150
+ }
1151
+ },
1152
+ "Look": {
1153
+ "default": {
1154
+ "properties": {
1155
+ "name": {
1156
+ "widget": "singleLineText"
1157
+ },
1158
+ "photo": {
1159
+ "widget": "image"
1160
+ },
1161
+ "text": {
1162
+ "widget": "wysiwygText"
1163
+ },
1164
+ "products": {
1165
+ "widget": "relationship"
1166
+ }
1167
+ },
1168
+ "order": [
1169
+ "name",
1170
+ "photo",
1171
+ "text",
1172
+ "products"
1173
+ ]
1174
+ }
1175
+ }
1176
+ },
1177
+ "services": {
1178
+ "shopify:takeshape-io-shop": {
1179
+ "title": "Shopify Lookbook",
1180
+ "id": "shopify:takeshape-io-shop",
1181
+ "provider": "shopify",
1182
+ "namespace": "Shopify",
1183
+ "serviceType": "graphql",
1184
+ "authenticationType": "oauth2Bearer",
1185
+ "options": {
1186
+ "type": "graphql",
1187
+ "namespace": "Shopify",
1188
+ "shop": "takeshape-io-shop",
1189
+ "authHeader": "X-Shopify-Access-Token",
1190
+ "endpoint": "https://takeshape-io-shop.myshopify.com/admin/api/2020-07/graphql.json",
1191
+ "name": "Shopify Lookbook"
1192
+ }
1193
+ }
1194
+ },
1195
+ "dataKey": "AQIDAHhcZWXOdlBglkxBhI23ElO/clC/kuw5ynjXDSqJgfTz8gF9PtUhhmj99Nwuy3NTUSw0AAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyc4d40JF8HULr2wWAgEQgDs9q/z7QObGJa+nOpS1GDYB9HYK9EcHEiZjhiGhQyAhxZLvqEwQj7+1Zn1LHykh3NJE1BQLQqF8AlQkkQ=="
1196
+ }