Skip to content

Commit 566011b

Browse files
committed
add debugging for download clients
1 parent cf48f50 commit 566011b

1 file changed

Lines changed: 42 additions & 7 deletions

File tree

modules/arr-common/downloadClientsService.nix

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,40 +87,75 @@ in {
8787
CLIENT_API_KEY=$(cat ${apiKeyPath})
8888
FIELD_OVERRIDES='${fieldOverridesJson}'
8989
90+
echo "DEBUG: Field overrides:"
91+
echo "$FIELD_OVERRIDES" | ${pkgs.jq}/bin/jq '.'
92+
9093
EXISTING_CLIENT=$(echo "$DOWNLOAD_CLIENTS" | ${pkgs.jq}/bin/jq -r '.[] | select(.name == "${clientName}") | @json' || echo "")
9194
9295
if [ -n "$EXISTING_CLIENT" ]; then
9396
echo "Download client ${clientName} already exists, updating..."
9497
CLIENT_ID=$(echo "$EXISTING_CLIENT" | ${pkgs.jq}/bin/jq -r '.id')
9598
99+
echo "DEBUG: Existing client JSON:"
100+
echo "$EXISTING_CLIENT" | ${pkgs.jq}/bin/jq '.'
101+
96102
UPDATED_CLIENT=$(apply_field_overrides "$EXISTING_CLIENT" "$CLIENT_API_KEY" "$FIELD_OVERRIDES")
97103
98-
${pkgs.curl}/bin/curl -sSf -X PUT \
104+
echo "DEBUG: Updated client JSON to send:"
105+
echo "$UPDATED_CLIENT" | ${pkgs.jq}/bin/jq '.'
106+
107+
RESPONSE=$(${pkgs.curl}/bin/curl -s -w "\n%{http_code}" -X PUT \
99108
-H "X-Api-Key: $API_KEY" \
100109
-H "Content-Type: application/json" \
101110
-d "$UPDATED_CLIENT" \
102-
"$BASE_URL/downloadclient/$CLIENT_ID" >/dev/null
111+
"$BASE_URL/downloadclient/$CLIENT_ID")
112+
113+
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
114+
BODY=$(echo "$RESPONSE" | sed '$d')
115+
116+
if [ "$HTTP_CODE" != "202" ] && [ "$HTTP_CODE" != "200" ]; then
117+
echo "ERROR: API returned HTTP $HTTP_CODE"
118+
echo "Response body: $BODY"
119+
exit 1
120+
fi
103121
104-
echo "Download client ${clientName} updated"
122+
echo "Download client ${clientName} updated (HTTP $HTTP_CODE)"
105123
else
106124
echo "Download client ${clientName} does not exist, creating..."
107125
108126
SCHEMA=$(echo "$SCHEMAS" | ${pkgs.jq}/bin/jq -r '.[] | select(.implementationName == "${implementationName}") | @json' || echo "")
109127
110128
if [ -z "$SCHEMA" ]; then
111-
echo "Error: No schema found for download client implementationName ${implementationName}"
129+
echo "ERROR: No schema found for download client implementationName ${implementationName}"
130+
echo "Available schemas:"
131+
echo "$SCHEMAS" | ${pkgs.jq}/bin/jq -r '.[].implementationName'
112132
exit 1
113133
fi
114134
135+
echo "DEBUG: Schema JSON:"
136+
echo "$SCHEMA" | ${pkgs.jq}/bin/jq '.'
137+
115138
NEW_CLIENT=$(apply_field_overrides "$SCHEMA" "$CLIENT_API_KEY" "$FIELD_OVERRIDES")
116139
117-
${pkgs.curl}/bin/curl -sSf -X POST \
140+
echo "DEBUG: New client JSON to send:"
141+
echo "$NEW_CLIENT" | ${pkgs.jq}/bin/jq '.'
142+
143+
RESPONSE=$(${pkgs.curl}/bin/curl -s -w "\n%{http_code}" -X POST \
118144
-H "X-Api-Key: $API_KEY" \
119145
-H "Content-Type: application/json" \
120146
-d "$NEW_CLIENT" \
121-
"$BASE_URL/downloadclient" >/dev/null
147+
"$BASE_URL/downloadclient")
148+
149+
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
150+
BODY=$(echo "$RESPONSE" | sed '$d')
151+
152+
if [ "$HTTP_CODE" != "201" ] && [ "$HTTP_CODE" != "200" ]; then
153+
echo "ERROR: API returned HTTP $HTTP_CODE"
154+
echo "Response body: $BODY"
155+
exit 1
156+
fi
122157
123-
echo "Download client ${clientName} created"
158+
echo "Download client ${clientName} created (HTTP $HTTP_CODE)"
124159
fi
125160
'')
126161
serviceConfig.downloadClients}

0 commit comments

Comments
 (0)