|
87 | 87 | CLIENT_API_KEY=$(cat ${apiKeyPath}) |
88 | 88 | FIELD_OVERRIDES='${fieldOverridesJson}' |
89 | 89 |
|
90 | | - echo "DEBUG: Field overrides:" |
91 | | - echo "$FIELD_OVERRIDES" | ${pkgs.jq}/bin/jq '.' |
92 | | -
|
93 | 90 | EXISTING_CLIENT=$(echo "$DOWNLOAD_CLIENTS" | ${pkgs.jq}/bin/jq -r '.[] | select(.name == "${clientName}") | @json' || echo "") |
94 | 91 |
|
95 | 92 | if [ -n "$EXISTING_CLIENT" ]; then |
96 | 93 | echo "Download client ${clientName} already exists, updating..." |
97 | 94 | CLIENT_ID=$(echo "$EXISTING_CLIENT" | ${pkgs.jq}/bin/jq -r '.id') |
98 | 95 |
|
99 | | - echo "DEBUG: Existing client JSON:" |
100 | | - echo "$EXISTING_CLIENT" | ${pkgs.jq}/bin/jq '.' |
101 | | -
|
102 | 96 | UPDATED_CLIENT=$(apply_field_overrides "$EXISTING_CLIENT" "$CLIENT_API_KEY" "$FIELD_OVERRIDES") |
103 | 97 |
|
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 \ |
| 98 | + ${pkgs.curl}/bin/curl -sSf -X PUT \ |
108 | 99 | -H "X-Api-Key: $API_KEY" \ |
109 | 100 | -H "Content-Type: application/json" \ |
110 | 101 | -d "$UPDATED_CLIENT" \ |
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 |
| 102 | + "$BASE_URL/downloadclient/$CLIENT_ID" >/dev/null |
121 | 103 |
|
122 | | - echo "Download client ${clientName} updated (HTTP $HTTP_CODE)" |
| 104 | + echo "Download client ${clientName} updated" |
123 | 105 | else |
124 | 106 | echo "Download client ${clientName} does not exist, creating..." |
125 | 107 |
|
126 | 108 | SCHEMA=$(echo "$SCHEMAS" | ${pkgs.jq}/bin/jq -r '.[] | select(.implementationName == "${implementationName}") | @json' || echo "") |
127 | 109 |
|
128 | 110 | if [ -z "$SCHEMA" ]; then |
129 | | - echo "ERROR: No schema found for download client implementationName ${implementationName}" |
130 | | - echo "Available schemas:" |
131 | | - echo "$SCHEMAS" | ${pkgs.jq}/bin/jq -r '.[].implementationName' |
| 111 | + echo "Error: No schema found for download client implementationName ${implementationName}" |
132 | 112 | exit 1 |
133 | 113 | fi |
134 | 114 |
|
135 | | - echo "DEBUG: Schema JSON:" |
136 | | - echo "$SCHEMA" | ${pkgs.jq}/bin/jq '.' |
137 | | -
|
138 | 115 | NEW_CLIENT=$(apply_field_overrides "$SCHEMA" "$CLIENT_API_KEY" "$FIELD_OVERRIDES") |
139 | 116 |
|
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 \ |
| 117 | + ${pkgs.curl}/bin/curl -sSf -X POST \ |
144 | 118 | -H "X-Api-Key: $API_KEY" \ |
145 | 119 | -H "Content-Type: application/json" \ |
146 | 120 | -d "$NEW_CLIENT" \ |
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 |
| 121 | + "$BASE_URL/downloadclient" >/dev/null |
157 | 122 |
|
158 | | - echo "Download client ${clientName} created (HTTP $HTTP_CODE)" |
| 123 | + echo "Download client ${clientName} created" |
159 | 124 | fi |
160 | 125 | '') |
161 | 126 | serviceConfig.downloadClients} |
|
0 commit comments