#!/bin/bash echo "Fixing SingleSelect columns in NocoDB..." VAULT_TOKEN=$(curl -sk -X POST -d '{"role_id":"75d2dcfb-9c65-7f60-59b4-eee8c7f8dc0e","secret_id":"6202b465-2f25-547c-ec07-f47cfc4dda3e"}' https://beavault.beawit.net:8200/v1/auth/approle/login | jq -r '.auth.client_token') NOCODB_TOKEN=$(curl -sk -H "X-Vault-Token: $VAULT_TOKEN" https://beavault.beawit.net:8200/v1/kv/data/api/infrastructure | jq -r '.data.data["nocodb-token"]') echo "Got NocoDB token" # Get column IDs echo "Fetching column IDs..." COLS=$(curl -s "http://192.168.25.5:8080/api/v2/meta/tables/mx149yctebfwvys" -H "xc-token: $NOCODB_TOKEN") TYPE_ID=$(echo "$COLS" | jq -r '.columns[] | select(.title=="type") | .id') SEVERITY_ID=$(echo "$COLS" | jq -r '.columns[] | select(.title=="severity") | .id') STATUS_ID=$(echo "$COLS" | jq -r '.columns[] | select(.title=="status") | .id') echo "type column ID: $TYPE_ID" echo "severity column ID: $SEVERITY_ID" echo "status column ID: $STATUS_ID" # Fix type column echo "" echo "Fixing type column..." curl -s -X PATCH "http://192.168.25.5:8080/api/v2/meta/columns/$TYPE_ID" \ -H "xc-token: $NOCODB_TOKEN" \ -H "Content-Type: application/json" \ -d '{"dtxp": "'"'"'correction'"'"','"'"'preference'"'"','"'"'episode'"'"','"'"'decision'"'"','"'"'validation'"'"'"}' | jq -r '.columns[] | select(.title=="type") | .dtxp' # Fix severity column echo "" echo "Fixing severity column..." curl -s -X PATCH "http://192.168.25.5:8080/api/v2/meta/columns/$SEVERITY_ID" \ -H "xc-token: $NOCODB_TOKEN" \ -H "Content-Type: application/json" \ -d '{"dtxp": "'"'"'error'"'"','"'"'warning'"'"','"'"'auto-correct'"'"'"}' | jq -r '.columns[] | select(.title=="severity") | .dtxp' # Fix status column echo "" echo "Fixing status column..." curl -s -X PATCH "http://192.168.25.5:8080/api/v2/meta/columns/$STATUS_ID" \ -H "xc-token: $NOCODB_TOKEN" \ -H "Content-Type: application/json" \ -d '{"dtxp": "'"'"'active'"'"','"'"'reversed'"'"','"'"'deprecated'"'"'"}' | jq -r '.columns[] | select(.title=="status") | .dtxp' echo "" echo "Done!"