// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 import type { NextApiRequest, NextApiResponse } from 'next'; import InstrumentationMiddleware from '../../../utils/telemetry/InstrumentationMiddleware'; import { Empty, Product } from '../../../protos/demo'; import ProductCatalogService from '../../../services/ProductCatalog.service'; type TResponse = Product[] | Empty; const handler = async ({ method, query }: NextApiRequest, res: NextApiResponse) => { switch (method) { case 'GET': { const { currencyCode = '' } = query; const productList = await ProductCatalogService.listProducts(currencyCode as string); return res.status(200).json(productList); } default: { return res.status(405).send(''); } } }; export default InstrumentationMiddleware(handler);