#!/bin/bash
# coin-ctl — CLI helper for talking to vendora-coin's IPC socket.
#
# Usage:
#   coin-ctl on        # power the coin slot ON (relay closes, CH-926 receives 12V)
#   coin-ctl off       # power the coin slot OFF
#   coin-ctl status    # JSON status (slot_on, accepted count, rejected count)
#
# Talks to /run/vendora/coin.sock over a one-line UNIX-socket protocol.
# Requires sudo (socket is mode 0660, owned by root).

set -euo pipefail

case "${1:-}" in
    on)     CMD="slot on" ;;
    off)    CMD="slot off" ;;
    status) CMD="status" ;;
    *)
        echo "Usage: $0 {on|off|status}" >&2
        exit 1
        ;;
esac

python3 - <<PYEOF
import socket, sys
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
try:
    sock.connect("/run/vendora/coin.sock")
except FileNotFoundError:
    print("error: /run/vendora/coin.sock not found — is vendora-coin running?", file=sys.stderr)
    sys.exit(2)
except PermissionError:
    print("error: permission denied on /run/vendora/coin.sock — try sudo", file=sys.stderr)
    sys.exit(3)
sock.sendall(b"${CMD}\n")
print(sock.recv(4096).decode().strip())
PYEOF
