From e99b0fcbff705a25967b7931f8d643119f42ec48 Mon Sep 17 00:00:00 2001 From: KONFeature Date: Tue, 17 Sep 2024 12:13:55 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20news=20fetching=20for=20th?= =?UTF-8?q?e=20exemple?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iac/DashboardWebApp.ts | 4 ++-- iac/WalletWebApp.ts | 4 ++-- .../repositories/NewsRepository.ts | 7 +++---- .../repositories/WorldNewsApiRepository.ts | 2 +- .../src/services/exampleNewsPaper/routes/news.ts | 15 +++++++++------ 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/iac/DashboardWebApp.ts b/iac/DashboardWebApp.ts index 3a32ac21..9bfea468 100644 --- a/iac/DashboardWebApp.ts +++ b/iac/DashboardWebApp.ts @@ -17,7 +17,7 @@ export function DashboardWebApp({ stack }: StackContext) { sessionEncryptionKey, mongoBusinessUri, contentMinterPrivateKey, - backendUrl + backendUrl, } = use(ConfigStack); const configs = [ alchemyApiKey, @@ -26,7 +26,7 @@ export function DashboardWebApp({ stack }: StackContext) { sessionEncryptionKey, mongoBusinessUri, contentMinterPrivateKey, - backendUrl + backendUrl, ]; // Base domain for our whole app diff --git a/iac/WalletWebApp.ts b/iac/WalletWebApp.ts index da15cfe8..cd3371e6 100644 --- a/iac/WalletWebApp.ts +++ b/iac/WalletWebApp.ts @@ -21,7 +21,7 @@ export function WalletAppStack({ stack }: StackContext) { nexusRpcSecret, vapidPublicKey, vapidPrivateKey, - backendUrl + backendUrl, } = use(ConfigStack); const configs = [ sessionEncryptionKey, @@ -32,7 +32,7 @@ export function WalletAppStack({ stack }: StackContext) { nexusRpcSecret, vapidPublicKey, vapidPrivateKey, - backendUrl + backendUrl, ]; // Get the interaction queue diff --git a/packages/backend-elysia/src/services/exampleNewsPaper/repositories/NewsRepository.ts b/packages/backend-elysia/src/services/exampleNewsPaper/repositories/NewsRepository.ts index 5feb1626..7890ae51 100644 --- a/packages/backend-elysia/src/services/exampleNewsPaper/repositories/NewsRepository.ts +++ b/packages/backend-elysia/src/services/exampleNewsPaper/repositories/NewsRepository.ts @@ -47,11 +47,10 @@ export class NewsRepository { /** * Get a random news */ - public async getRandomNews() { - const documents = await this.collection - .aggregate>([{ $sample: { size: 1 } }]) + public async getRandomNews({ count }: { count: number }) { + return await this.collection + .aggregate>([{ $sample: { size: count } }]) .toArray(); - return documents[0]; } /** diff --git a/packages/backend-elysia/src/services/exampleNewsPaper/repositories/WorldNewsApiRepository.ts b/packages/backend-elysia/src/services/exampleNewsPaper/repositories/WorldNewsApiRepository.ts index 0b9cc59a..aa789093 100644 --- a/packages/backend-elysia/src/services/exampleNewsPaper/repositories/WorldNewsApiRepository.ts +++ b/packages/backend-elysia/src/services/exampleNewsPaper/repositories/WorldNewsApiRepository.ts @@ -20,7 +20,7 @@ export class WorldNewsApiRepository { url.searchParams.append("language", "en"); url.searchParams.append( "categories", - "sports,business,technology,science,environment,health" + "sports,technology,science,environment,health" ); url.searchParams.append("min-sentiment", "-0.2"); url.searchParams.append("max-sentiment", "0.9"); diff --git a/packages/backend-elysia/src/services/exampleNewsPaper/routes/news.ts b/packages/backend-elysia/src/services/exampleNewsPaper/routes/news.ts index 83185b32..3882ddc9 100644 --- a/packages/backend-elysia/src/services/exampleNewsPaper/routes/news.ts +++ b/packages/backend-elysia/src/services/exampleNewsPaper/routes/news.ts @@ -28,7 +28,7 @@ export const newsRoutes = (app: NewsPaperContextApp) => // Get top 10 positive news const latestPositiveNews = await newsDbRepository.getMostPositiveNews({ - limit: 5, + limit: 10, offset: 0, }); @@ -37,17 +37,20 @@ export const newsRoutes = (app: NewsPaperContextApp) => const featuredNews = latestPositiveNews.slice(5, 10); // Get a random news - const randomNews = await newsDbRepository.getRandomNews(); + const randomNews = await newsDbRepository.getRandomNews({ + count: 2, + }); - // Get a hero news - const heroNews = await newsDbRepository.getRandomNews(); + // Get a hero news + quick bytes one + const hero = newsDocumentToLightNews(randomNews[0]); + const quickByte = newsDocumentToLightNews(randomNews[1]); return { positives: positiveNews.map(newsDocumentToLightNews), featured: featuredNews.map(newsDocumentToLightNews), latest: latestNews.map(newsDocumentToLightNews), - quickByte: newsDocumentToLightNews(randomNews), - hero: newsDocumentToLightNews(heroNews), + quickByte, + hero, }; }, {