From 99370c4fdecab51569fb9f073e8dd6a3a110e104 Mon Sep 17 00:00:00 2001 From: Adelina Enache Date: Wed, 5 Jun 2024 13:59:37 +0300 Subject: [PATCH] add platform wide reviews endpoint (#92) --- src/reviews/reviews.controller.ts | 8 ++++++++ src/reviews/reviews.service.ts | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/reviews/reviews.controller.ts b/src/reviews/reviews.controller.ts index 27a33f1..fa16e2a 100644 --- a/src/reviews/reviews.controller.ts +++ b/src/reviews/reviews.controller.ts @@ -39,6 +39,14 @@ export class ReviewsController { ): Promise { return this.reviewsService.getReviewByUserForUser(user.id, userId); } + /** + * Get latest platform-wide reviews. + */ + + @Get('/latest') + async getLatestReviews(@CurrentUser() user: User): Promise { + return this.reviewsService.getLatestReviews(user.id); + } /** * Get the reviews posted by the current user diff --git a/src/reviews/reviews.service.ts b/src/reviews/reviews.service.ts index 5ba411c..1faec81 100644 --- a/src/reviews/reviews.service.ts +++ b/src/reviews/reviews.service.ts @@ -316,4 +316,16 @@ export class ReviewsService { return reviews.map((r) => this.transformReview(r, currentUserId)); } + + async getLatestReviews(currentUserId: User['id']): Promise { + const reviews = await this.prisma.review.findMany({ + include: this.includeWithReview(currentUserId), + orderBy: { + createdAt: 'desc', + }, + take: 25, + }); + + return reviews.map((r) => this.transformReview(r, currentUserId)); + } }