From 62e6c24840106bfbe982f894da53707bc569ab2b Mon Sep 17 00:00:00 2001 From: ItzCrazyKns <95534749+ItzCrazyKns@users.noreply.github.com> Date: Thu, 20 Mar 2025 12:47:54 +0530 Subject: [PATCH] feat(app): fix build errors --- app.dockerfile | 2 +- src/app/api/search/route.ts | 55 ++++++++++++++++++++----------------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/app.dockerfile b/app.dockerfile index 2571305..57a270e 100644 --- a/app.dockerfile +++ b/app.dockerfile @@ -3,7 +3,7 @@ FROM node:20.18.0-alpine AS builder WORKDIR /home/perplexica COPY package.json yarn.lock ./ -RUN yarn install --frozen-lockfile +RUN yarn install --frozen-lockfile --network-timeout 600000 COPY tsconfig.json next.config.mjs next-env.d.ts postcss.config.js drizzle.config.ts tailwind.config.ts ./ COPY src ./src diff --git a/src/app/api/search/route.ts b/src/app/api/search/route.ts index a2c1bd0..b980623 100644 --- a/src/app/api/search/route.ts +++ b/src/app/api/search/route.ts @@ -125,35 +125,40 @@ export const POST = async (req: Request) => { [], ); - return new Promise((resolve, reject) => { - let message = ''; - let sources: any[] = []; + return new Promise( + ( + resolve: (value: Response) => void, + reject: (value: Response) => void, + ) => { + let message = ''; + let sources: any[] = []; - emitter.on('data', (data) => { - try { - const parsedData = JSON.parse(data); - if (parsedData.type === 'response') { - message += parsedData.data; - } else if (parsedData.type === 'sources') { - sources = parsedData.data; + emitter.on('data', (data) => { + try { + const parsedData = JSON.parse(data); + if (parsedData.type === 'response') { + message += parsedData.data; + } else if (parsedData.type === 'sources') { + sources = parsedData.data; + } + } catch (error) { + reject( + Response.json({ message: 'Error parsing data' }, { status: 500 }), + ); } - } catch (error) { + }); + + emitter.on('end', () => { + resolve(Response.json({ message, sources }, { status: 200 })); + }); + + emitter.on('error', (error) => { reject( - Response.json({ message: 'Error parsing data' }, { status: 500 }), + Response.json({ message: 'Search error', error }, { status: 500 }), ); - } - }); - - emitter.on('end', () => { - resolve(Response.json({ message, sources }, { status: 200 })); - }); - - emitter.on('error', (error) => { - reject( - Response.json({ message: 'Search error', error }, { status: 500 }), - ); - }); - }); + }); + }, + ); } catch (err: any) { console.error(`Error in getting search results: ${err.message}`); return Response.json(