#!/bin/bash

# Risk Management System Demo Script
# This script demonstrates the core functionality of the risk management system

echo "==================================="
echo "Risk Management System Demo"
echo "==================================="
echo ""

BASE_URL="http://localhost:4000/api"

echo "1. Testing Risk Rule Management endpoints..."
echo ""

# List all risk rules
echo "GET $BASE_URL/risk/rules - List all risk rules"
curl -s -X GET "$BASE_URL/risk/rules" | jq '.' || echo "Failed to connect - is the server running?"
echo ""

# List rules by category
echo "GET $BASE_URL/risk/rules?category=Cat A - List Cat A rules"
curl -s -X GET "$BASE_URL/risk/rules?category=Cat%20A" | jq '.'
echo ""

# Get rule statistics
echo "GET $BASE_URL/risk/statistics - Get rule hit statistics"
curl -s -X GET "$BASE_URL/risk/statistics" | jq '.'
echo ""

echo "2. Testing Supervisor Dashboard endpoints..."
echo ""

# Get supervisor dashboard
echo "GET $BASE_URL/risk/supervisor/dashboard - Get flagged transactions"
curl -s -X GET "$BASE_URL/risk/supervisor/dashboard" | jq '.'
echo ""

# Test supervisor action (this would normally require a valid hit_id)
echo "POST $BASE_URL/risk/supervisor/action - Record supervisor action"
curl -s -X POST "$BASE_URL/risk/supervisor/action" \
  -H "Content-Type: application/json" \
  -d '{
    "hit_id": 1,
    "action": "Release",
    "notes": "Manual review completed - legitimate transaction"
  }' | jq '.'
echo ""

echo "3. Testing Audit Logs endpoints..."
echo ""

# Get audit logs
echo "GET $BASE_URL/risk/audit-logs - Get audit trail"
curl -s -X GET "$BASE_URL/risk/audit-logs" | jq '.'
echo ""

echo "4. Creating a test risk rule..."
echo ""

# Create a new risk rule
echo "POST $BASE_URL/risk/rules - Create new risk rule"
curl -s -X POST "$BASE_URL/risk/rules" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test Demo Rule",
    "description": "Demo rule created by API test",
    "category": "Cat D",
    "rule_type": "alert",
    "enabled": true,
    "execution_order": 999,
    "parameters": {
      "threshold": 1000,
      "demo": true
    }
  }' | jq '.'
echo ""

echo "==================================="
echo "Demo completed!"
echo ""
echo "To access the web interface:"
echo "  - Supervisor Dashboard: http://localhost:4000/risk-management/supervisor"
echo "  - Rule Engine:          http://localhost:4000/risk-management/rules"
echo ""
echo "API Documentation:"
echo "  All endpoints are available under /api/risk/"
echo "  - GET /api/risk/rules - List rules"
echo "  - POST /api/risk/rules - Create rule"
echo "  - PUT /api/risk/rules/:id - Update rule"
echo "  - DELETE /api/risk/rules/:id - Delete rule"
echo "  - GET /api/risk/supervisor/dashboard - Supervisor dashboard"
echo "  - POST /api/risk/supervisor/action - Record action"
echo "  - GET /api/risk/statistics - Rule statistics"
echo "  - GET /api/risk/audit-logs - Audit trail"
echo "==================================="