./manage.py migrate --noinput
./manage.py oscar_populate_countries --initial-only
./manage.py waffle_switch allow_missing_lms_user_id on --create

{% for app_name, app in iter_mfes() %}
{% if app_name == "payment" %}
./manage.py create_or_update_site \
  --site-id=1 \
  --site-domain={{ ECOMMERCE_HOST }}:8130 \
  --site-name=dev \
  --partner-code=dev \
  --partner-name="Open edX - development" \
  --lms-url-root="http://{{ LMS_HOST }}:8000" \
  --client-side-payment-processor={{ ECOMMERCE_ENABLED_CLIENT_SIDE_PAYMENT_PROCESSORS|join(",") }} \
  --payment-processors={{ ECOMMERCE_ENABLED_PAYMENT_PROCESSORS|join(",") }} \
  --sso-client-id="{{ ECOMMERCE_OAUTH2_KEY_SSO_DEV }}" \
  --sso-client-secret="{{ ECOMMERCE_OAUTH2_SECRET_SSO }}" \
  --backend-service-client-id="{{ ECOMMERCE_OAUTH2_KEY_DEV }}" \
  --backend-service-client-secret="{{ ECOMMERCE_OAUTH2_SECRET }}" \
  --from-email="{{ CONTACT_EMAIL }}" \
  --payment-support-email="{{ CONTACT_EMAIL }}" \
  --payment-support-url="http://{{ LMS_HOST }}:8000/support" \
  --discovery_api_url=http://{{ DISCOVERY_HOST }}:8381/api/v1/ \
  --enable-microfrontend-for-basket-page=true \
  --payment-microfrontend-url="http://{{ MFE_HOST }}:{{ app['port'] }}/{{ app_name }}"

# Production site
./manage.py create_or_update_site \
  --site-id=2 \
  --site-domain={{ ECOMMERCE_HOST }} \
  --site-name=prod \
  --partner-code=openedx \
  --partner-name="Open edX" \
  --lms-url-root="{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}" \
  --lms-public-url-root="{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}" \
  --client-side-payment-processor={{ ECOMMERCE_ENABLED_CLIENT_SIDE_PAYMENT_PROCESSORS|join(",") }} \
  --payment-processors={{ ECOMMERCE_ENABLED_PAYMENT_PROCESSORS|join(",") }} \
  --sso-client-id="{{ ECOMMERCE_OAUTH2_KEY_SSO }}" \
  --sso-client-secret="{{ ECOMMERCE_OAUTH2_SECRET_SSO }}" \
  --backend-service-client-id="{{ ECOMMERCE_OAUTH2_KEY }}" \
  --backend-service-client-secret="{{ ECOMMERCE_OAUTH2_SECRET }}" \
  --from-email="{{ CONTACT_EMAIL }}" \
  --payment-support-email="{{ CONTACT_EMAIL }}" \
  --payment-support-url="{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ LMS_HOST }}/support" \
  --discovery_api_url={% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ DISCOVERY_HOST }}/api/v1/ \
  --enable-microfrontend-for-basket-page=true \
  --payment-microfrontend-url="{% if ENABLE_HTTPS %}https{% else %}http{% endif %}://{{ MFE_HOST }}/{{ app_name }}"
{% endif %}
{% endfor %}

if [ ! -e /openedx/ecommerce/node_modules ]
then
  # node_modules directory does not exist, this almost certainly means that the
  # ecommerce directory was bind-mounted. We need to bootstrap that directory.
  npm clean-install --verbose --no-audit
  ./node_modules/.bin/bower install --allow-root
  ./manage.py update_assets --skip-collect
fi
