#!/bin/bash

usage() {
    prefix="docker run --rm -it -v \$PWD:/data docker-compose-viz-mermaid"
    echo "Usage $0 [options]"
    echo -e "\t-h display this help and exit"
    echo -e "\t-v '<options>' passes some options to docker-compose-viz-mermaid"
    echo -e "\t-m pipes docker-compose-viz-mermaid outputs to mermaid"
    echo -e "\t-M '<options>' passes some options to mermaid"
    echo "Exemples"
    echo -e "\t$prefix -M -otest.png -M -w1000"
    echo -e "\t$prefix -v -p -m"
    echo -e "\t$prefix -v -p -v -fMARKDOWN"
}
cmd="java -jar /opt/docker-compose-viz-mermaid.jar"
mmdc="/home/mermaidcli/node_modules/.bin/mmdc -p /puppeteer-config.json"
pipe=false

while getopts ":hmv:M:" opt; do
    case $opt in
        h)
            usage
            exit
            ;;
        v)
            opts="$opts $OPTARG"
            ;;
        m)
            pipe=true
            ;;
        M)
            pipe=true
            mmdc_opts="$mmdc_opts $OPTARG"
            ;;
        \?)
            echo "Invalid option : -$OPTARG" >&2
            usage
            exit 1
            ;;
    esac
done
shift $((OPTIND-1))

if $pipe; then
    $cmd $opts | $mmdc $mmdc_opts
else
    $cmd $opts
fi