diff --git a/src/modules/foods/controllers/food.controller.ts b/src/modules/foods/controllers/food.controller.ts index ba53ea4..1f2180e 100644 --- a/src/modules/foods/controllers/food.controller.ts +++ b/src/modules/foods/controllers/food.controller.ts @@ -56,6 +56,14 @@ export class FoodController { return this.foodsService.toggleFavorite(userId, foodId); } + @Get('public/foods/favorite') + @UseGuards(AuthGuard) + @ApiHeader(API_HEADER_SLUG) + @ApiBearerAuth() + @ApiOperation({ summary: 'get my favorites' }) + getMyFavorites(@UserId() userId: string) { + return this.foodsService.getMyFavorites(userId); + } /* ---------------------------------- Admin ---------------------------------- */ @UseGuards(AdminAuthGuard) diff --git a/src/modules/foods/providers/food.service.ts b/src/modules/foods/providers/food.service.ts index e519797..4b2d532 100644 --- a/src/modules/foods/providers/food.service.ts +++ b/src/modules/foods/providers/food.service.ts @@ -260,6 +260,10 @@ export class FoodService { return this.em.persistAndFlush(newFavorite); } + + async getMyFavorites(userId: string) { + return this.em.find(Favorite, { user: userId }, { populate: ['food'] }); + } /** * Invalidate cache for restaurant foods */