workarea-api 4.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (622) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +20 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  4. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.gitignore +24 -0
  7. data/.yardopts +1 -0
  8. data/CHANGELOG.md +807 -0
  9. data/CODE_OF_CONDUCT.md +3 -0
  10. data/CONTRIBUTING.md +3 -0
  11. data/Gemfile +21 -0
  12. data/LICENSE +52 -0
  13. data/README.md +107 -0
  14. data/Rakefile +121 -0
  15. data/admin/.gitignore +12 -0
  16. data/admin/README.md +82 -0
  17. data/admin/Rakefile +10 -0
  18. data/admin/app/assets/images/workarea/api/admin/icons/api.svg +1 -0
  19. data/admin/app/controllers/workarea/api/admin/application_controller.rb +73 -0
  20. data/admin/app/controllers/workarea/api/admin/categories_controller.rb +305 -0
  21. data/admin/app/controllers/workarea/api/admin/category_product_rules_controller.rb +232 -0
  22. data/admin/app/controllers/workarea/api/admin/content_assets_controller.rb +299 -0
  23. data/admin/app/controllers/workarea/api/admin/content_controller.rb +268 -0
  24. data/admin/app/controllers/workarea/api/admin/discounts_controller.rb +271 -0
  25. data/admin/app/controllers/workarea/api/admin/email_signups_controller.rb +108 -0
  26. data/admin/app/controllers/workarea/api/admin/fulfillments_controller.rb +268 -0
  27. data/admin/app/controllers/workarea/api/admin/inventory_skus_controller.rb +305 -0
  28. data/admin/app/controllers/workarea/api/admin/navigation_menus_controller.rb +267 -0
  29. data/admin/app/controllers/workarea/api/admin/navigation_taxons_controller.rb +305 -0
  30. data/admin/app/controllers/workarea/api/admin/orders_controller.rb +160 -0
  31. data/admin/app/controllers/workarea/api/admin/pages_controller.rb +305 -0
  32. data/admin/app/controllers/workarea/api/admin/payment_profiles_controller.rb +305 -0
  33. data/admin/app/controllers/workarea/api/admin/payment_transactions_controller.rb +108 -0
  34. data/admin/app/controllers/workarea/api/admin/payments_controller.rb +115 -0
  35. data/admin/app/controllers/workarea/api/admin/prices_controller.rb +232 -0
  36. data/admin/app/controllers/workarea/api/admin/pricing_skus_controller.rb +305 -0
  37. data/admin/app/controllers/workarea/api/admin/product_images_controller.rb +232 -0
  38. data/admin/app/controllers/workarea/api/admin/products_controller.rb +305 -0
  39. data/admin/app/controllers/workarea/api/admin/promo_code_lists_controller.rb +305 -0
  40. data/admin/app/controllers/workarea/api/admin/recommendation_settings_controller.rb +122 -0
  41. data/admin/app/controllers/workarea/api/admin/redirects_controller.rb +305 -0
  42. data/admin/app/controllers/workarea/api/admin/releases_controller.rb +304 -0
  43. data/admin/app/controllers/workarea/api/admin/saved_addresses_controller.rb +232 -0
  44. data/admin/app/controllers/workarea/api/admin/saved_credit_cards_controller.rb +256 -0
  45. data/admin/app/controllers/workarea/api/admin/shipping_rates_controller.rb +232 -0
  46. data/admin/app/controllers/workarea/api/admin/shipping_services_controller.rb +299 -0
  47. data/admin/app/controllers/workarea/api/admin/shippings_controller.rb +105 -0
  48. data/admin/app/controllers/workarea/api/admin/swagger_controller.rb +41 -0
  49. data/admin/app/controllers/workarea/api/admin/tax_categories_controller.rb +242 -0
  50. data/admin/app/controllers/workarea/api/admin/tax_rates_controller.rb +292 -0
  51. data/admin/app/controllers/workarea/api/admin/users_controller.rb +296 -0
  52. data/admin/app/controllers/workarea/api/admin/variants_controller.rb +232 -0
  53. data/admin/app/models/workarea/api/admin/bulk_upsert.rb +74 -0
  54. data/admin/app/models/workarea/user.decorator +7 -0
  55. data/admin/app/views/workarea/admin/users/_api_permissions.html.haml +6 -0
  56. data/admin/app/workers/workarea/perform_api_bulk_upsert.rb +15 -0
  57. data/admin/bin/rails +18 -0
  58. data/admin/config/initializers/append_points.rb +4 -0
  59. data/admin/config/initializers/config.rb +15 -0
  60. data/admin/config/locales/en.yml +9 -0
  61. data/admin/config/routes.rb +81 -0
  62. data/admin/lib/workarea/api/admin/engine.rb +14 -0
  63. data/admin/lib/workarea/api/admin/swagger.rb +106 -0
  64. data/admin/lib/workarea/api/admin.rb +21 -0
  65. data/admin/test/documentation/workarea/api/admin/categories_documentation_test.rb +106 -0
  66. data/admin/test/documentation/workarea/api/admin/category_product_rules_documentation_test.rb +78 -0
  67. data/admin/test/documentation/workarea/api/admin/content_assets_documentation_test.rb +94 -0
  68. data/admin/test/documentation/workarea/api/admin/content_documentation_test.rb +87 -0
  69. data/admin/test/documentation/workarea/api/admin/discounts_documentation_test.rb +85 -0
  70. data/admin/test/documentation/workarea/api/admin/email_signups_documentation_test.rb +41 -0
  71. data/admin/test/documentation/workarea/api/admin/fulfillment_documentation_test.rb +84 -0
  72. data/admin/test/documentation/workarea/api/admin/inventory_skus_documentation_test.rb +95 -0
  73. data/admin/test/documentation/workarea/api/admin/navigation_menus_documentation_test.rb +81 -0
  74. data/admin/test/documentation/workarea/api/admin/navigation_taxons_documentation_test.rb +94 -0
  75. data/admin/test/documentation/workarea/api/admin/orders_documentation_test.rb +65 -0
  76. data/admin/test/documentation/workarea/api/admin/pages_documentation_test.rb +93 -0
  77. data/admin/test/documentation/workarea/api/admin/payment_profiles_documentation_test.rb +98 -0
  78. data/admin/test/documentation/workarea/api/admin/payment_transactions_documentation_test.rb +43 -0
  79. data/admin/test/documentation/workarea/api/admin/payments_documentation_test.rb +41 -0
  80. data/admin/test/documentation/workarea/api/admin/prices_documentation_test.rb +82 -0
  81. data/admin/test/documentation/workarea/api/admin/pricing_skus_documentation_test.rb +95 -0
  82. data/admin/test/documentation/workarea/api/admin/product_images_documentation_test.rb +101 -0
  83. data/admin/test/documentation/workarea/api/admin/products_documentation_test.rb +96 -0
  84. data/admin/test/documentation/workarea/api/admin/promo_code_lists_documentation_test.rb +94 -0
  85. data/admin/test/documentation/workarea/api/admin/recommendation_settings_documentation_test.rb +37 -0
  86. data/admin/test/documentation/workarea/api/admin/redirects_documentation_test.rb +96 -0
  87. data/admin/test/documentation/workarea/api/admin/release_changes_documentation_test.rb +32 -0
  88. data/admin/test/documentation/workarea/api/admin/releases_documentation_test.rb +93 -0
  89. data/admin/test/documentation/workarea/api/admin/saved_addresses_documentation_test.rb +92 -0
  90. data/admin/test/documentation/workarea/api/admin/saved_credit_cards_documentation_test.rb +86 -0
  91. data/admin/test/documentation/workarea/api/admin/shipping_rates_documentation_test.rb +78 -0
  92. data/admin/test/documentation/workarea/api/admin/shipping_services_documentation_test.rb +93 -0
  93. data/admin/test/documentation/workarea/api/admin/shippings_documentation_test.rb +41 -0
  94. data/admin/test/documentation/workarea/api/admin/tax_categories_documentation_test.rb +95 -0
  95. data/admin/test/documentation/workarea/api/admin/tax_rates_documentation_test.rb +78 -0
  96. data/admin/test/documentation/workarea/api/admin/users_documentation_test.rb +99 -0
  97. data/admin/test/documentation/workarea/api/admin/variants_documentation_test.rb +80 -0
  98. data/admin/test/dummy/Rakefile +7 -0
  99. data/admin/test/dummy/app/assets/config/manifest.js +4 -0
  100. data/admin/test/dummy/app/assets/images/.keep +0 -0
  101. data/admin/test/dummy/app/assets/javascripts/application.js +13 -0
  102. data/admin/test/dummy/app/assets/stylesheets/application.css +15 -0
  103. data/admin/test/dummy/app/controllers/application_controller.rb +3 -0
  104. data/admin/test/dummy/app/controllers/concerns/.keep +0 -0
  105. data/admin/test/dummy/app/helpers/application_helper.rb +2 -0
  106. data/admin/test/dummy/app/jobs/application_job.rb +2 -0
  107. data/admin/test/dummy/app/mailers/.keep +0 -0
  108. data/admin/test/dummy/app/mailers/application_mailer.rb +4 -0
  109. data/admin/test/dummy/app/models/.keep +0 -0
  110. data/admin/test/dummy/app/models/concerns/.keep +0 -0
  111. data/admin/test/dummy/app/views/layouts/application.html.erb +14 -0
  112. data/admin/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  113. data/admin/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  114. data/admin/test/dummy/bin/bundle +3 -0
  115. data/admin/test/dummy/bin/rails +4 -0
  116. data/admin/test/dummy/bin/rake +4 -0
  117. data/admin/test/dummy/bin/setup +34 -0
  118. data/admin/test/dummy/bin/update +29 -0
  119. data/admin/test/dummy/config/application.rb +25 -0
  120. data/admin/test/dummy/config/boot.rb +5 -0
  121. data/admin/test/dummy/config/cable.yml +9 -0
  122. data/admin/test/dummy/config/environment.rb +5 -0
  123. data/admin/test/dummy/config/environments/development.rb +55 -0
  124. data/admin/test/dummy/config/environments/production.rb +86 -0
  125. data/admin/test/dummy/config/environments/test.rb +43 -0
  126. data/admin/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  127. data/admin/test/dummy/config/initializers/assets.rb +11 -0
  128. data/admin/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  129. data/admin/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  130. data/admin/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  131. data/admin/test/dummy/config/initializers/inflections.rb +16 -0
  132. data/admin/test/dummy/config/initializers/mime_types.rb +4 -0
  133. data/admin/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
  134. data/admin/test/dummy/config/initializers/session_store.rb +3 -0
  135. data/admin/test/dummy/config/initializers/workarea.rb +8 -0
  136. data/admin/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  137. data/admin/test/dummy/config/locales/en.yml +23 -0
  138. data/admin/test/dummy/config/puma.rb +47 -0
  139. data/admin/test/dummy/config/routes.rb +6 -0
  140. data/admin/test/dummy/config/secrets.yml +22 -0
  141. data/admin/test/dummy/config/spring.rb +6 -0
  142. data/admin/test/dummy/config.ru +4 -0
  143. data/admin/test/dummy/db/seeds.rb +2 -0
  144. data/admin/test/dummy/log/.keep +0 -0
  145. data/admin/test/dummy/public/404.html +67 -0
  146. data/admin/test/dummy/public/422.html +67 -0
  147. data/admin/test/dummy/public/500.html +66 -0
  148. data/admin/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  149. data/admin/test/dummy/public/apple-touch-icon.png +0 -0
  150. data/admin/test/dummy/public/favicon.ico +1 -0
  151. data/admin/test/integration/workarea/api/admin/audit_log_integration_test.rb +20 -0
  152. data/admin/test/integration/workarea/api/admin/authentication_integration_test.rb +61 -0
  153. data/admin/test/integration/workarea/api/admin/categories_integration_test.rb +64 -0
  154. data/admin/test/integration/workarea/api/admin/category_product_rules_integration_test.rb +58 -0
  155. data/admin/test/integration/workarea/api/admin/content_assets_integration_test.rb +65 -0
  156. data/admin/test/integration/workarea/api/admin/content_integration_test.rb +59 -0
  157. data/admin/test/integration/workarea/api/admin/discounts_integration_test.rb +64 -0
  158. data/admin/test/integration/workarea/api/admin/email_signups_integration_test.rb +32 -0
  159. data/admin/test/integration/workarea/api/admin/error_handling_integration_test.rb +16 -0
  160. data/admin/test/integration/workarea/api/admin/fulfillments_integration_test.rb +62 -0
  161. data/admin/test/integration/workarea/api/admin/inventory_skus_integration_test.rb +70 -0
  162. data/admin/test/integration/workarea/api/admin/navigation_menus_integration_test.rb +54 -0
  163. data/admin/test/integration/workarea/api/admin/navigation_taxons_integration_test.rb +63 -0
  164. data/admin/test/integration/workarea/api/admin/orders_integration_test.rb +53 -0
  165. data/admin/test/integration/workarea/api/admin/pages_integration_test.rb +64 -0
  166. data/admin/test/integration/workarea/api/admin/payment_profiles_integration_test.rb +75 -0
  167. data/admin/test/integration/workarea/api/admin/payment_transactions_integration_test.rb +45 -0
  168. data/admin/test/integration/workarea/api/admin/payments_integration_test.rb +29 -0
  169. data/admin/test/integration/workarea/api/admin/prices_integration_test.rb +55 -0
  170. data/admin/test/integration/workarea/api/admin/pricing_skus_integration_test.rb +72 -0
  171. data/admin/test/integration/workarea/api/admin/product_images_integration_test.rb +56 -0
  172. data/admin/test/integration/workarea/api/admin/products_integration_test.rb +66 -0
  173. data/admin/test/integration/workarea/api/admin/promo_code_lists_integration_test.rb +70 -0
  174. data/admin/test/integration/workarea/api/admin/recommendation_settings_integration_test.rb +41 -0
  175. data/admin/test/integration/workarea/api/admin/redirects_integration_test.rb +69 -0
  176. data/admin/test/integration/workarea/api/admin/release_changes_integration_test.rb +32 -0
  177. data/admin/test/integration/workarea/api/admin/releases_integration_test.rb +60 -0
  178. data/admin/test/integration/workarea/api/admin/saved_addresses_integration_test.rb +70 -0
  179. data/admin/test/integration/workarea/api/admin/saved_credit_cards_integration_test.rb +76 -0
  180. data/admin/test/integration/workarea/api/admin/shipping_rates_integration_test.rb +54 -0
  181. data/admin/test/integration/workarea/api/admin/shipping_services_integration_test.rb +64 -0
  182. data/admin/test/integration/workarea/api/admin/shippings_integration_test.rb +34 -0
  183. data/admin/test/integration/workarea/api/admin/tax_categories_integration_test.rb +64 -0
  184. data/admin/test/integration/workarea/api/admin/tax_rates_integration_test.rb +66 -0
  185. data/admin/test/integration/workarea/api/admin/users_integration_test.rb +67 -0
  186. data/admin/test/integration/workarea/api/admin/variants_integration_test.rb +59 -0
  187. data/admin/test/models/workarea/api/admin/bulk_upsert_test.rb +79 -0
  188. data/admin/test/test_helper.rb +10 -0
  189. data/admin/test/vcr_cassettes/product_image_from_url.yml +43 -0
  190. data/admin/workarea-api-admin.gemspec +18 -0
  191. data/app/views/workarea/api/docs/engine_index.haml +1 -0
  192. data/app/views/workarea/api/docs/example.haml +114 -0
  193. data/app/views/workarea/api/docs/index.haml +28 -0
  194. data/app/views/workarea/api/docs/javascripts.haml +31 -0
  195. data/app/views/workarea/api/docs/javascripts_head.haml +5 -0
  196. data/app/views/workarea/api/docs/layout.haml +32 -0
  197. data/app/views/workarea/api/docs/logo.haml +1 -0
  198. data/app/views/workarea/api/docs/nav.haml +7 -0
  199. data/app/views/workarea/api/docs/stylesheets.haml +278 -0
  200. data/config/initializers/raddocs.rb +12 -0
  201. data/config/initializers/workarea.rb +3 -0
  202. data/config/routes.rb +5 -0
  203. data/doc/api/admin/categories/bulk_upserting_categories.json +42 -0
  204. data/doc/api/admin/categories/creating_a_category.json +46 -0
  205. data/doc/api/admin/categories/listing_categories.json +58 -0
  206. data/doc/api/admin/categories/removing_a_category.json +42 -0
  207. data/doc/api/admin/categories/showing_a_category.json +44 -0
  208. data/doc/api/admin/categories/updating_a_category.json +42 -0
  209. data/doc/api/admin/category_product_rules/creating_a_category_product_rule.json +46 -0
  210. data/doc/api/admin/category_product_rules/listing_category_product_rules.json +44 -0
  211. data/doc/api/admin/category_product_rules/removing_a_category_product_rule.json +42 -0
  212. data/doc/api/admin/category_product_rules/updating_a_category_product_rule.json +42 -0
  213. data/doc/api/admin/content/bulk_upserting_content.json +42 -0
  214. data/doc/api/admin/content/creating_content.json +46 -0
  215. data/doc/api/admin/content/listing_content.json +57 -0
  216. data/doc/api/admin/content/showing_content.json +44 -0
  217. data/doc/api/admin/content/updating_content.json +42 -0
  218. data/doc/api/admin/content_assets/bulk_upserting_content_assets.json +42 -0
  219. data/doc/api/admin/content_assets/creating_a_content_asset.json +46 -0
  220. data/doc/api/admin/content_assets/listing_content_assets.json +58 -0
  221. data/doc/api/admin/content_assets/removing_a_content_asset.json +42 -0
  222. data/doc/api/admin/content_assets/showing_a_content_asset.json +44 -0
  223. data/doc/api/admin/content_assets/updating_a_content_asset.json +42 -0
  224. data/doc/api/admin/discounts/creating_a_discount.json +46 -0
  225. data/doc/api/admin/discounts/listing_discounts.json +58 -0
  226. data/doc/api/admin/discounts/removing_a_discount.json +42 -0
  227. data/doc/api/admin/discounts/showing_a_discount.json +44 -0
  228. data/doc/api/admin/discounts/updating_discounts.json +42 -0
  229. data/doc/api/admin/email_signups/listing_email_signups.json +58 -0
  230. data/doc/api/admin/email_signups/showing_an_email_signup.json +44 -0
  231. data/doc/api/admin/fulfillment/listing_fulfillments.json +55 -0
  232. data/doc/api/admin/fulfillment/marking_items_as_canceled.json +46 -0
  233. data/doc/api/admin/fulfillment/marking_items_as_shipped.json +46 -0
  234. data/doc/api/admin/fulfillment/showing_fulfillment.json +44 -0
  235. data/doc/api/admin/index.json +1219 -0
  236. data/doc/api/admin/inventory_skus/bulk_upserting_inventory_skus.json +42 -0
  237. data/doc/api/admin/inventory_skus/creating_an_inventory_sku.json +46 -0
  238. data/doc/api/admin/inventory_skus/listing_inventory_skus.json +58 -0
  239. data/doc/api/admin/inventory_skus/removing_an_inventory_sku.json +42 -0
  240. data/doc/api/admin/inventory_skus/showing_an_inventory_sku.json +44 -0
  241. data/doc/api/admin/inventory_skus/updating_an_inventory_sku.json +42 -0
  242. data/doc/api/admin/navigation_menus/creating_a_menu.json +46 -0
  243. data/doc/api/admin/navigation_menus/listing_menus.json +58 -0
  244. data/doc/api/admin/navigation_menus/removing_a_navigation_menu.json +42 -0
  245. data/doc/api/admin/navigation_menus/showing_a_navigation_menu.json +44 -0
  246. data/doc/api/admin/navigation_menus/updating_a_navigation_menus.json +42 -0
  247. data/doc/api/admin/navigation_taxonomy/bulk_upserting_navigation_taxons.json +42 -0
  248. data/doc/api/admin/navigation_taxonomy/creating_a_taxon.json +46 -0
  249. data/doc/api/admin/navigation_taxonomy/listing_taxons.json +58 -0
  250. data/doc/api/admin/navigation_taxonomy/removing_a_navigation_taxon.json +42 -0
  251. data/doc/api/admin/navigation_taxonomy/showing_a_navigation_taxon.json +44 -0
  252. data/doc/api/admin/navigation_taxonomy/updating_a_navigation_taxons.json +42 -0
  253. data/doc/api/admin/orders/listing_orders.json +58 -0
  254. data/doc/api/admin/orders/showing_an_order.json +44 -0
  255. data/doc/api/admin/orders/viewing_orders_by_date_range.json +68 -0
  256. data/doc/api/admin/pages/bulk_upserting_pages.json +42 -0
  257. data/doc/api/admin/pages/creating_a_page.json +46 -0
  258. data/doc/api/admin/pages/listing_pages.json +58 -0
  259. data/doc/api/admin/pages/removing_a_page.json +42 -0
  260. data/doc/api/admin/pages/showing_a_page.json +44 -0
  261. data/doc/api/admin/pages/updating_a_page.json +42 -0
  262. data/doc/api/admin/payment_profiles/bulk_upserting_payment_profiles.json +42 -0
  263. data/doc/api/admin/payment_profiles/creating_a_payment_profile.json +46 -0
  264. data/doc/api/admin/payment_profiles/listing_payment_profiles.json +58 -0
  265. data/doc/api/admin/payment_profiles/removing_a_payment_profile.json +42 -0
  266. data/doc/api/admin/payment_profiles/showing_a_payment_profile.json +44 -0
  267. data/doc/api/admin/payment_profiles/updating_a_payment_profiles.json +42 -0
  268. data/doc/api/admin/payment_transactions/listing_payment_transactions.json +58 -0
  269. data/doc/api/admin/payment_transactions/showing_a_payment_transaction.json +44 -0
  270. data/doc/api/admin/payments/listing_payments.json +58 -0
  271. data/doc/api/admin/payments/showing_an_payment.json +44 -0
  272. data/doc/api/admin/prices/creating_a_pricing_sku_price.json +46 -0
  273. data/doc/api/admin/prices/listing_pricing_sku_prices.json +58 -0
  274. data/doc/api/admin/prices/removing_a_pricing_sku_price.json +42 -0
  275. data/doc/api/admin/prices/updating_a_pricing_sku_price.json +42 -0
  276. data/doc/api/admin/pricing_skus/bulk_upserting_pricing_skus.json +42 -0
  277. data/doc/api/admin/pricing_skus/creating_an_pricing_sku.json +46 -0
  278. data/doc/api/admin/pricing_skus/listing_pricing_skus.json +58 -0
  279. data/doc/api/admin/pricing_skus/removing_an_pricing_sku.json +42 -0
  280. data/doc/api/admin/pricing_skus/showing_an_pricing_sku.json +44 -0
  281. data/doc/api/admin/pricing_skus/updating_an_pricing_sku.json +42 -0
  282. data/doc/api/admin/product_images/creating_a_product_image_from_base64.json +46 -0
  283. data/doc/api/admin/product_images/creating_a_product_image_from_url.json +46 -0
  284. data/doc/api/admin/product_images/listing_product_images.json +44 -0
  285. data/doc/api/admin/product_images/removing_a_product_image.json +42 -0
  286. data/doc/api/admin/product_images/updating_a_product_image.json +42 -0
  287. data/doc/api/admin/products/bulk_upserting_products.json +42 -0
  288. data/doc/api/admin/products/creating_a_product.json +46 -0
  289. data/doc/api/admin/products/listing_products.json +58 -0
  290. data/doc/api/admin/products/removing_a_product.json +42 -0
  291. data/doc/api/admin/products/showing_a_product.json +44 -0
  292. data/doc/api/admin/products/updating_a_product.json +42 -0
  293. data/doc/api/admin/promo_code_lists/bulk_upserting_promo_code_lists.json +42 -0
  294. data/doc/api/admin/promo_code_lists/creating_a_promo_code_list.json +46 -0
  295. data/doc/api/admin/promo_code_lists/listing_promo_code_lists.json +58 -0
  296. data/doc/api/admin/promo_code_lists/removing_a_promo_code_list.json +42 -0
  297. data/doc/api/admin/promo_code_lists/showing_a_promo_code_list.json +44 -0
  298. data/doc/api/admin/promo_code_lists/updating_a_promo_code_list.json +42 -0
  299. data/doc/api/admin/recommendation_settings/showing_recommendation_settings.json +44 -0
  300. data/doc/api/admin/recommendation_settings/updating_recommendation_settings.json +42 -0
  301. data/doc/api/admin/redirects/bulk_upserting_redirects.json +42 -0
  302. data/doc/api/admin/redirects/creating_a_redirect.json +46 -0
  303. data/doc/api/admin/redirects/listing_redirects.json +58 -0
  304. data/doc/api/admin/redirects/removing_a_redirect.json +42 -0
  305. data/doc/api/admin/redirects/showing_a_redirect.json +44 -0
  306. data/doc/api/admin/redirects/updating_a_redirects.json +42 -0
  307. data/doc/api/admin/release_changes/adding_changes_to_a_release.json +43 -0
  308. data/doc/api/admin/releases/bulk_upserting_releases.json +42 -0
  309. data/doc/api/admin/releases/creating_a_release.json +46 -0
  310. data/doc/api/admin/releases/listing_releases.json +58 -0
  311. data/doc/api/admin/releases/removing_a_release.json +42 -0
  312. data/doc/api/admin/releases/showing_a_release.json +44 -0
  313. data/doc/api/admin/releases/updating_a_release.json +42 -0
  314. data/doc/api/admin/saved_addresses/creating_a_saved_address.json +46 -0
  315. data/doc/api/admin/saved_addresses/listing_saved_address.json +44 -0
  316. data/doc/api/admin/saved_addresses/removing_a_saved_address.json +42 -0
  317. data/doc/api/admin/saved_addresses/updating_a_saved_address.json +42 -0
  318. data/doc/api/admin/saved_credit_cards/creating_a_saved_credit_card.json +46 -0
  319. data/doc/api/admin/saved_credit_cards/listing_saved_credit_cards.json +55 -0
  320. data/doc/api/admin/saved_credit_cards/removing_a_saved_credit_card.json +42 -0
  321. data/doc/api/admin/saved_credit_cards/updating_a_saved_credit_card.json +42 -0
  322. data/doc/api/admin/shipping/listing_shipments.json +58 -0
  323. data/doc/api/admin/shipping/showing_a_shipment.json +44 -0
  324. data/doc/api/admin/shipping_rates/creating_a_shipping_rate.json +46 -0
  325. data/doc/api/admin/shipping_rates/listing_shipping_rates.json +44 -0
  326. data/doc/api/admin/shipping_rates/removing_a_shipping_rate.json +42 -0
  327. data/doc/api/admin/shipping_rates/updating_a_shipping_rate.json +42 -0
  328. data/doc/api/admin/shipping_services/bulk_upserting_shipping_services.json +42 -0
  329. data/doc/api/admin/shipping_services/creating_a_shipping_service.json +46 -0
  330. data/doc/api/admin/shipping_services/listing_shipping_services.json +58 -0
  331. data/doc/api/admin/shipping_services/removing_a_shipping_service.json +42 -0
  332. data/doc/api/admin/shipping_services/showing_a_shipping_service.json +44 -0
  333. data/doc/api/admin/shipping_services/updating_a_shipping_service.json +42 -0
  334. data/doc/api/admin/tax_categories/bulk_upserting_tax_categories.json +42 -0
  335. data/doc/api/admin/tax_categories/creating_a_tax_category.json +46 -0
  336. data/doc/api/admin/tax_categories/listing_tax_categories.json +55 -0
  337. data/doc/api/admin/tax_categories/removing_a_tax_category.json +42 -0
  338. data/doc/api/admin/tax_categories/showing_a_tax_category.json +44 -0
  339. data/doc/api/admin/tax_categories/updating_a_tax_categories.json +42 -0
  340. data/doc/api/admin/tax_rates/creating_a_tax_rate.json +46 -0
  341. data/doc/api/admin/tax_rates/listing_tax_rates.json +44 -0
  342. data/doc/api/admin/tax_rates/removing_a_tax_rate.json +42 -0
  343. data/doc/api/admin/tax_rates/updating_a_tax_rate.json +42 -0
  344. data/doc/api/admin/users/bulk_upserting_users.json +42 -0
  345. data/doc/api/admin/users/creating_a_user.json +46 -0
  346. data/doc/api/admin/users/listing_users.json +58 -0
  347. data/doc/api/admin/users/removing_a_user.json +42 -0
  348. data/doc/api/admin/users/showing_a_user.json +44 -0
  349. data/doc/api/admin/users/updating_a_user.json +42 -0
  350. data/doc/api/admin/variants/creating_a_product_variant.json +46 -0
  351. data/doc/api/admin/variants/listing_product_variants.json +44 -0
  352. data/doc/api/admin/variants/removing_a_product_variant.json +42 -0
  353. data/doc/api/admin/variants/updating_a_product_variant.json +42 -0
  354. data/doc/api/storefront/accounts/creating_an_account.json +51 -0
  355. data/doc/api/storefront/accounts/getting_account_details.json +50 -0
  356. data/doc/api/storefront/accounts/updating_an_account.json +52 -0
  357. data/doc/api/storefront/analytics/saving_a_category_view.json +39 -0
  358. data/doc/api/storefront/analytics/saving_a_product_view.json +39 -0
  359. data/doc/api/storefront/analytics/saving_a_search.json +39 -0
  360. data/doc/api/storefront/analytics/saving_a_search_abandonment.json +38 -0
  361. data/doc/api/storefront/analytics/saving_filters.json +38 -0
  362. data/doc/api/storefront/assets/showing_an_asset.json +50 -0
  363. data/doc/api/storefront/authentication/creating_an_authentication_token.json +51 -0
  364. data/doc/api/storefront/authentication/refreshing_an_authentication_token.json +52 -0
  365. data/doc/api/storefront/authentication/using_an_authentication_token.json +51 -0
  366. data/doc/api/storefront/cart/adding_a_promo_code.json +52 -0
  367. data/doc/api/storefront/cart/adding_an_item.json +52 -0
  368. data/doc/api/storefront/cart/creating_a_new_cart_for_a_user.json +52 -0
  369. data/doc/api/storefront/cart/creating_a_new_guest_cart.json +51 -0
  370. data/doc/api/storefront/cart/delete_an_item.json +52 -0
  371. data/doc/api/storefront/cart/listing_user_s_carts.json +51 -0
  372. data/doc/api/storefront/cart/showing_cart.json +51 -0
  373. data/doc/api/storefront/cart/updating_an_item.json +52 -0
  374. data/doc/api/storefront/categories/showing_a_category.json +64 -0
  375. data/doc/api/storefront/categories/showing_a_listing_of_categories.json +55 -0
  376. data/doc/api/storefront/checkout/completing_a_checkout.json +51 -0
  377. data/doc/api/storefront/checkout/showing_a_checkout.json +50 -0
  378. data/doc/api/storefront/checkout/updating_a_checkout.json +51 -0
  379. data/doc/api/storefront/contacts/creating_a_contact.json +51 -0
  380. data/doc/api/storefront/email_signups/creating_an_email_signup.json +51 -0
  381. data/doc/api/storefront/email_signups/showing_an_email_signup_content.json +50 -0
  382. data/doc/api/storefront/index.json +527 -0
  383. data/doc/api/storefront/menus/listing_menus.json +51 -0
  384. data/doc/api/storefront/menus/showing_a_menu.json +51 -0
  385. data/doc/api/storefront/orders/listing_the_user_s_orders.json +51 -0
  386. data/doc/api/storefront/orders/showing_an_order.json +51 -0
  387. data/doc/api/storefront/pages/showing_a_page.json +51 -0
  388. data/doc/api/storefront/password_resets/sending_a_forgot_password_email.json +50 -0
  389. data/doc/api/storefront/personalized_recommendations/showing_recommendations_with_a_session_id.json +55 -0
  390. data/doc/api/storefront/personalized_recommendations/showing_recommendations_with_authentication.json +51 -0
  391. data/doc/api/storefront/products/showing_a_product.json +51 -0
  392. data/doc/api/storefront/products/showing_a_product_with_a_specific_sku_selected.json +55 -0
  393. data/doc/api/storefront/recent_views/showing_recent_views_from_authentication.json +51 -0
  394. data/doc/api/storefront/recent_views/showing_recent_views_with_a_session_id.json +55 -0
  395. data/doc/api/storefront/recent_views/updating_recent_views_with_a_session_id.json +53 -0
  396. data/doc/api/storefront/recent_views/updating_recent_views_with_authentication.json +51 -0
  397. data/doc/api/storefront/saved_addresses/creating_a_saved_address.json +51 -0
  398. data/doc/api/storefront/saved_addresses/deleting_a_saved_address.json +48 -0
  399. data/doc/api/storefront/saved_addresses/listing_the_user_s_saved_addresses.json +51 -0
  400. data/doc/api/storefront/saved_addresses/showing_a_saved_address.json +50 -0
  401. data/doc/api/storefront/saved_addresses/updating_a_saved_address.json +51 -0
  402. data/doc/api/storefront/saved_credit_cards/creating_a_saved_credit_card.json +51 -0
  403. data/doc/api/storefront/saved_credit_cards/deleting_a_saved_credit_card.json +48 -0
  404. data/doc/api/storefront/saved_credit_cards/listing_the_user_s_saved_credit_cards.json +51 -0
  405. data/doc/api/storefront/saved_credit_cards/showing_a_saved_credit_card.json +50 -0
  406. data/doc/api/storefront/saved_credit_cards/updating_a_saved_credit_card.json +51 -0
  407. data/doc/api/storefront/searches/showing_search_autocomplete_suggestions.json +52 -0
  408. data/doc/api/storefront/searches/showing_search_results.json +69 -0
  409. data/doc/api/storefront/system_content/showing_system_content.json +51 -0
  410. data/doc/api/storefront/system_content/showing_the_home_page.json +51 -0
  411. data/doc/api/storefront/taxons/showing_a_taxon.json +51 -0
  412. data/doc/api/storefront/validation_errors/checkout_validation_errors.json +51 -0
  413. data/doc/api/storefront/validation_errors/general_validation_errors.json +45 -0
  414. data/lib/workarea/api/curl.rb +86 -0
  415. data/lib/workarea/api/documentation.rb +61 -0
  416. data/lib/workarea/api/documentation_test.rb +210 -0
  417. data/lib/workarea/api/engine.rb +8 -0
  418. data/lib/workarea/api/version.rb +5 -0
  419. data/lib/workarea/api.rb +18 -0
  420. data/storefront/.gitignore +12 -0
  421. data/storefront/README.md +58 -0
  422. data/storefront/Rakefile +10 -0
  423. data/storefront/app/controllers/workarea/api/storefront/accounts_controller.rb +31 -0
  424. data/storefront/app/controllers/workarea/api/storefront/analytics_controller.rb +41 -0
  425. data/storefront/app/controllers/workarea/api/storefront/application_controller.rb +65 -0
  426. data/storefront/app/controllers/workarea/api/storefront/assets_controller.rb +11 -0
  427. data/storefront/app/controllers/workarea/api/storefront/authentication.rb +30 -0
  428. data/storefront/app/controllers/workarea/api/storefront/authentication_tokens_controller.rb +50 -0
  429. data/storefront/app/controllers/workarea/api/storefront/cart_items_controller.rb +100 -0
  430. data/storefront/app/controllers/workarea/api/storefront/carts_controller.rb +47 -0
  431. data/storefront/app/controllers/workarea/api/storefront/categories_controller.rb +25 -0
  432. data/storefront/app/controllers/workarea/api/storefront/checkouts_controller.rb +117 -0
  433. data/storefront/app/controllers/workarea/api/storefront/contacts_controller.rb +20 -0
  434. data/storefront/app/controllers/workarea/api/storefront/current_checkout.rb +60 -0
  435. data/storefront/app/controllers/workarea/api/storefront/email_signups_controller.rb +15 -0
  436. data/storefront/app/controllers/workarea/api/storefront/menus_controller.rb +19 -0
  437. data/storefront/app/controllers/workarea/api/storefront/orders_controller.rb +32 -0
  438. data/storefront/app/controllers/workarea/api/storefront/pages_controller.rb +14 -0
  439. data/storefront/app/controllers/workarea/api/storefront/password_resets_controller.rb +17 -0
  440. data/storefront/app/controllers/workarea/api/storefront/products_controller.rb +17 -0
  441. data/storefront/app/controllers/workarea/api/storefront/recent_views_controller.rb +46 -0
  442. data/storefront/app/controllers/workarea/api/storefront/recommendations_controller.rb +22 -0
  443. data/storefront/app/controllers/workarea/api/storefront/saved_addresses_controller.rb +38 -0
  444. data/storefront/app/controllers/workarea/api/storefront/saved_credit_cards_controller.rb +54 -0
  445. data/storefront/app/controllers/workarea/api/storefront/searches_controller.rb +29 -0
  446. data/storefront/app/controllers/workarea/api/storefront/system_content_controller.rb +16 -0
  447. data/storefront/app/controllers/workarea/api/storefront/taxons_controller.rb +20 -0
  448. data/storefront/app/controllers/workarea/api/storefront/user_activity.rb +36 -0
  449. data/storefront/app/controllers/workarea/storefront/application_controller.decorator +12 -0
  450. data/storefront/app/helpers/workarea/api/storefront/application_helper.rb +15 -0
  451. data/storefront/app/helpers/workarea/api/storefront/checkouts_helper.rb +11 -0
  452. data/storefront/app/helpers/workarea/api/storefront/content_blocks_helper.rb +38 -0
  453. data/storefront/app/models/workarea/catalog/category.decorator +7 -0
  454. data/storefront/app/models/workarea/user/authentication_token.rb +33 -0
  455. data/storefront/app/models/workarea/user.decorator +8 -0
  456. data/storefront/app/view_models/workarea/api/storefront/search_suggestion_view_model.rb +21 -0
  457. data/storefront/app/views/workarea/api/storefront/accounts/_account.json.jbuilder +7 -0
  458. data/storefront/app/views/workarea/api/storefront/accounts/create.json.jbuilder +7 -0
  459. data/storefront/app/views/workarea/api/storefront/accounts/show.json.jbuilder +1 -0
  460. data/storefront/app/views/workarea/api/storefront/assets/show.json.jbuilder +4 -0
  461. data/storefront/app/views/workarea/api/storefront/authentication_tokens/_authentication_token.json.jbuilder +2 -0
  462. data/storefront/app/views/workarea/api/storefront/authentication_tokens/create.json.jbuilder +1 -0
  463. data/storefront/app/views/workarea/api/storefront/authentication_tokens/update.json.jbuilder +1 -0
  464. data/storefront/app/views/workarea/api/storefront/cart_items/item.json.jbuilder +9 -0
  465. data/storefront/app/views/workarea/api/storefront/carts/index.json.jbuilder +4 -0
  466. data/storefront/app/views/workarea/api/storefront/carts/show.json.jbuilder +1 -0
  467. data/storefront/app/views/workarea/api/storefront/categories/_category.json.jbuilder +4 -0
  468. data/storefront/app/views/workarea/api/storefront/categories/index.json.jbuilder +3 -0
  469. data/storefront/app/views/workarea/api/storefront/categories/show.json.jbuilder +30 -0
  470. data/storefront/app/views/workarea/api/storefront/checkouts/_shipping_options.json.jbuilder +4 -0
  471. data/storefront/app/views/workarea/api/storefront/checkouts/show.json.jbuilder +17 -0
  472. data/storefront/app/views/workarea/api/storefront/checkouts/steps/_addresses.json.jbuilder +19 -0
  473. data/storefront/app/views/workarea/api/storefront/checkouts/steps/_payment.json.jbuilder +9 -0
  474. data/storefront/app/views/workarea/api/storefront/checkouts/steps/_shipping.json.jbuilder +9 -0
  475. data/storefront/app/views/workarea/api/storefront/content_blocks/_block.json.jbuilder +7 -0
  476. data/storefront/app/views/workarea/api/storefront/email_signups/create.json.jbuilder +2 -0
  477. data/storefront/app/views/workarea/api/storefront/email_signups/show.json.jbuilder +4 -0
  478. data/storefront/app/views/workarea/api/storefront/facets/_range.json.jbuilder +8 -0
  479. data/storefront/app/views/workarea/api/storefront/facets/_terms.json.jbuilder +8 -0
  480. data/storefront/app/views/workarea/api/storefront/fulfillments/_fulfillment.json.jbuilder +18 -0
  481. data/storefront/app/views/workarea/api/storefront/menus/_menu.json.jbuilder +11 -0
  482. data/storefront/app/views/workarea/api/storefront/menus/index.json.jbuilder +3 -0
  483. data/storefront/app/views/workarea/api/storefront/menus/show.json.jbuilder +1 -0
  484. data/storefront/app/views/workarea/api/storefront/orders/_item.json.jbuilder +26 -0
  485. data/storefront/app/views/workarea/api/storefront/orders/_order.json.jbuilder +42 -0
  486. data/storefront/app/views/workarea/api/storefront/orders/index.json.jbuilder +4 -0
  487. data/storefront/app/views/workarea/api/storefront/orders/show.json.jbuilder +7 -0
  488. data/storefront/app/views/workarea/api/storefront/orders/tenders/_credit_card.json.jbuilder +6 -0
  489. data/storefront/app/views/workarea/api/storefront/orders/tenders/_store_credit.json.jbuilder +2 -0
  490. data/storefront/app/views/workarea/api/storefront/pages/show.json.jbuilder +16 -0
  491. data/storefront/app/views/workarea/api/storefront/products/_image_urls.json.jbuilder +5 -0
  492. data/storefront/app/views/workarea/api/storefront/products/_product.json.jbuilder +41 -0
  493. data/storefront/app/views/workarea/api/storefront/products/show.json.jbuilder +9 -0
  494. data/storefront/app/views/workarea/api/storefront/recent_views/show.json.jbuilder +8 -0
  495. data/storefront/app/views/workarea/api/storefront/recommendations/show.json.jbuilder +3 -0
  496. data/storefront/app/views/workarea/api/storefront/saved_addresses/_saved_address.json.jbuilder +2 -0
  497. data/storefront/app/views/workarea/api/storefront/saved_addresses/index.json.jbuilder +4 -0
  498. data/storefront/app/views/workarea/api/storefront/saved_addresses/show.json.jbuilder +2 -0
  499. data/storefront/app/views/workarea/api/storefront/saved_credit_cards/_card.json.jbuilder +9 -0
  500. data/storefront/app/views/workarea/api/storefront/saved_credit_cards/index.json.jbuilder +4 -0
  501. data/storefront/app/views/workarea/api/storefront/saved_credit_cards/show.json.jbuilder +2 -0
  502. data/storefront/app/views/workarea/api/storefront/searches/index.json.jbuilder +1 -0
  503. data/storefront/app/views/workarea/api/storefront/searches/show.json.jbuilder +19 -0
  504. data/storefront/app/views/workarea/api/storefront/shared/_address.json.jbuilder +12 -0
  505. data/storefront/app/views/workarea/api/storefront/shared/_pagination.json.jbuilder +11 -0
  506. data/storefront/app/views/workarea/api/storefront/system_content/show.json.jbuilder +12 -0
  507. data/storefront/app/views/workarea/api/storefront/taxons/_taxon.json.jbuilder +10 -0
  508. data/storefront/app/views/workarea/api/storefront/taxons/show.json.jbuilder +7 -0
  509. data/storefront/app/workers/workarea/remove_authentication_tokens_on_password_changes.rb +19 -0
  510. data/storefront/bin/rails +18 -0
  511. data/storefront/config/initializers/config.rb +2 -0
  512. data/storefront/config/locales/en.yml +13 -0
  513. data/storefront/config/routes.rb +41 -0
  514. data/storefront/lib/workarea/api/storefront/engine.rb +10 -0
  515. data/storefront/lib/workarea/api/storefront.rb +15 -0
  516. data/storefront/test/documentation/workarea/api/storefront/accounts_documentation_test.rb +70 -0
  517. data/storefront/test/documentation/workarea/api/storefront/analytics_documentation_test.rb +51 -0
  518. data/storefront/test/documentation/workarea/api/storefront/assets_documentation_test.rb +32 -0
  519. data/storefront/test/documentation/workarea/api/storefront/authentication_documentation_test.rb +84 -0
  520. data/storefront/test/documentation/workarea/api/storefront/cart_items_documentation_test.rb +104 -0
  521. data/storefront/test/documentation/workarea/api/storefront/carts_documentation_test.rb +121 -0
  522. data/storefront/test/documentation/workarea/api/storefront/categories_documentation_test.rb +90 -0
  523. data/storefront/test/documentation/workarea/api/storefront/checkouts_documentation_test.rb +142 -0
  524. data/storefront/test/documentation/workarea/api/storefront/contacts_documentation_test.rb +39 -0
  525. data/storefront/test/documentation/workarea/api/storefront/email_signups_documentation_test.rb +53 -0
  526. data/storefront/test/documentation/workarea/api/storefront/menus_documentation_test.rb +67 -0
  527. data/storefront/test/documentation/workarea/api/storefront/orders_documentation_test.rb +127 -0
  528. data/storefront/test/documentation/workarea/api/storefront/pages_documentation_test.rb +66 -0
  529. data/storefront/test/documentation/workarea/api/storefront/password_resets_documentation_test.rb +30 -0
  530. data/storefront/test/documentation/workarea/api/storefront/products_documentation_test.rb +64 -0
  531. data/storefront/test/documentation/workarea/api/storefront/recent_views_documentation_test.rb +116 -0
  532. data/storefront/test/documentation/workarea/api/storefront/recommendations_documentation_test.rb +68 -0
  533. data/storefront/test/documentation/workarea/api/storefront/saved_addresses_documentation_test.rb +129 -0
  534. data/storefront/test/documentation/workarea/api/storefront/saved_credit_cards_documentation_test.rb +129 -0
  535. data/storefront/test/documentation/workarea/api/storefront/searches_documentation_test.rb +88 -0
  536. data/storefront/test/documentation/workarea/api/storefront/system_content_documentation_test.rb +66 -0
  537. data/storefront/test/documentation/workarea/api/storefront/taxons_documentation_test.rb +37 -0
  538. data/storefront/test/documentation/workarea/api/storefront/validation_documentation_test.rb +81 -0
  539. data/storefront/test/dummy/Rakefile +7 -0
  540. data/storefront/test/dummy/app/assets/config/manifest.js +4 -0
  541. data/storefront/test/dummy/app/assets/images/.keep +0 -0
  542. data/storefront/test/dummy/app/assets/javascripts/application.js +13 -0
  543. data/storefront/test/dummy/app/assets/stylesheets/application.css +15 -0
  544. data/storefront/test/dummy/app/controllers/application_controller.rb +3 -0
  545. data/storefront/test/dummy/app/controllers/concerns/.keep +0 -0
  546. data/storefront/test/dummy/app/helpers/application_helper.rb +2 -0
  547. data/storefront/test/dummy/app/jobs/application_job.rb +2 -0
  548. data/storefront/test/dummy/app/mailers/.keep +0 -0
  549. data/storefront/test/dummy/app/mailers/application_mailer.rb +4 -0
  550. data/storefront/test/dummy/app/models/.keep +0 -0
  551. data/storefront/test/dummy/app/models/concerns/.keep +0 -0
  552. data/storefront/test/dummy/app/views/layouts/application.html.erb +14 -0
  553. data/storefront/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  554. data/storefront/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  555. data/storefront/test/dummy/bin/bundle +3 -0
  556. data/storefront/test/dummy/bin/rails +4 -0
  557. data/storefront/test/dummy/bin/rake +4 -0
  558. data/storefront/test/dummy/bin/setup +34 -0
  559. data/storefront/test/dummy/bin/update +29 -0
  560. data/storefront/test/dummy/config/application.rb +25 -0
  561. data/storefront/test/dummy/config/boot.rb +5 -0
  562. data/storefront/test/dummy/config/cable.yml +9 -0
  563. data/storefront/test/dummy/config/environment.rb +5 -0
  564. data/storefront/test/dummy/config/environments/development.rb +55 -0
  565. data/storefront/test/dummy/config/environments/production.rb +86 -0
  566. data/storefront/test/dummy/config/environments/test.rb +43 -0
  567. data/storefront/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  568. data/storefront/test/dummy/config/initializers/assets.rb +11 -0
  569. data/storefront/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  570. data/storefront/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  571. data/storefront/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  572. data/storefront/test/dummy/config/initializers/inflections.rb +16 -0
  573. data/storefront/test/dummy/config/initializers/mime_types.rb +4 -0
  574. data/storefront/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
  575. data/storefront/test/dummy/config/initializers/session_store.rb +3 -0
  576. data/storefront/test/dummy/config/initializers/workarea.rb +8 -0
  577. data/storefront/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  578. data/storefront/test/dummy/config/locales/en.yml +23 -0
  579. data/storefront/test/dummy/config/puma.rb +47 -0
  580. data/storefront/test/dummy/config/routes.rb +6 -0
  581. data/storefront/test/dummy/config/secrets.yml +22 -0
  582. data/storefront/test/dummy/config/spring.rb +6 -0
  583. data/storefront/test/dummy/config.ru +4 -0
  584. data/storefront/test/dummy/db/seeds.rb +2 -0
  585. data/storefront/test/dummy/log/.keep +0 -0
  586. data/storefront/test/dummy/public/404.html +67 -0
  587. data/storefront/test/dummy/public/422.html +67 -0
  588. data/storefront/test/dummy/public/500.html +66 -0
  589. data/storefront/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  590. data/storefront/test/dummy/public/apple-touch-icon.png +0 -0
  591. data/storefront/test/dummy/public/favicon.ico +1 -0
  592. data/storefront/test/integration/workarea/api/storefront/accounts_integration_test.rb +49 -0
  593. data/storefront/test/integration/workarea/api/storefront/analytics_integration_test.rb +36 -0
  594. data/storefront/test/integration/workarea/api/storefront/assets_integration_test.rb +24 -0
  595. data/storefront/test/integration/workarea/api/storefront/authentication_integration_test.rb +50 -0
  596. data/storefront/test/integration/workarea/api/storefront/authentication_tokens_integration_test.rb +87 -0
  597. data/storefront/test/integration/workarea/api/storefront/cart_items_integration_test.rb +149 -0
  598. data/storefront/test/integration/workarea/api/storefront/carts_integration_test.rb +114 -0
  599. data/storefront/test/integration/workarea/api/storefront/categories_integration_test.rb +84 -0
  600. data/storefront/test/integration/workarea/api/storefront/checkouts_integration_test.rb +203 -0
  601. data/storefront/test/integration/workarea/api/storefront/contacts_integration_test.rb +28 -0
  602. data/storefront/test/integration/workarea/api/storefront/email_signups_integration_test.rb +35 -0
  603. data/storefront/test/integration/workarea/api/storefront/menus_integration_test.rb +53 -0
  604. data/storefront/test/integration/workarea/api/storefront/orders_integration_test.rb +115 -0
  605. data/storefront/test/integration/workarea/api/storefront/pages_integration_test.rb +57 -0
  606. data/storefront/test/integration/workarea/api/storefront/password_resets_integration_test.rb +20 -0
  607. data/storefront/test/integration/workarea/api/storefront/products_integration_test.rb +50 -0
  608. data/storefront/test/integration/workarea/api/storefront/recent_views_integration_test.rb +118 -0
  609. data/storefront/test/integration/workarea/api/storefront/recommendations_integration_test.rb +51 -0
  610. data/storefront/test/integration/workarea/api/storefront/saved_addresses_integration_test.rb +100 -0
  611. data/storefront/test/integration/workarea/api/storefront/saved_credit_cards_integration_test.rb +107 -0
  612. data/storefront/test/integration/workarea/api/storefront/searches_integration_test.rb +128 -0
  613. data/storefront/test/integration/workarea/api/storefront/system_content_integration_test.rb +35 -0
  614. data/storefront/test/integration/workarea/api/storefront/taxons_integration_test.rb +44 -0
  615. data/storefront/test/integration/workarea/api/storefront/user_carts_integration_test.rb +55 -0
  616. data/storefront/test/models/workarea/user/authentication_token_test.rb +30 -0
  617. data/storefront/test/support/authentication_test.rb +25 -0
  618. data/storefront/test/support/orders_test.rb +18 -0
  619. data/storefront/test/test_helper.rb +10 -0
  620. data/storefront/workarea-api-storefront.gemspec +18 -0
  621. data/workarea-api.gemspec +25 -0
  622. metadata +741 -0
