From b17aeafbb3ce4b0d936c0983fd8aca52253726a3 Mon Sep 17 00:00:00 2001 From: Fares Eidi Date: Thu, 21 Dec 2023 10:49:12 +0100 Subject: [PATCH] skipped the exception for exception for DEMO role in the user.controllerts (updateUserSettings) --- apps/api/src/app/user/user.controller.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/api/src/app/user/user.controller.ts b/apps/api/src/app/user/user.controller.ts index 862328792..e369b3b2c 100644 --- a/apps/api/src/app/user/user.controller.ts +++ b/apps/api/src/app/user/user.controller.ts @@ -1,6 +1,6 @@ import { PropertyService } from '@ghostfolio/api/services/property/property.service'; import { User, UserSettings } from '@ghostfolio/common/interfaces'; -import { permissions } from '@ghostfolio/common/permissions'; +import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import type { RequestWithUser } from '@ghostfolio/common/types'; import { Body, @@ -92,7 +92,6 @@ export class UserController { @Put('setting') @UseGuards(AuthGuard('jwt')) - @HasPermission(permissions.updateUserSettings) public async updateUserSetting(@Body() data: UpdateUserSettingDto) { if ( size(data) === 1 && @@ -100,6 +99,16 @@ export class UserController { this.request.user.role === 'DEMO' ) { // Allow benchmark or date range change for demo user + } else if ( + !hasPermission( + this.request.user.permissions, + permissions.updateUserSettings + ) + ) { + throw new HttpException( + getReasonPhrase(StatusCodes.FORBIDDEN), + StatusCodes.FORBIDDEN + ); } const userSettings: UserSettings = {