mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	[API] Masiv update to api (#1990)
* Masiv refactor of the api * Masiv refactor of the api * Format page.tsx * Format page.tsx * testing * update build.func * Change urls to Repo * Change urls to Repo * update install.func * Add post_to_api_vm * Update api.func * Update api.func * Update api.func * update api.func
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							0e5f663df5
						
					
				
				
					commit
					8129e3cf39
				
			
							
								
								
									
										125
									
								
								misc/api.func
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								misc/api.func
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: michelroegl-brunner
 | 
			
		||||
# License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/LICENSE
 | 
			
		||||
 | 
			
		||||
post_to_api() {
 | 
			
		||||
 | 
			
		||||
  if ! command -v curl &> /dev/null; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$DIAGNOSTICS" = "no" ]; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ -z "$RANDOM_UUID" ]; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  local API_URL="http://api.community-scripts.org/upload"
 | 
			
		||||
  local pve_version="not found"
 | 
			
		||||
  pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
 | 
			
		||||
 | 
			
		||||
  JSON_PAYLOAD=$(cat <<EOF
 | 
			
		||||
{
 | 
			
		||||
    "ct_type": $CT_TYPE,
 | 
			
		||||
    "type":"lxc",
 | 
			
		||||
    "disk_size": $DISK_SIZE,
 | 
			
		||||
    "core_count": $CORE_COUNT,
 | 
			
		||||
    "ram_size": $RAM_SIZE,
 | 
			
		||||
    "os_type": "$var_os",
 | 
			
		||||
    "os_version": "$var_version",
 | 
			
		||||
    "disableip6": "$DISABLEIP6",
 | 
			
		||||
    "nsapp": "$NSAPP",
 | 
			
		||||
    "method": "$METHOD",
 | 
			
		||||
    "pve_version": "$pve_version",
 | 
			
		||||
    "status": "installing",
 | 
			
		||||
    "random_id": "$RANDOM_UUID"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
  RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
			
		||||
    -H "Content-Type: application/json" \
 | 
			
		||||
    -d "$JSON_PAYLOAD") || true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
post_to_api_vm() {
 | 
			
		||||
 | 
			
		||||
  DIAGNOSTICS=$(grep -i "^DIAGNOSTICS=" /usr/local/community-scripts/diagnostics | awk -F'=' '{print $2}')
 | 
			
		||||
 | 
			
		||||
  if ! command -v curl &> /dev/null; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$DIAGNOSTICS" = "no" ]; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  if [ -z "$RANDOM_UUID" ]; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  local API_URL="http://api.community-scripts.org/upload"
 | 
			
		||||
  local pve_version="not found"
 | 
			
		||||
  pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
 | 
			
		||||
 | 
			
		||||
  DISK_SIZE_API=${DISK_SIZE%G}
 | 
			
		||||
 | 
			
		||||
  JSON_PAYLOAD=$(cat <<EOF
 | 
			
		||||
{
 | 
			
		||||
    "ct_type": 2,
 | 
			
		||||
    "type":"vm",
 | 
			
		||||
    "disk_size": $DISK_SIZE_API,
 | 
			
		||||
    "core_count": $CORE_COUNT,
 | 
			
		||||
    "ram_size": $RAM_SIZE,
 | 
			
		||||
    "os_type": "$var_os",
 | 
			
		||||
    "os_version": "$var_version",
 | 
			
		||||
    "disableip6": "",
 | 
			
		||||
    "nsapp": "$NSAPP",
 | 
			
		||||
    "method": "$METHOD",
 | 
			
		||||
    "pve_version": "$pve_version",
 | 
			
		||||
    "status": "installing",
 | 
			
		||||
    "random_id": "$RANDOM_UUID"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
  RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
			
		||||
    -H "Content-Type: application/json" \
 | 
			
		||||
    -d "$JSON_PAYLOAD") || true
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
POST_UPDATE_DONE=false
 | 
			
		||||
post_update_to_api() {
 | 
			
		||||
 | 
			
		||||
    if ! command -v curl &> /dev/null; then
 | 
			
		||||
      return
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ "$POST_UPDATE_DONE" = true ]; then
 | 
			
		||||
        return 0
 | 
			
		||||
    fi
 | 
			
		||||
    local API_URL="http://api.community-scripts.org/upload/updatestatus"    
 | 
			
		||||
    local status="${1:-failed}"
 | 
			
		||||
    local error="${2:-unknown}"
 | 
			
		||||
 | 
			
		||||
    JSON_PAYLOAD=$(cat <<EOF
 | 
			
		||||
{
 | 
			
		||||
    "status": "$status",
 | 
			
		||||
    "error": "$error",
 | 
			
		||||
    "random_id": "$RANDOM_UUID"
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
)
 | 
			
		||||
   
 | 
			
		||||
  RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
 | 
			
		||||
      -H "Content-Type: application/json" \
 | 
			
		||||
      -d "$JSON_PAYLOAD") || true
 | 
			
		||||
 | 
			
		||||
  POST_UPDATE_DONE=true
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user