Skip to content

PS EventBus is the CloudSync companion which paves the way for cloud synchronization

License

Notifications You must be signed in to change notification settings

PrestaShopCorp/ps_eventbus

Repository files navigation

PS EventBus

Quality Check

ps_eventbus is a module companion for CloudSync.

Compatibility matrix

PrestaShop platform PHP PS EventBus
8.0 7.1+ From 2.x
1.7.3-1.7.8 7.1+ From 2.x
1.6.1.11 - 1.7.2.5 7.1 From 3.1

PS Accounts compatibility matrix can be viewed here.

Product Images Issue in PHP 8.1

Please note that starting from PHP 8.1, product images may be missing due to a known issue. This is a recognized problem and is being tracked in the PrestaShop repository. You can follow the progress and find more details about the resolution here.

Use

make help        # get help on how to use the awesome Makefile features
make             # bundle all vendors required for the module to run
make zip         # make a zip ready to be tested in PrestaShop (see ./dist)

Pro-tip: prefix all you make commands with the variables you want to override. Ie: VERSION=v1.2.3-rc4 make zip-prod to set the zip package to the desired version.

Testing

make lint              # linting the code with vendor/bin/php-cs-fixer
make lint-fix          # linting and fixing the code with vendor/bin/php-cs-fixer
make php-lint          # linting with php
make phpunit           # unit testing with vendor/bin/phpunit
make phpunit-cov  # unit testing as above but with code coverage
make phpstan           # linting the code with PrestaShop and vendor/bin/phpstan

make docker-<stuff>    # same as above, but in a docker container

Note: you will need xdebug if you want to generate the code-coverage of this project. You may install it with: pecl install -f xdebug.

Healthiness

To check the module healthiness (authenticated route):

BASE_URL="http://localhost:8000"
curl -s -L "$BASE_URL/index.php?fc=module&module=ps_eventbus&controller=apiHealthCheck&job_id=valid-job-stuff" | jq .
{
  "prestashop_version": "1.6.1.24",
  "ps_eventbus_version": "0.0.0",
  "ps_accounts_version": "5.6.2",
  "php_version": "7.1.33",
  "ps_account": true,
  "is_valid_jwt": true,
  "ps_eventbus": true,
  "env": {
    "EVENT_BUS_PROXY_API_URL": "http://reverse-proxy/collector",
    "EVENT_BUS_SYNC_API_URL": "http://reverse-proxy/sync-api"
  },
  "httpCode": 200
}

To check the fallback route (unauthenticated):

BASE_URL="http://localhost:8000"
curl -s -L "$BASE_URL/index.php?fc=module&module=ps_eventbus&controller=apiHealthCheck" | jq .
{
  "ps_account": true,
  "is_valid_jwt": true,
  "ps_eventbus": true,
  "env": {
    "EVENT_BUS_PROXY_API_URL": "http://reverse-proxy/collector",
    "EVENT_BUS_SYNC_API_URL": "http://reverse-proxy/sync-api",
    "EVENT_BUS_LIVE_SYNC_API_URL": "http://reverse-proxy/live-sync-api/v1"
  },
  "httpCode": 200
}

Contribute

Dev requirements:

Or an up-to-date Docker engine.

List of missing data in a database and why is missing

Object content Reason Added in PS version Link with more info
currency.precision row missing in table 1.7.6.0 github
employee.has_enabled_gravatar row missing in table 1.7.8.0 github
product.additional_delivery_time row missing in table 1.7.3.0 github
product.delivery_in_stock row missing in table 1.7.3.0 github
product.delivery_out_stock row missing in table 1.7.3.0 github
stock.location row missing in table 1.7.5.0 github
store_lang table missing 1.7.3.0 github
wishlist¹ table missing n/a Prestashop Addons
taxonomy² table missing n/a Prestashop Addons
stock_available. physical_quantity row missing in table 1.7.2.0 github
stock_available. reserved_quantity row missing in table 1.7.2.0 github
languages.locale row missing in table 1.7.0.0 github

¹ Feature enabled only with PsWishlist module
² Feature enabled only with PsFacebook module