#!/bin/sh
set -e

KV_TITLE=$1

if [ -z "$CLOUDFLARE_ACCOUNT_ID" ]; then
  echo "CLOUDFLARE_ACCOUNT_ID is missing"
  exit 1;
fi;

if [ -z "$CLOUDFLARE_TOKEN" ]; then
  echo "CLOUDFLARE_TOKEN is missing"
  exit 1;
fi;

if [ -z "$KV_TITLE" ]; then
  echo "KV_TITLE is missing"
  exit 1;
fi;

echo >&2
echo "create kv" >&2
echo " - CLOUDFLARE_ACCOUNT_ID: $CLOUDFLARE_ACCOUNT_ID" >&2
echo " - CLOUDFLARE_TOKEN: $CLOUDFLARE_TOKEN" >&2
echo " - KV_TITLE: $KV_TITLE" >&2
echo >&2

BODY=$(curl --fail --request POST \
  --url https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/storage/kv/namespaces \
  --header 'content-type: application/json' \
  --header "Authorization: Bearer $CLOUDFLARE_TOKEN" \
  --data "{ \"title\": \"$KV_TITLE\" }")

KV_ID=$(echo $BODY | jq --raw-output .result.id)

echo $BODY >&2

echo >&2
echo "kv created" >&2
echo " - title: $KV_TITLE" >&2
echo " - id: $KV_ID" >&2
echo >&2

echo $KV_ID
