@apistudio/apim-cli
Version:
CLI for API Management Products
35 lines (34 loc) • 1.6 kB
JavaScript
import { sendToGateway } from './gateway-service.js';
// import { // } from '../service/log-wrapper.js';
export const processDeployment = async (gatewaysJsonContent, zipBuffer) => {
const gatewayResponses = [];
if (gatewaysJsonContent.gateways && gatewaysJsonContent.gateways.length) {
console.log('0105', `${gatewaysJsonContent.gateways.length}`);
for (const gateway of gatewaysJsonContent.gateways) {
const { gatewayURL, gatewayUser, gatewaySecret } = gateway;
console.log(gatewayURL);
try {
const response = await sendToGateway(gatewayURL, gatewayUser, gatewaySecret, zipBuffer, gatewaysJsonContent);
console.log('0003', `Gateway Response: ${response.data}`);
gatewayResponses.push(response);
}
catch (error) {
if (error instanceof Error) {
const errorMessage = `Error sending to ${gatewayURL}: ${error.message}`;
console.log('deploying to', errorMessage);
gatewayResponses.push({ error: true, message: errorMessage });
}
else {
const unknownErrorMessage = `Unknown error sending to ${gatewayURL}`;
console.log(unknownErrorMessage);
gatewayResponses.push({ error: true, message: unknownErrorMessage });
}
}
}
}
else {
console.log('No gateways to deploy.');
}
console.log('Deployment process completed.');
return gatewayResponses;
};