UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

35 lines (27 loc) 1.24 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { ZipManager } from '../managers/zip.manager.js'; import { AppConstants } from '../constants/app.constants.js'; import { IGatewayAssetHandler } from '../models/interface.js'; import { LogWrapper } from '../service/log-wrapper.js'; export class GatewayAssetHandler implements IGatewayAssetHandler { private readonly zipManager: ZipManager; constructor(buffer: Buffer) { this.zipManager = new ZipManager(buffer); LogWrapper.logDebug('0003', 'ZipManager initialized in GatewayAssetHandler.'); } async getApiEndpoints(key: string) { 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 []; } }