#!/usr/bin/env bash
# Post a comment to a Gitea PR or issue.
# Usage: tea-comment <number> "comment body"
#        tea-comment <number> @/path/to/file.md
set -euo pipefail

if [[ $# -lt 2 ]]; then
    echo "Usage: tea-comment <number> <comment|@filepath>" >&2
    exit 1
fi

NUMBER="$1"
INPUT="$2"

# If the body starts with @, read from file
if [[ "$INPUT" == @* ]]; then
    FILEPATH="${INPUT#@}"
    if [[ ! -f "$FILEPATH" ]]; then
        echo "Error: file not found: $FILEPATH" >&2
        exit 1
    fi
    BODY=$(cat "$FILEPATH")
else
    BODY="$INPUT"
fi

HASH=$(echo -n "$BODY" | md5sum | cut -c1-8)
TMPFILE="/tmp/tea-comment-${NUMBER}-${HASH}.md"
trap 'rm -f "$TMPFILE"' EXIT

printf '%s' "$BODY" > "$TMPFILE"
tea comment --login schweitz --repo jpmschweitzer/settled-reach "$NUMBER" "$(cat "$TMPFILE")"
