#!/bin/bash

cd /app
npm install
npm update datasquirel

chmod +x init-sql.sh
./init-sql.sh

if [[ $? == 0 ]]; then
    echo "Dsql Database config complete"
else
    echo "Dsql Database configuration failed. Exiting ..."
    exit 1
fi

node /app/shell/createDbFromSchema.js

if [[ $? == 0 ]]; then
    echo "Dsql Schema Setup Complete"
else
    echo "Dsql Schema Setup failed. Exiting ..."
    exit 1
fi

if [ -n "${NEXT_PUBLIC_DSQL_LOCAL}" ]; then
    if [[ "$DSQL_HOST_ENV" == *"dev_dev"* ]]; then
        echo "NEXT_PUBLIC_DSQL_LOCAL is set in dev environment."
        batchrun
    else
        echo "NEXT_PUBLIC_DSQL_LOCAL is set. Running Local initialization ..."
        node /app/docker-root-user-init.js
        if [[ $? == 0 ]]; then
            echo "First User Setup Complete"
        else
            echo "First User Setup Failed!. Exiting ..."
            exit 1
        fi
        node /app/shell/mariadb-users/refreshUsersAndGrants.js
        npm run start:local
    fi
else
    echo "NEXT_PUBLIC_DSQL_LOCAL is not set."

    if [ "${DSQL_HOST_ENV}" == "prod_prod" ]; then
        echo "Main Production Environment"
        npm run build
        nodecid
    else
        echo "Dev Environment"
        batchrun
    fi
fi
