#!/bin/bash # Answer a player's feedback report; the reply appears under it in their # lobby ledger. Legacy reports without an id answer to their timestamp. # deploy/feedback-reply.sh set -euo pipefail HOST="${1:?usage: feedback-reply.sh }" REPORT_ID="${2:?usage: feedback-reply.sh }" STATUS="${3:?usage: feedback-reply.sh }" shift 3 TEXT="$*" case "$STATUS" in resolved|by-design|open) ;; *) echo "status must be resolved, by-design, or open" >&2; exit 1;; esac LINE=$(REPORT_ID="$REPORT_ID" STATUS="$STATUS" TEXT="$TEXT" node -e ' console.log(JSON.stringify({ reportId: process.env.REPORT_ID, at: new Date().toISOString(), status: process.env.STATUS, text: process.env.TEXT, }));') printf '%s\n' "$LINE" | ssh "root@$HOST" 'cat >> /var/lib/wizwar/feedback.jsonl && tail -1 /var/lib/wizwar/feedback.jsonl'