#!/bin/bash

function upload_to_videovard () {
    api_key=$1
    filepath=$2

    filepath=$( readlink -f "$filepath" )
    echo "filepath: $filepath" >&2

    filesize=$(stat -c%s "$filepath")
    echo "filesize: $filesize" >&2

    # filesha256=$( sha256sum "$filepath")
    # filesha256=${filesha256%% *}

    # echo "filesha256 $filesha256" >&2

    echo "Call https://api.videovard.sx/v2/api/upload/server?key=$api_key" >&2
    upload_server=$(curl -s -X GET "https://api.videovard.sx/v2/api/upload/server?key=$api_key" -H "Content-Type: application/json")
    echo "Upload_URL $upload_server" >&2
    upload_server=$(echo $upload_server | jq ".result")
    # upload_server=$(echo $upload_server | jq ".url")
    upload_server=${upload_server//\"}
    echo "Location: $upload_server"  >&2

    hoster_url=$(curl -X POST -F api_key=$api_key -F "file=@\"$filepath\"" $upload_server)

    echo "upload_result: $hoster_url"  >&2

    hoster_url=$(echo $hoster_url | jq ".file_codes")
    # hoster_filename=$(echo $hoster_url | jq ".name")
    # hoster_url=$(echo $hoster_url | jq ".[0]")
    # hoster_url=$(echo $hoster_url | jq ".id")
    hoster_url=${hoster_url//\"}
    hoster_url="https://videovard.sx/v/$hoster_url"
    >&2 echo "hoster_url: $hoster_url"

    if [ "$hoster_url" != "" ] && [ "$hoster_url" != "null" ] && [ "$hoster_url" != "https://videovard.sx/v/" ]; then
        echo "$hoster_url"
    else
        echo ""
    fi
}

function videovard_check_if_file_is_alive () {
    api_key=$1
    file_url=$2

    >&2 echo "file_url: $file_url"

    # file_id=${file_url%/*}
    # >&2 echo "File ID: $file_id"
    file_id=${file_url##*/}
    >&2 echo "File ID: $file_id"

    >&2 echo "URL to call:  https://api.videovard.sx/v2/api/file/info?key=$api_key&file_code=$file_id"

    response=$(curl -s -X GET "https://api.videovard.sx/v2/api/file/info?key=$api_key&file_code=$file_id" -H "Content-Type: multipart/form-data")
    >&2 echo "Response: $response"

    is_alive=$(echo $response | jq ".result")
    is_alive=$(echo $is_alive | jq ".[0]")
    # is_alive=$(echo $is_alive | jq "first(.[])")
    is_alive=$(echo $is_alive | jq ".status")

    # >&2 echo $is_alive

    if [ "$is_alive" == "404" ]; then
        echo "false"
#   elif [ $is_alive = '500' ]; then
#      echo "false"
    else
        echo "true"
    fi
}
