import ky from 'ky'; import { IApiGatewayConfig, Logger } from '@libs/types/'; export default class ApiGatewayService { config: IApiGatewayConfig; constructor(apiGatewayConfig: IApiGatewayConfig) { this.config = apiGatewayConfig; } async callAgentPusherAPI(body: object[], logger: Logger | undefined): Promise { try { const { pusherBaseUrl, pusherPath } = this.config; const url = `${pusherBaseUrl}${pusherPath}`; const response = await ky.post(url, { json: body, }); if (response.ok) { logger?.info({ message: 'API call succeeded' }); } else { throw new Error(`API call failed with status ${response.status}`); } } catch (err) { logger?.error({ message: 'API-GW error occurred', err }); throw err; } } }