**What**
- Moves `sourceUpdatedNodes` and `sourceAllNodes` to a separate file, to prevent warning of unsupported exports. See #1455.
- Adds warnings if `GET /store/products`, `GET /store/regions`, and `GET /store/collections` return empty arrays. This should help new users more easily figure out why their storefronts does not work as expected.
- Adds schema to plugin, so that node types for products, regions and collections are always created. This will prevent errors such as `allMedusaRegions query failed` from happening in the storefront, as the query will be valid as the type exists, even if it returns nothing. This should make the gatsby plugin/starter easier to use. This error is an reoccurring issue in our discord, when new users try to run the Gatsby starter without seeding the storefront beforehand.
Resolves#1455
Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
* fix: added functionality to handle duplicate sku, ean, upc, and barcodes on product variants
* handle unique variant values
* save
* clear ignored keys in redis
* fixed plugin to handle duplicates and use last build time to make queries more effective
* v1.1.1-canary.0
* removed console log
* v1.1.1-canary.1
* reduce amounts of calls to shopify api
* v1.1.1-canary.2
* added README and support for SmartCollections
* v1.1.1-canary.4
* v1.1.1-canary.5
* v1.1.1-canary.5
* fix dropped products in smart collections
* cleanup
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
* adds bulk add/remove products to/from collection. Adds endpoint updateProducts on collections that uses these bulk operations
* fix integration tests and test description
* undo change to swap
* made requested changes
* added removeProducts endpoint
* made requested changes
* fix: set collection_id null
* updated collection_id to type string | undefined
* adds bulk add/remove products to/from collection. Adds endpoint updateProducts on collections that uses these bulk operations
* fix integration tests and test description
* undo change to swap
* made requested changes
* added removeProducts endpoint
* made requested changes
* fix: set collection_id null
* updated collection_id to type string | undefined
* added default relations to retrieve collection endpoint
* push snapshot
* added created at and updated at to collection list endpoint
* updated integration tests
* added q param to list collections
* updated snapshots
* added statuses to product + unit test for updating status
* add update to product model
* added integration tests
* added integration test to validate that updating status to null results in invalid_data error
* removed comment
* update GET /store/products integration test
* fixed unit test with IdMap
* init plugin
* changed dbehaviour on invalid status input on admin list products
* mprices
* updated migration to add status = published on all existing products + added integration test on GET /admin/products when status null is provided
* merged product status
* init ShopifyService
* made requested changes to migration and GET /store/products
* fixed test
* made requested changes to migration
* push progress on source plugin
* add webhook product/create handler
* fixed normalization of variant weight
* removed weight func
* work on events
* finished product hooks (error on new variant needs to be fixed)
* fixed order status
* create fulfillments
* update fulfillment on cancel
* refactored services, handle returns though medusa, helper methods
* order updates
* removed dist
* update gitignore
* emit cahnges to product
* added redis ignore check to prevent update loops
* fixed product-variant.deleted event
* fix more events
* fix test
* fix: order taxes
* added refund with no items
* fixes to hooks
* fixed handling refunds and returns issued from Shopify
* added unit tests to ShopifyProductService and ShopifyCollectionService
* linting fix
* prepared loader PR
* fix: jsDocs
* fix: pager
* fix: build output and babelrc
* chore: linting
* fix: address type
* fix: migration clean up
* fix: update snapshots with ext_ids
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
* added statuses to product + unit test for updating status
* add update to product model
* added integration tests
* added integration test to validate that updating status to null results in invalid_data error
* removed comment
* update GET /store/products integration test
* fixed unit test with IdMap
* changed dbehaviour on invalid status input on admin list products
* updated migration to add status = published on all existing products + added integration test on GET /admin/products when status null is provided
* made requested changes to migration and GET /store/products
* fixed test
* made requested changes to migration
* changed validator so that reqiurement shipping_option_id is now optional + added integration test that confirms that when an update contains a requirement without an ID it is created
* fix: formatting
* fix: un-bump babel-preset-medusa-package
* chore: update yarn.lock
* fix: implemented suggested changes, need to validate behaviour on clean branch so NOT ready for merging just yet
* fix: implemented suggested changes, need to validate behaviour on clean branch so NOT ready for merging just yet
* afix: made it impossible to set a min. subtotal requirement that is greater than max. subtotal
* fix: added explanation to error
* fix: Error when removing requirement on update
Co-authored-by: olivermrbl <oliver@mrbltech.com>
What
Changes selectors of API references to improve DocSearch results
Implements custom navigation for DocSearch in both API ref and docs. (Uses goTo method for in page navigation, Gatsby navigate for navigation within Gatsby site, changes URL's to API reference to make use of methods implemented to provide better metadata etc.)
Implements a new way to make all HTML available in API reference without need the crawler to have Javascript enabled which should allow Algolia to crawl our site faster.
Why
To provide users with a good search experience within our docs and API reference
Testing
Tested using a local setup of the Algolia crawler