#!/usr/bin/env bash
set -e

QUANTFLOW_OBSERVABLE_PORT=${QUANTFLOW_OBSERVABLE_PORT:-8006}
QUANTFLOW_MKDOCS_PORT=${QUANTFLOW_MKDOCS_PORT:-8000}
QUANTFLOW_API_PORT=${QUANTFLOW_API_PORT:-8001}

QUANTFLOW_OBSERVABLE_URL=${QUANTFLOW_OBSERVABLE_URL:-http://127.0.0.1:${QUANTFLOW_OBSERVABLE_PORT}}
QUANTFLOW_MKDOCS_ORIGIN=${QUANTFLOW_MKDOCS_ORIGIN:-http://127.0.0.1:${QUANTFLOW_MKDOCS_PORT}}
QUANTFLOW_API_ORIGIN=${QUANTFLOW_API_ORIGIN:-http://127.0.0.1:${QUANTFLOW_API_PORT}}

npm --prefix frontend exec concurrently -- \
    --kill-others \
    --names mkdocs,observable,api \
    --prefix "[{name}]" \
    "QUANTFLOW_MKDOCS_PORT=${QUANTFLOW_MKDOCS_PORT} QUANTFLOW_OBSERVABLE_URL=${QUANTFLOW_OBSERVABLE_URL} bash ./dev/serve/mkdocs" \
    "QUANTFLOW_OBSERVABLE_PORT=${QUANTFLOW_OBSERVABLE_PORT} QUANTFLOW_API_ORIGIN=${QUANTFLOW_API_ORIGIN} QUANTFLOW_MKDOCS_ORIGIN=${QUANTFLOW_MKDOCS_ORIGIN} bash ./dev/serve/observable" \
    "QUANTFLOW_API_PORT=${QUANTFLOW_API_PORT} QUANTFLOW_CORS_ORIGINS=${QUANTFLOW_OBSERVABLE_URL} bash ./dev/serve/api"
