#!/bin/bash
LOG=/tmp/sdk.log

APPLICATION="sdk/theme/softlinks"
HTTP_STATUS=200
ERROR_MESSAGE="Unknown error"

create_softlinks() {
    if [ "$CONTENT_LENGTH" -gt 0 ]; then
        POST_DATA=$(cat -)
    fi
	APP_NAME=$(echo $POST_DATA | jq -r '.applicationName')
	[[ $APP_NAME == "null" ]] && { HTTP_STATUS=400; ERROR_MESSAGE="Parameters applicationName, themeName and fromThemeName are required."; return 1; }
    echo "$APPLICATION: Creating theme softlinks in application '$APP_NAME'" >> $LOG
	cd /home/$APP_NAME/html/assets/ || { HTTP_STATUS=500; ERROR_MESSAGE="Application $APP_NAME does not exist"; return 2; }
    [[ -e "/home/$APP_NAME/files/themes.json" ]] || { HTTP_STATUS=500; ERROR_MESSAGE="Application $APP_NAME does not have themes active"; return 3; }
    /home/sdk/bin/generateThemeSoftlinks.sh $APP_NAME || { HTTP_STATUS=500; ERROR_MESSAGE="Unable to create softlinks for application '$APP_NAME'"; return 5; }
    return 0
}


main() {
    if [ "$REQUEST_METHOD" = "POST" ]
    then
        create_softlinks
    fi
    STATUS_CODE=$?

    echo "Status: $HTTP_STATUS"
    echo "Content-type: application/json"
    echo ""
    if [ "$STATUS_CODE" -ne 0 ]
    then
        echo "{\"errorCode\": \"$STATUS_CODE\", \"errorMessage\": \"$ERROR_MESSAGE\"}"
    else
        echo "{\"status\": \"0\"}"
    fi
}
main