From 65fb110a1e49dbc708a1dc890e2e4eef58bffb0f Mon Sep 17 00:00:00 2001 From: Tilman Vatteroth Date: Fri, 19 May 2023 13:32:09 +0200 Subject: [PATCH] refactor: move permissions decorator and guard into permissions directory Signed-off-by: Tilman Vatteroth --- backend/src/api/private/media/media.controller.ts | 4 ++-- backend/src/api/private/notes/notes.controller.ts | 4 ++-- backend/src/api/public/media/media.controller.ts | 4 ++-- backend/src/api/public/notes/notes.controller.ts | 4 ++-- .../utils => permissions}/permissions.decorator.ts | 4 ++-- .../utils => permissions}/permissions.guard.ts | 14 +++++++------- 6 files changed, 17 insertions(+), 17 deletions(-) rename backend/src/{api/utils => permissions}/permissions.decorator.ts (81%) rename backend/src/{api/utils => permissions}/permissions.guard.ts (83%) diff --git a/backend/src/api/private/media/media.controller.ts b/backend/src/api/private/media/media.controller.ts index da49fa1f9..eb5ee21ed 100644 --- a/backend/src/api/private/media/media.controller.ts +++ b/backend/src/api/private/media/media.controller.ts @@ -23,13 +23,13 @@ import { MediaUploadDto } from '../../../media/media-upload.dto'; import { MediaService } from '../../../media/media.service'; import { MulterFile } from '../../../media/multer-file.interface'; import { Note } from '../../../notes/note.entity'; +import { Permissions } from '../../../permissions/permissions.decorator'; import { Permission } from '../../../permissions/permissions.enum'; +import { PermissionsGuard } from '../../../permissions/permissions.guard'; import { PermissionsService } from '../../../permissions/permissions.service'; import { User } from '../../../users/user.entity'; import { NoteHeaderInterceptor } from '../../utils/note-header.interceptor'; import { OpenApi } from '../../utils/openapi.decorator'; -import { Permissions } from '../../utils/permissions.decorator'; -import { PermissionsGuard } from '../../utils/permissions.guard'; import { RequestNote } from '../../utils/request-note.decorator'; import { RequestUser } from '../../utils/request-user.decorator'; diff --git a/backend/src/api/private/notes/notes.controller.ts b/backend/src/api/private/notes/notes.controller.ts index e791fdffb..a678e6e1f 100644 --- a/backend/src/api/private/notes/notes.controller.ts +++ b/backend/src/api/private/notes/notes.controller.ts @@ -30,7 +30,9 @@ import { NoteDto } from '../../../notes/note.dto'; import { Note } from '../../../notes/note.entity'; import { NoteMediaDeletionDto } from '../../../notes/note.media-deletion.dto'; import { NotesService } from '../../../notes/notes.service'; +import { Permissions } from '../../../permissions/permissions.decorator'; import { Permission } from '../../../permissions/permissions.enum'; +import { PermissionsGuard } from '../../../permissions/permissions.guard'; import { PermissionsService } from '../../../permissions/permissions.service'; import { RevisionMetadataDto } from '../../../revisions/revision-metadata.dto'; import { RevisionDto } from '../../../revisions/revision.dto'; @@ -40,8 +42,6 @@ import { UsersService } from '../../../users/users.service'; import { GetNoteInterceptor } from '../../utils/get-note.interceptor'; import { MarkdownBody } from '../../utils/markdown-body.decorator'; import { OpenApi } from '../../utils/openapi.decorator'; -import { Permissions } from '../../utils/permissions.decorator'; -import { PermissionsGuard } from '../../utils/permissions.guard'; import { RequestNote } from '../../utils/request-note.decorator'; import { RequestUser } from '../../utils/request-user.decorator'; diff --git a/backend/src/api/public/media/media.controller.ts b/backend/src/api/public/media/media.controller.ts index 780df266f..654ae2da7 100644 --- a/backend/src/api/public/media/media.controller.ts +++ b/backend/src/api/public/media/media.controller.ts @@ -29,13 +29,13 @@ import { MediaUploadDto } from '../../../media/media-upload.dto'; import { MediaService } from '../../../media/media.service'; import { MulterFile } from '../../../media/multer-file.interface'; import { Note } from '../../../notes/note.entity'; +import { Permissions } from '../../../permissions/permissions.decorator'; import { Permission } from '../../../permissions/permissions.enum'; +import { PermissionsGuard } from '../../../permissions/permissions.guard'; import { PermissionsService } from '../../../permissions/permissions.service'; import { User } from '../../../users/user.entity'; import { NoteHeaderInterceptor } from '../../utils/note-header.interceptor'; import { OpenApi } from '../../utils/openapi.decorator'; -import { Permissions } from '../../utils/permissions.decorator'; -import { PermissionsGuard } from '../../utils/permissions.guard'; import { RequestNote } from '../../utils/request-note.decorator'; import { RequestUser } from '../../utils/request-user.decorator'; diff --git a/backend/src/api/public/notes/notes.controller.ts b/backend/src/api/public/notes/notes.controller.ts index 185911235..40753eafd 100644 --- a/backend/src/api/public/notes/notes.controller.ts +++ b/backend/src/api/public/notes/notes.controller.ts @@ -33,7 +33,9 @@ import { NoteDto } from '../../../notes/note.dto'; import { Note } from '../../../notes/note.entity'; import { NoteMediaDeletionDto } from '../../../notes/note.media-deletion.dto'; import { NotesService } from '../../../notes/notes.service'; +import { Permissions } from '../../../permissions/permissions.decorator'; import { Permission } from '../../../permissions/permissions.enum'; +import { PermissionsGuard } from '../../../permissions/permissions.guard'; import { PermissionsService } from '../../../permissions/permissions.service'; import { RevisionMetadataDto } from '../../../revisions/revision-metadata.dto'; import { RevisionDto } from '../../../revisions/revision.dto'; @@ -43,8 +45,6 @@ import { UsersService } from '../../../users/users.service'; import { GetNoteInterceptor } from '../../utils/get-note.interceptor'; import { MarkdownBody } from '../../utils/markdown-body.decorator'; import { OpenApi } from '../../utils/openapi.decorator'; -import { Permissions } from '../../utils/permissions.decorator'; -import { PermissionsGuard } from '../../utils/permissions.guard'; import { RequestNote } from '../../utils/request-note.decorator'; import { RequestUser } from '../../utils/request-user.decorator'; diff --git a/backend/src/api/utils/permissions.decorator.ts b/backend/src/permissions/permissions.decorator.ts similarity index 81% rename from backend/src/api/utils/permissions.decorator.ts rename to backend/src/permissions/permissions.decorator.ts index 9cc6e9ab0..d36197e1b 100644 --- a/backend/src/api/utils/permissions.decorator.ts +++ b/backend/src/permissions/permissions.decorator.ts @@ -1,11 +1,11 @@ /* - * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) + * SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import { CustomDecorator, SetMetadata } from '@nestjs/common'; -import { Permission } from '../../permissions/permissions.enum'; +import { Permission } from './permissions.enum'; /** * This decorator gathers the {@link Permission Permission} a user must hold for the {@link PermissionsGuard} diff --git a/backend/src/api/utils/permissions.guard.ts b/backend/src/permissions/permissions.guard.ts similarity index 83% rename from backend/src/api/utils/permissions.guard.ts rename to backend/src/permissions/permissions.guard.ts index 5fd913d1f..911236382 100644 --- a/backend/src/api/utils/permissions.guard.ts +++ b/backend/src/permissions/permissions.guard.ts @@ -1,17 +1,17 @@ /* - * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) + * SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; -import { ConsoleLoggerService } from '../../logger/console-logger.service'; -import { NotesService } from '../../notes/notes.service'; -import { Permission } from '../../permissions/permissions.enum'; -import { PermissionsService } from '../../permissions/permissions.service'; -import { getNote } from './get-note.interceptor'; -import { CompleteRequest } from './request.type'; +import { getNote } from '../api/utils/get-note.interceptor'; +import { CompleteRequest } from '../api/utils/request.type'; +import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { NotesService } from '../notes/notes.service'; +import { Permission } from './permissions.enum'; +import { PermissionsService } from './permissions.service'; /** * This guards controller methods from access, if the user has not the appropriate permissions.