Loading backend/src/user/user.controller.ts +37 −1 Original line number Diff line number Diff line import { Controller } from '@nestjs/common'; import { Body, Controller, Get, Param, Patch, Req, UseGuards } from '@nestjs/common'; import { UserService } from './user.service'; import { UpdatePreferedCategoriesDto } from './dto/update-preferedCategories.dto'; import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; import { ApiBearerAuth, ApiBody, ApiParam, ApiTags } from '@nestjs/swagger'; import { AuthUserGuard } from 'src/auth/user/authUser.guard'; import { LANGUAGES } from 'src/shared/enum/languages.enum'; @Controller('user') @ApiTags('User') export class UserController { constructor(private readonly userService: UserService) {} @Patch('update-prefered-categories') @ApiBearerAuth('jwt') @ApiBody({ type: UpdatePreferedCategoriesDto }) @UseGuards(AuthUserGuard) async updatePreferedCategories( @Body() updatePreferedCategoriesDto: UpdatePreferedCategoriesDto, @Req() req: CustomUserRequest, ) { try { const { email } = req.user; await this.userService.updatePreferedCategories(email, updatePreferedCategoriesDto.idCategories); return { message: 'Prefered categories updated successfully' }; } catch (error) { throw error; } } @Get('prefered-categories:lang') @ApiBearerAuth('jwt') @ApiParam({ name: 'lang', type: String }) @UseGuards(AuthUserGuard) async getPreferedCategories(@Req() req: CustomUserRequest, @Param('lang') lang: string) { try { const { email } = req.user; return await this.userService.getPreferedCategories(email, lang as LANGUAGES); } catch (error) { throw error; } } } Loading
backend/src/user/user.controller.ts +37 −1 Original line number Diff line number Diff line import { Controller } from '@nestjs/common'; import { Body, Controller, Get, Param, Patch, Req, UseGuards } from '@nestjs/common'; import { UserService } from './user.service'; import { UpdatePreferedCategoriesDto } from './dto/update-preferedCategories.dto'; import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; import { ApiBearerAuth, ApiBody, ApiParam, ApiTags } from '@nestjs/swagger'; import { AuthUserGuard } from 'src/auth/user/authUser.guard'; import { LANGUAGES } from 'src/shared/enum/languages.enum'; @Controller('user') @ApiTags('User') export class UserController { constructor(private readonly userService: UserService) {} @Patch('update-prefered-categories') @ApiBearerAuth('jwt') @ApiBody({ type: UpdatePreferedCategoriesDto }) @UseGuards(AuthUserGuard) async updatePreferedCategories( @Body() updatePreferedCategoriesDto: UpdatePreferedCategoriesDto, @Req() req: CustomUserRequest, ) { try { const { email } = req.user; await this.userService.updatePreferedCategories(email, updatePreferedCategoriesDto.idCategories); return { message: 'Prefered categories updated successfully' }; } catch (error) { throw error; } } @Get('prefered-categories:lang') @ApiBearerAuth('jwt') @ApiParam({ name: 'lang', type: String }) @UseGuards(AuthUserGuard) async getPreferedCategories(@Req() req: CustomUserRequest, @Param('lang') lang: string) { try { const { email } = req.user; return await this.userService.getPreferedCategories(email, lang as LANGUAGES); } catch (error) { throw error; } } }