#!/bin/bash

LOG=/tmp/sdk.log
application="sdk/file/putDir"

HTTP_STATUS=200
ERROR_MESSAGE="Unknown error"

#
# NAME
#   file/putDir
#
# SYNOPSIS
#   file/putDir
#
#   where:
#
#
# DESCRIPTION
#
# RETURNS
#   0   Directory created
#   1   Invalid parameters
#   2   Target application does not exist
#   3   Could not create directory
#
# VERSION
#   1.0 2021-6-4    Initial release
#

create_directory() {
    if [ "$CONTENT_LENGTH" -gt 0 ]; then
        POST_DATA=$(cat -)
    fi
    PATH=$(echo $POST_DATA | jq -r '.path')
    [[ $PATH == "null" ]] && { HTTP_STATUS=400; ERROR_MESSAGE="Parameter path is required."; return 1; }

    echo "$application: Creating directory at '$PATH'" >> $LOG

    /bin/mkdir -p /home/$PATH || { HTTP_STATUS=500; ERROR_MESSAGE="Unable to create directory"; return 3; }
    
    return 0
}


main() {
    if [ "$REQUEST_METHOD" = "POST" ]
    then
        create_directory
    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