#!/bin/bash

# 提示用户输入文件名
read -p "请输入要创建的文件名: " filename

# 构造 JSON-RPC 2.0 请求数据（使用 printf 确保格式正确）
json_data=$(printf '{
    "jsonrpc": "2.0",
    "method": "Service.createFile",
    "params": {
        "filename": "%s"
    },
    "id": 1
}' "$filename")

# 发送 POST 请求
response=$(curl -s -X POST \
    -H "Content-Type: application/json" \
    -d "$json_data" \
    http://localhost:8080/api/rpc 2>&1)

# 检查 curl 命令是否成功
if [ $? -ne 0 ]; then
    echo "请求失败: curl 命令执行错误"
    echo "错误详情: $response"
    exit 1
fi

# 解析 JSON 响应（使用 jq 工具）
if command -v jq >/dev/null 2>&1; then
    # 检查是否有错误
    error=$(echo "$response" | jq -r '.error // empty')
    
    if [ -n "$error" ]; then
        error_code=$(echo "$error" | jq -r '.code')
        error_message=$(echo "$error" | jq -r '.message')
        echo "错误 (代码 $error_code): $error_message"
    else
        # 处理成功结果
        result_status=$(echo "$response" | jq -r '.result.status')
        result_message=$(echo "$response" | jq -r '.result.message')
        
        if [ "$result_status" = "success" ]; then
            echo "$result_message"
        else
            echo "文件创建失败: $result_message"
        fi
    fi
else
    echo "警告: 未安装 jq 工具，无法解析 JSON 响应"
    echo "原始响应: $response"
fi
