diff --git a/apps/api/src/app/account-balance/account-balance.controller.ts b/apps/api/src/app/account-balance/account-balance.controller.ts index 880b8a6e5..b7f45e325 100644 --- a/apps/api/src/app/account-balance/account-balance.controller.ts +++ b/apps/api/src/app/account-balance/account-balance.controller.ts @@ -1,4 +1,4 @@ -import { hasPermission, permissions } from '@ghostfolio/common/permissions'; +import { permissions } from '@ghostfolio/common/permissions'; import type { RequestWithUser } from '@ghostfolio/common/types'; import { Controller, @@ -10,11 +10,9 @@ import { } from '@nestjs/common'; import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; -import { permissions } from '@ghostfolio/common/permissions'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { AccountBalance } from '@prisma/client'; import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; - import { AccountBalanceService } from './account-balance.service'; @Controller('account-balance') diff --git a/apps/api/src/app/admin/queue/queue.controller.ts b/apps/api/src/app/admin/queue/queue.controller.ts index fae120fef..270bdc9de 100644 --- a/apps/api/src/app/admin/queue/queue.controller.ts +++ b/apps/api/src/app/admin/queue/queue.controller.ts @@ -1,16 +1,13 @@ import { AdminJobs } from '@ghostfolio/common/interfaces'; import { permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; import { Controller, Delete, Get, - Inject, Param, Query, UseGuards } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { JobStatus } from 'bull'; @@ -19,10 +16,7 @@ import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorat @Controller('admin/queue') export class QueueController { - public constructor( - private readonly queueService: QueueService, - @Inject(REQUEST) private readonly request: RequestWithUser - ) {} + public constructor(private readonly queueService: QueueService) {} @Delete('job') @UseGuards(AuthGuard('jwt')) diff --git a/apps/api/src/app/auth-device/auth-device.controller.ts b/apps/api/src/app/auth-device/auth-device.controller.ts index 9495aabf1..f928e298a 100644 --- a/apps/api/src/app/auth-device/auth-device.controller.ts +++ b/apps/api/src/app/auth-device/auth-device.controller.ts @@ -1,17 +1,12 @@ import { AuthDeviceService } from '@ghostfolio/api/app/auth-device/auth-device.service'; import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; import { permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; -import { Controller, Delete, Inject, Param, UseGuards } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; +import { Controller, Delete, Param, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; @Controller('auth-device') export class AuthDeviceController { - public constructor( - private readonly authDeviceService: AuthDeviceService, - @Inject(REQUEST) private readonly request: RequestWithUser - ) {} + public constructor(private readonly authDeviceService: AuthDeviceService) {} @Delete(':id') @UseGuards(AuthGuard('jwt')) diff --git a/apps/api/src/app/benchmark/benchmark.controller.ts b/apps/api/src/app/benchmark/benchmark.controller.ts index e524e5b59..17c11c06a 100644 --- a/apps/api/src/app/benchmark/benchmark.controller.ts +++ b/apps/api/src/app/benchmark/benchmark.controller.ts @@ -6,7 +6,6 @@ import type { UniqueAsset } from '@ghostfolio/common/interfaces'; import { permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; import { Body, Controller, @@ -19,7 +18,6 @@ import { UseGuards, UseInterceptors } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { DataSource } from '@prisma/client'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; @@ -29,10 +27,7 @@ import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorat @Controller('benchmark') export class BenchmarkController { - public constructor( - private readonly benchmarkService: BenchmarkService, - @Inject(REQUEST) private readonly request: RequestWithUser - ) {} + public constructor(private readonly benchmarkService: BenchmarkService) {} @Post() @UseGuards(AuthGuard('jwt')) diff --git a/apps/api/src/app/cache/cache.controller.ts b/apps/api/src/app/cache/cache.controller.ts index ba88dfe90..15eb3e106 100644 --- a/apps/api/src/app/cache/cache.controller.ts +++ b/apps/api/src/app/cache/cache.controller.ts @@ -1,21 +1,16 @@ import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service'; import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; import { permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; -import { Controller, Inject, Post, UseGuards } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; +import { Controller, Post, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; @Controller('cache') export class CacheController { - public constructor( - private readonly redisCacheService: RedisCacheService, - @Inject(REQUEST) private readonly request: RequestWithUser - ) {} + public constructor(private readonly redisCacheService: RedisCacheService) {} @Post('flush') @UseGuards(AuthGuard('jwt')) - @HasPermission(permissions.accessAdminControl) // permission needed + @HasPermission(permissions.accessAdminControl) public async flushCache(): Promise { return this.redisCacheService.reset(); } diff --git a/apps/api/src/app/import/import.controller.ts b/apps/api/src/app/import/import.controller.ts index 99bbdf3a9..aa2387112 100644 --- a/apps/api/src/app/import/import.controller.ts +++ b/apps/api/src/app/import/import.controller.ts @@ -36,7 +36,7 @@ export class ImportController { @Post() @UseGuards(AuthGuard('jwt')) - @HasPermission(permissions.createAccount) + @HasPermission(permissions.createOrder) @UseInterceptors(TransformDataSourceInRequestInterceptor) @UseInterceptors(TransformDataSourceInResponseInterceptor) public async import( @@ -44,7 +44,7 @@ export class ImportController { @Query('dryRun') isDryRun?: boolean ): Promise { if ( - !hasPermission(this.request.user.permissions, permissions.createOrder) + !hasPermission(this.request.user.permissions, permissions.createAccount) ) { throw new HttpException( getReasonPhrase(StatusCodes.FORBIDDEN), diff --git a/apps/api/src/app/platform/platform.controller.ts b/apps/api/src/app/platform/platform.controller.ts index 4b9e9df64..24f90b2e0 100644 --- a/apps/api/src/app/platform/platform.controller.ts +++ b/apps/api/src/app/platform/platform.controller.ts @@ -1,18 +1,15 @@ -import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; +import { permissions } from '@ghostfolio/common/permissions'; import { Body, Controller, Delete, Get, HttpException, - Inject, Param, Post, Put, UseGuards } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { Platform } from '@prisma/client'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; @@ -24,10 +21,7 @@ import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorat @Controller('platform') export class PlatformController { - public constructor( - private readonly platformService: PlatformService, - @Inject(REQUEST) private readonly request: RequestWithUser - ) {} + public constructor(private readonly platformService: PlatformService) {} @Get() @UseGuards(AuthGuard('jwt')) diff --git a/apps/api/src/app/tag/tag.controller.ts b/apps/api/src/app/tag/tag.controller.ts index d99cbe5b1..9608c64fb 100644 --- a/apps/api/src/app/tag/tag.controller.ts +++ b/apps/api/src/app/tag/tag.controller.ts @@ -1,18 +1,15 @@ -import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import type { RequestWithUser } from '@ghostfolio/common/types'; +import { permissions } from '@ghostfolio/common/permissions'; import { Body, Controller, Delete, Get, HttpException, - Inject, Param, Post, Put, UseGuards } from '@nestjs/common'; -import { REQUEST } from '@nestjs/core'; import { AuthGuard } from '@nestjs/passport'; import { Tag } from '@prisma/client'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; @@ -24,10 +21,7 @@ import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorat @Controller('tag') export class TagController { - public constructor( - @Inject(REQUEST) private readonly request: RequestWithUser, - private readonly tagService: TagService - ) {} + public constructor(private readonly tagService: TagService) {} @Get() @UseGuards(AuthGuard('jwt'))