#!/bin/bash # vault_grist_api.sh - Grist API wrapper using vault cache # Now uses local vault cache for faster access SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${SCRIPT_DIR}/vault-env.sh" GRIST_URL="https://grist.beawit.net" GRIST_TOKEN=$(vault_grist_token) if [ -z "$GRIST_TOKEN" ]; then echo "Error: Could not retrieve Grist token from vault cache" exit 1 fi # Function to make Grist API calls grist_api() { local method="${1:-GET}" local endpoint="$2" local payload="${3:-}" local curl_cmd="curl -sk -H 'Authorization: Bearer ${GRIST_TOKEN}' -H 'Content-Type: application/json'" if [ "$method" != "GET" ] && [ -n "$payload" ]; then curl_cmd="${curl_cmd} -X ${method} -d '${payload}'" fi eval "${curl_cmd} '${GRIST_URL}${endpoint}'" } # Export functions export -f grist_api export GRIST_URL export GRIST_TOKEN