@apistudio/apim-cli
Version:
CLI for API Management Products
26 lines (25 loc) • 1.19 kB
JavaScript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { ZipManager } from '../managers/zip.manager.js';
import { AppConstants } from '../constants/app.constants.js';
import { LogWrapper } from '../service/log-wrapper.js';
export class GatewayAssetHandler {
constructor(buffer) {
this.zipManager = new ZipManager(buffer);
LogWrapper.logDebug('0003', 'ZipManager initialized in GatewayAssetHandler.');
}
async getApiEndpoints(key) {
LogWrapper.logInfo('0003', `Attempting to get API endpoints for: ${key}`);
const content = await this.zipManager.getEntryByName(AppConstants.GATEWAY_JSON_FILE);
if (content) {
LogWrapper.logDebug('0003', `Content retrieved from ${AppConstants.GATEWAY_JSON_FILE}. Parsing JSON.`);
const parsedContent = JSON.parse(content);
const endpoints = parsedContent[key] || [];
LogWrapper.logInfo('0003', `API endpoints successfully retrieved for key: ${key}.`);
return endpoints;
}
LogWrapper.logWarn('0003', `No content found for ${AppConstants.GATEWAY_JSON_FILE}. Returning empty array.`);
return [];
}
}