@@ -0,0 +1,114 @@
1
+ %article
2
+ %h1== #{example.resource} API
3
+
4
+ %h2= example.description
5
+
6
+ - if example.explanation?
7
+ %p.explanation
8
+ = example.explanation
9
+
10
+ - if example.parameters.present?
11
+ %h3 Parameters
12
+ %table
13
+ %thead
14
+ %tr
15
+ %th Name
16
+ %th Description
17
+ - example.parameters.extra_keys.each do |key|
18
+ %th= key
19
+ %tbody
20
+ - example.parameters.params.each do |param|
21
+ %tr
22
+ %td{:class => ("required" if param.required?)}
23
+ - if param.scope?
24
+ %span #{param.scope}[#{param.name}]
25
+ - else
26
+ %span= param.name
27
+ %td
28
+ %span= param.description
29
+ - example.parameters.extra_keys.each do |key|
30
+ %td
31
+ %span= param[key]
32
+
33
+ - if example.response_fields.present?
34
+ %h3 Response Fields
35
+ %table
36
+ %thead
37
+ %tr
38
+ %th Name
39
+ %th Description
40
+ - example.response_fields.extra_keys.each do |key|
41
+ %th= key
42
+ %tbody
43
+ - example.response_fields.fields.each do |field|
44
+ %tr
45
+ %td
46
+ - if field.scope?
47
+ %span #{field.scope}[#{field.name}]
48
+ - else
49
+ %span= field.name
50
+ %td
51
+ %span= field.description
52
+ - example.response_fields.extra_keys.each do |key|
53
+ %td
54
+ %span= field[key]
55
+
56
+ - example.requests.each_with_index do |request, index|
57
+ %div{ :id => "request-#{index}" }
58
+ %h3 Request
59
+ - if request.request_headers.length > 0
60
+ %section
61
+ %h4 Headers
62
+ %pre
63
+ %code
64
+ :preserve
65
+ #{request.request_headers}
66
+
67
+ %section.route
68
+ %h4 Route
69
+ %pre
70
+ %code== #{request.request_method} #{request.request_path}
71
+
72
+ - if request.request_query_parameters?
73
+ %section
74
+ %h4 Query Parameters
75
+ %pre
76
+ %code= request.request_query_parameters
77
+
78
+ - if request.request_body?
79
+ %section
80
+ %h4 Body
81
+ %pre
82
+ %code.format-json
83
+ :preserve
84
+ #{request.request_body}
85
+
86
+ - if request.curl?
87
+ %section
88
+ %h4 cURL
89
+ %pre
90
+ %code= request.curl
91
+
92
+ - if request.response?
93
+ %h3 Response
94
+
95
+ - if request.response_headers.length > 0
96
+ %section
97
+ %h4 Headers
98
+ %pre
99
+ %code
100
+ :preserve
101
+ #{request.response_headers}
102
+
103
+ %section.status
104
+ %h4 Status
105
+ %pre
106
+ %code= request.response_status
107
+
108
+ - if request.response_body?
109
+ %section
110
+ %h4 Body
111
+ %pre
112
+ %code
113
+ :preserve
114
+ #{request.response_body}
@@ -0,0 +1,28 @@
1
+ !!!
2
+ %html{ lang: 'en' }
3
+ %head
4
+ %title= api_name
5
+ = haml :stylesheets
6
+ = haml :javascripts_head
7
+
8
+ %body
9
+ .frame.frame--row.frame--top
10
+ .header
11
+ %a{ href: "#{url_location}", class: 'header__logo clearfix' }
12
+ = haml :logo
13
+ .header__heading= api_name
14
+ .frame.frame--column.frame--left.frame--full-column
15
+ %nav.nav
16
+ %strong.nav__heading Sections
17
+ .nav
18
+ %ul.nav__list
19
+ %li.nav__item
20
+ %a{ href: "#{url_location}/admin", class: 'nav__class' } Admin API
21
+ %li.nav__item
22
+ %a{ href: "#{url_location}/storefront", class: 'nav__class' } Storefront API
23
+ .frame.frame--column.frame--center
24
+ %main.main.main--with-sidebar
25
+ .container.container--full
26
+ .markdown= markdown.render(content)
27
+
28
+ = haml :javascripts
@@ -0,0 +1,31 @@
1
+ %script{ src: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js' }
2
+
3
+ :javascript
4
+ // https://github.com/meowsus/prettypre
5
+ !function(t,e,n,i){"use strict";function s(e,n){this.element=e,this.settings=t.extend({},u,n),this._defaults=u,this._name=r,this.content=this.getContent(this.element),this.init()}var r="prettyPre",u={type:" "};t.extend(s.prototype,{getContent:function(t){return t.innerHTML.replace(/^\n*/,"").replace(/[<>]/g,function(t){return{"<":"&lt;",">":"&gt;"}[t]}).replace(/\s*$/,"")},setContent:function(t,e){return t.innerHTML=e,t},calculateOffset:function(t){for(var e=t.split("\n"),n=0,i=e.length-1;i>=0;i--){for(var s=e[i];0===s.indexOf(this.settings.type);)n+=1,s=s.substring(1);break}return n},buildRegex:function(t){var e=this.calculateOffset(t),n="^"+this.settings.type+"{"+e+"}";return new RegExp(n,"gm")},init:function(){var t=this.buildRegex(this.content);this.setContent(this.element,this.content.replace(t,""))}}),t.fn[r]=function(e){return this.each(function(){t.data(this,"plugin_"+r)||t.data(this,"plugin_"+r,new s(this,e))})}}(jQuery,window,document);
6
+ $('pre code').prettyPre();
7
+
8
+ // format JSON blocks
9
+ $('.format-json').each(function (index, element) {
10
+ var json = JSON.parse(element.innerHTML);
11
+ element.innerHTML = JSON.stringify(json, null, 4);
12
+ });
13
+
14
+ // recall left-frame scroll position
15
+ $('#left-frame').on('click', 'a', function (event) {
16
+ var scrollTop = $('#left-frame').scrollTop();
17
+ sessionStorage.setItem('scrollTop', scrollTop);
18
+ });
19
+ var timer = setTimeout(function () {
20
+ var scrollTop = parseInt(sessionStorage.getItem('scrollTop') || 0);
21
+ $('#left-frame').scrollTop(scrollTop);
22
+ sessionStorage.removeItem('scrollTop');
23
+ clearTimeout(timer);
24
+ }, 50);
25
+
26
+ // highlight left-frame active section
27
+ $('.nav__item').each(function(index, element){
28
+ if ($(element).find('a')[0].href.split('api/docs')[1] === "#{request.path_info}") {
29
+ $(element).addClass('nav__item--active');
30
+ }
31
+ });
@@ -0,0 +1,5 @@
1
+ -# Syntax Highlighting
2
+ %link{ rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.8/styles/tomorrow-night-blue.min.css' }
3
+ %script{ src: 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.8/highlight.min.js' }
4
+ :javascript
5
+ hljs.initHighlightingOnLoad();
@@ -0,0 +1,32 @@
1
+ !!!
2
+ %html{ lang: 'en' }
3
+ %head
4
+ - engine_name = request.path_info.split('/')
5
+ %title
6
+ = "Workarea #{engine_name[1].capitalize} API"
7
+ - if engine_name[3].present?
8
+ = " - #{engine_name[3].split('_').join(' ').capitalize}"
9
+ = haml :stylesheets
10
+ = haml :javascripts_head
11
+
12
+ %body
13
+ .frame.frame--row.frame--top
14
+ .header
15
+ %a{ href: "#{url_location}", class: 'header__logo clearfix' }
16
+ = haml :logo
17
+ .header__heading= "#{api_name} | #{engine_name[1].capitalize}"
18
+ .frame.frame--column.frame--left.frame--full-column#left-frame
19
+ %nav.nav
20
+ %strong.nav__heading Sections
21
+ .nav
22
+ %ul.nav__list
23
+ %li.nav__item
24
+ %a{ href: "#{url_location}/admin", class: 'nav__class' } Admin API
25
+ %li.nav__item
26
+ %a{ href: "#{url_location}/storefront", class: 'nav__class' } Storefront API
27
+ = haml :nav, locals: { index: index, api_name: api_name }
28
+ .frame.frame--column.frame--center
29
+ %main.main.main--with-sidebar
30
+ .container.container--full= yield
31
+
32
+ = haml :javascripts
@@ -0,0 +1 @@
1
+ <svg width="56" height="56" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path d="M16.73.235C7.529.235 0 7.763 0 16.965V39.27C0 48.472 7.529 56 16.73 56h22.306c9.201 0 16.73-7.528 16.73-16.73V16.964c0-9.201-7.529-16.73-16.73-16.73H16.73z" id="a"/><linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="b"><stop stop-color="#001DFF" offset="0%"/><stop stop-color="#0060FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><mask id="c" fill="#fff"><use xlink:href="#a"/></mask><path d="M16.73.235C7.529.235 0 7.763 0 16.965V39.27C0 48.472 7.529 56 16.73 56h22.306c9.201 0 16.73-7.528 16.73-16.73V16.964c0-9.201-7.529-16.73-16.73-16.73H16.73z" fill="url(#b)" mask="url(#c)"/><g fill="#FFF"><path d="M29.493 20.845c0 .204-.057.443-.17.714l-5.928 14.136c-.16.364-.409.663-.75.9-.34.239-.715.358-1.123.358h-.341c-.409 0-.783-.12-1.124-.358a2.11 2.11 0 0 1-.75-.9L13.38 21.56c-.114-.271-.171-.51-.171-.714 0-.43.148-.799.443-1.104a1.456 1.456 0 0 1 1.09-.459c.295 0 .574.085.836.255.26.17.447.38.562.63l5.212 13.183 5.212-13.184c.113-.25.3-.46.562-.629a1.5 1.5 0 0 1 .834-.255c.431 0 .794.153 1.09.459.296.305.443.675.443 1.104zM42.25 19.74a1.457 1.457 0 0 0-1.09-.458 1.5 1.5 0 0 0-.834.255c-.261.17-.449.38-.562.63L34.552 33.35l-3.378-8.544-1.616 3.854 2.95 7.035c.158.364.409.663.75.9.34.239.715.358 1.123.358h.341c.409 0 .783-.12 1.124-.358.34-.237.59-.536.75-.9l5.927-14.136c.113-.271.17-.51.17-.714 0-.43-.147-.799-.443-1.104"/></g></g></svg>
@@ -0,0 +1,7 @@
1
+ - index.resources.each do |resource|
2
+ %strong.nav__heading= resource.name
3
+ %nav.nav
4
+ %ul.nav__list
5
+ - resource.examples.each do |example|
6
+ %li.nav__item
7
+ = link_to example.description, "/#{example.href}"
@@ -0,0 +1,278 @@
1
+ :css
2
+ @import url("https://fonts.googleapis.com/css?family=Open+Sans|Fira+Mono&display=swap");
3
+
4
+ /** RESET */
5
+
6
+ html {
7
+ font-family: 'Helvetica', 'Open Sans', 'Arial', sans-serif;
8
+ font-size: 18px;
9
+ font-weight: 200;
10
+ line-height: 1.5;
11
+ color: #303541;
12
+ }
13
+
14
+ body * {
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ a {
20
+ color: dodgerblue;
21
+ text-decoration: none;
22
+ }
23
+
24
+ button {
25
+ background: none;
26
+ border: none;
27
+ cursor: pointer;
28
+ }
29
+
30
+ b, strong {
31
+ font-weight: bold;
32
+ }
33
+
34
+ mark {
35
+ padding: 5px;
36
+ border-radius: 5px;
37
+ background: lightyellow;
38
+ }
39
+
40
+
41
+ ul,
42
+ ol {
43
+ list-style: none;
44
+ }
45
+
46
+ :target:before {
47
+ display: block;
48
+ content: "";
49
+ height: 72px;
50
+ margin: -72px 0 0;
51
+ }
52
+
53
+ .visually-hidden {
54
+ position: absolute;
55
+ left: -9999px;
56
+ }
57
+
58
+ .invisible {
59
+ visibility: hidden;
60
+ }
61
+
62
+ p, pre, table {
63
+ margin-bottom: 1.5em;
64
+ }
65
+
66
+
67
+ /** TABLES */
68
+ table {
69
+ border-collapse: collapse;
70
+ }
71
+
72
+ thead {
73
+ text-align: left;
74
+ }
75
+
76
+ td {
77
+ border: 1px solid #f7f3f7;
78
+ }
79
+
80
+ td.required {
81
+ font-weight: bold;
82
+ }
83
+
84
+ td.required::after {
85
+ content: '*';
86
+ color: red;
87
+ }
88
+
89
+ th, td {
90
+ padding: 0.5em;
91
+ }
92
+
93
+ tr td:first-of-type {
94
+ background: #f7f3f7;
95
+ border-color: #eeeeee;
96
+ }
97
+
98
+
99
+ /** TYPOGRAPHY */
100
+ .heading,
101
+ h1, h2, h3, h4, h5, h6 {
102
+ font-weight: 800;
103
+ line-height: 1.15;
104
+ margin: 0.75em 0;
105
+ }
106
+
107
+ .heading { display: block; }
108
+
109
+ .heading--no-bottom-margin { margin-bottom: 0 }
110
+ .heading--no-margin { margin: 0; }
111
+
112
+ h1, .heading--1 { font-size: 2rem; }
113
+ h2, .heading--2 { font-size: 1.75rem; }
114
+ h3, .heading--3 { font-size: 1.5rem; }
115
+ h4, .heading--4 { font-size: 1.25rem; }
116
+ h5, .heading--5 { font-size: 1.1rem; }
117
+ h6, .heading--6 { font-size: 1rem; }
118
+
119
+ .explanation {
120
+ font-size: 1.3em;
121
+ color: #666666;
122
+ font-style: italic;
123
+ }
124
+
125
+
126
+ /** Helpers */
127
+ .clearfix:after {
128
+ content: "";
129
+ display: table;
130
+ clear: both;
131
+ }
132
+
133
+
134
+ /** Frames */
135
+ .frame {
136
+ position: fixed;
137
+ overflow: auto;
138
+ border-color: gainsboro;
139
+ border-width: 1px;
140
+ background: white;
141
+ }
142
+ .frame--row {
143
+ left: 0;
144
+ right: 0;
145
+ }
146
+ .frame--column {
147
+ top: 72px;
148
+ bottom: 72px;
149
+ }
150
+ .frame--full-column {
151
+ top: 72px;
152
+ bottom: 0;
153
+ }
154
+ .frame--top {
155
+ top: 0;
156
+ height: 76px;
157
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
158
+ z-index: 1;
159
+ }
160
+ .frame--left {
161
+ left: 0;
162
+ right: 75%;
163
+ border-right-style: solid;
164
+ }
165
+ .frame--center {
166
+ left: 25%;
167
+ right: 25%;
168
+
169
+ position: static;
170
+ overflow: visible;
171
+ }
172
+
173
+ /** CONTAINER */
174
+ .container {
175
+ margin: 0 auto;
176
+ padding: 24px;
177
+ max-width: 624px;
178
+ }
179
+ .container--full {
180
+ max-width: none;
181
+ }
182
+ .container--narrow {
183
+ max-width: 312px;
184
+ }
185
+
186
+
187
+ /** MAIN */
188
+ .main {
189
+ margin-top: 72px;
190
+ margin-left: 25%;
191
+ }
192
+
193
+
194
+ /** NAV */
195
+ .nav {
196
+ position: relative;
197
+ padding: 20px;
198
+ }
199
+
200
+ .nav > .nav {
201
+ padding: 0;
202
+ }
203
+ .nav__heading {
204
+ padding: 0.275rem 0;
205
+ }
206
+ .nav__list {
207
+ margin-bottom: 1.5em;
208
+ }
209
+ .nav__item {
210
+ margin: 0.55rem 0;
211
+ padding-left: 0.55rem;
212
+ font-size: 0.8rem;
213
+ line-height: 1.25;
214
+ }
215
+ .nav__item--active {
216
+ padding: 0.275rem 0.55rem;
217
+ font-weight: bolder;
218
+ background-color: #eee;
219
+ border-left: 3px solid #011eff;
220
+ }
221
+ .nav__item--active a {
222
+ color: black;
223
+ }
224
+ .nav__node {
225
+ display: block;
226
+ padding: 6px 0;
227
+ }
228
+ .nav__node--link {
229
+ color: lightslategray;
230
+ }
231
+ .nav__node--link:hover {
232
+ color: dodgerblue;
233
+ }
234
+ .nav__node--text {
235
+ font-family: 'Quattrocento', serif;
236
+ font-weight: bold;
237
+ }
238
+ .nav__node-text {
239
+ border-bottom: 2px solid dodgerblue;
240
+ }
241
+
242
+
243
+ /** HEADER */
244
+ .header {
245
+ padding: 0.55rem;
246
+ }
247
+
248
+ .header__logo {
249
+ display: inline-block;
250
+ }
251
+
252
+ .header__logo > svg {
253
+ float: left;
254
+ }
255
+
256
+ .header__heading {
257
+ float: left;
258
+ margin-left: 20px;
259
+ font-weight: bold;
260
+ color: #303541;
261
+ text-decoration: none;
262
+ padding-top: 15px;
263
+ }
264
+
265
+ .header__heading:hover {
266
+ color: #0060ff;
267
+ text-decoration: underline;
268
+ }
269
+
270
+
271
+ /** MARKDOWN */
272
+ .markdown p code {
273
+ background: #f7f3f7;
274
+ }
275
+
276
+ .markdown ul {
277
+ list-style: disc inside;
278
+ }
@@ -0,0 +1,12 @@
1
+ Raddocs.configure do |config|
2
+ config.api_name = 'Workarea API Documentation'
3
+
4
+ host_app_docs_dir = Rails.root.join('doc', 'api')
5
+ plugin_docs_dir = Workarea::Api.root.join('doc', 'api')
6
+
7
+ config.docs_dir = if File.directory?(host_app_docs_dir)
8
+ host_app_docs_dir
9
+ else
10
+ plugin_docs_dir
11
+ end
12
+ end
@@ -0,0 +1,3 @@
1
+ Workarea.configure do |config|
2
+ config.suppress_api_response_headers = %w[X-Flash-Messages Set-Cookie]
3
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,5 @@
1
+ Workarea::Api::Engine.routes.draw do
2
+ mount Workarea::Api::Admin::Engine => '/admin', as: 'admin_api'
3
+ mount Workarea::Api::Storefront::Engine => '/storefront', as: 'storefront_api'
4
+ mount Workarea::Api::Documentation => '/docs' unless Rails.env.production?
5
+ end
@@ -0,0 +1,42 @@
1
+ {
2
+ "parameters": [
3
+
4
+ ],
5
+ "response_fields": [
6
+
7
+ ],
8
+ "requests": [
9
+ {
10
+ "request_headers": {
11
+ "Content-Type": "application/json"
12
+ },
13
+ "request_query_parameters": {
14
+ },
15
+ "response_headers": {
16
+ "X-Frame-Options": "SAMEORIGIN",
17
+ "X-XSS-Protection": "1; mode=block",
18
+ "X-Content-Type-Options": "nosniff",
19
+ "X-Download-Options": "noopen",
20
+ "X-Permitted-Cross-Domain-Policies": "none",
21
+ "Referrer-Policy": "strict-origin-when-cross-origin",
22
+ "Cache-Control": "no-cache, no-store, must-revalidate",
23
+ "X-Request-Id": "64bdf2b7-56b6-46a9-868c-a0b022971b42",
24
+ "X-Runtime": "0.300278",
25
+ "Expires": "0"
26
+ },
27
+ "request_method": "PATCH",
28
+ "request_path": "/api/admin/categories/bulk",
29
+ "request_body": "{\"categories\":[{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"},{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"},{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"}]}",
30
+ "request_content_type": "application/json",
31
+ "response_status": 204,
32
+ "response_status_text": "No Content",
33
+ "response_body": null,
34
+ "response_content_type": null,
35
+ "curl": "curl \"https://www.example.com/api/admin/categories/bulk\" -d '{\"categories\":[{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"},{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"},{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:19.372Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe03d4322a4b69d79ad9\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:19.372Z\"}]}' -X PATCH \\\n\t-H \"Content-Type: application/json\""
36
+ }
37
+ ],
38
+ "resource": "Categories",
39
+ "description": "Bulk upserting categories",
40
+ "route": "/api/admin/categories/bulk",
41
+ "http_method": "PATCH"
42
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "parameters": [
3
+
4
+ ],
5
+ "response_fields": [
6
+
7
+ ],
8
+ "requests": [
9
+ {
10
+ "request_headers": {
11
+ "Content-Type": "application/json"
12
+ },
13
+ "request_query_parameters": {
14
+ },
15
+ "response_headers": {
16
+ "X-Frame-Options": "SAMEORIGIN",
17
+ "X-XSS-Protection": "1; mode=block",
18
+ "X-Content-Type-Options": "nosniff",
19
+ "X-Download-Options": "noopen",
20
+ "X-Permitted-Cross-Domain-Policies": "none",
21
+ "Referrer-Policy": "strict-origin-when-cross-origin",
22
+ "Location": "/api/admin/categories/5d5dbe06d4322a4b69d79b11",
23
+ "Content-Type": "application/json; charset=utf-8",
24
+ "ETag": "W/\"51353972a3867bf662818d50cd3a88cf\"",
25
+ "Cache-Control": "no-cache, no-store, must-revalidate",
26
+ "X-Request-Id": "b8035584-0af0-4c6c-9e01-4972c81d93f9",
27
+ "X-Runtime": "0.092379",
28
+ "Expires": "0",
29
+ "Content-Length": "483"
30
+ },
31
+ "request_method": "POST",
32
+ "request_path": "/api/admin/categories",
33
+ "request_body": "{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:22.492Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe06d4322a4b69d79b0d\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:22.492Z\"}",
34
+ "request_content_type": "application/json",
35
+ "response_status": 201,
36
+ "response_status_text": "Created",
37
+ "response_body": "{\n \"category\": {\n \"_id\": \"5d5dbe06d4322a4b69d79b11\",\n \"active\": true,\n \"client_id\": null,\n \"created_at\": \"2019-08-21T21:56:22.492Z\",\n \"default_sort\": \"top_sellers\",\n \"name\": \"Test Category\",\n \"product_ids\": [\n\n ],\n \"product_rules\": [\n {\n \"_id\": \"5d5dbe06d4322a4b69d79b0d\",\n \"created_at\": null,\n \"name\": \"search\",\n \"operator\": \"equals\",\n \"updated_at\": null,\n \"value\": \"*\"\n }\n ],\n \"range_facets\": {\n },\n \"show_navigation\": true,\n \"slug\": \"test-category-1\",\n \"subscribed_user_ids\": [\n\n ],\n \"tags\": [\n\n ],\n \"terms_facets\": [\n\n ],\n \"updated_at\": \"2019-08-21T21:56:22.492Z\"\n }\n}",
38
+ "response_content_type": "application/json",
39
+ "curl": "curl \"https://www.example.com/api/admin/categories\" -d '{\"active\":true,\"client_id\":null,\"created_at\":\"2019-08-21T21:56:22.492Z\",\"default_sort\":\"top_sellers\",\"name\":\"Test Category\",\"product_ids\":[],\"product_rules\":[{\"_id\":\"5d5dbe06d4322a4b69d79b0d\",\"created_at\":null,\"name\":\"search\",\"operator\":\"equals\",\"updated_at\":null,\"value\":\"*\"}],\"range_facets\":{},\"show_navigation\":true,\"subscribed_user_ids\":[],\"tags\":[],\"terms_facets\":[],\"updated_at\":\"2019-08-21T21:56:22.492Z\"}' -X POST \\\n\t-H \"Content-Type: application/json\""
40
+ }
41
+ ],
42
+ "resource": "Categories",
43
+ "description": "Creating a category",
44
+ "route": "/api/admin/categories",
45
+ "http_method": "POST"
46
+ }