diff --git a/src/api/private/config/config.controller.spec.ts b/src/api/private/config/config.controller.spec.ts index 892fbe3c8..a0ae5d16b 100644 --- a/src/api/private/config/config.controller.spec.ts +++ b/src/api/private/config/config.controller.spec.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Test, TestingModule } from '@nestjs/testing'; -import { ConfigController } from './config.controller'; -import { LoggerModule } from '../../../logger/logger.module'; -import { FrontendConfigModule } from '../../../frontend-config/frontend-config.module'; import { ConfigModule } from '@nestjs/config'; +import { Test, TestingModule } from '@nestjs/testing'; + import appConfigMock from '../../../config/mock/app.config.mock'; import authConfigMock from '../../../config/mock/auth.config.mock'; import customizationConfigMock from '../../../config/mock/customization.config.mock'; import externalConfigMock from '../../../config/mock/external-services.config.mock'; +import { FrontendConfigModule } from '../../../frontend-config/frontend-config.module'; +import { LoggerModule } from '../../../logger/logger.module'; +import { ConfigController } from './config.controller'; describe('ConfigController', () => { let controller: ConfigController; diff --git a/src/api/private/config/config.controller.ts b/src/api/private/config/config.controller.ts index eeabf6239..211aa5ddd 100644 --- a/src/api/private/config/config.controller.ts +++ b/src/api/private/config/config.controller.ts @@ -3,11 +3,11 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Controller, Get } from '@nestjs/common'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { FrontendConfigService } from '../../../frontend-config/frontend-config.service'; + import { FrontendConfigDto } from '../../../frontend-config/frontend-config.dto'; +import { FrontendConfigService } from '../../../frontend-config/frontend-config.service'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; @Controller('config') export class ConfigController { diff --git a/src/api/private/me/history/history.controller.spec.ts b/src/api/private/me/history/history.controller.spec.ts index f650c3df7..a16de5aa0 100644 --- a/src/api/private/me/history/history.controller.spec.ts +++ b/src/api/private/me/history/history.controller.spec.ts @@ -3,33 +3,33 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { Author } from '../../../../authors/author.entity'; -import { Session } from '../../../../users/session.entity'; -import { HistoryController } from './history.controller'; -import { LoggerModule } from '../../../../logger/logger.module'; -import { UsersModule } from '../../../../users/users.module'; -import { HistoryModule } from '../../../../history/history.module'; -import { NotesModule } from '../../../../notes/notes.module'; import { getConnectionToken, getRepositoryToken, TypeOrmModule, } from '@nestjs/typeorm'; -import { User } from '../../../../users/user.entity'; -import { Note } from '../../../../notes/note.entity'; + import { AuthToken } from '../../../../auth/auth-token.entity'; -import { Identity } from '../../../../users/identity.entity'; -import { Edit } from '../../../../revisions/edit.entity'; -import { Revision } from '../../../../revisions/revision.entity'; -import { Tag } from '../../../../notes/tag.entity'; +import { Author } from '../../../../authors/author.entity'; +import appConfigMock from '../../../../config/mock/app.config.mock'; +import { Group } from '../../../../groups/group.entity'; import { HistoryEntry } from '../../../../history/history-entry.entity'; +import { HistoryModule } from '../../../../history/history.module'; +import { LoggerModule } from '../../../../logger/logger.module'; +import { Note } from '../../../../notes/note.entity'; +import { NotesModule } from '../../../../notes/notes.module'; +import { Tag } from '../../../../notes/tag.entity'; import { NoteGroupPermission } from '../../../../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../../../../permissions/note-user-permission.entity'; -import { Group } from '../../../../groups/group.entity'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../../../../config/mock/app.config.mock'; +import { Edit } from '../../../../revisions/edit.entity'; +import { Revision } from '../../../../revisions/revision.entity'; +import { Identity } from '../../../../users/identity.entity'; +import { Session } from '../../../../users/session.entity'; +import { User } from '../../../../users/user.entity'; +import { UsersModule } from '../../../../users/users.module'; +import { HistoryController } from './history.controller'; describe('HistoryController', () => { let controller: HistoryController; diff --git a/src/api/private/me/history/history.controller.ts b/src/api/private/me/history/history.controller.ts index f442ccee0..53960f0cf 100644 --- a/src/api/private/me/history/history.controller.ts +++ b/src/api/private/me/history/history.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, Body, @@ -16,13 +15,14 @@ import { Put, } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { UsersService } from '../../../../users/users.service'; -import { HistoryEntryDto } from '../../../../history/history-entry.dto'; + import { ForbiddenIdError, NotInDBError } from '../../../../errors/errors'; import { HistoryEntryImportDto } from '../../../../history/history-entry-import.dto'; import { HistoryEntryUpdateDto } from '../../../../history/history-entry-update.dto'; -import { ConsoleLoggerService } from '../../../../logger/console-logger.service'; +import { HistoryEntryDto } from '../../../../history/history-entry.dto'; import { HistoryService } from '../../../../history/history.service'; +import { ConsoleLoggerService } from '../../../../logger/console-logger.service'; +import { UsersService } from '../../../../users/users.service'; @ApiTags('history') @Controller('/me/history') diff --git a/src/api/private/me/me.controller.spec.ts b/src/api/private/me/me.controller.spec.ts index 06e091480..33aef70e0 100644 --- a/src/api/private/me/me.controller.spec.ts +++ b/src/api/private/me/me.controller.spec.ts @@ -3,31 +3,31 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { Author } from '../../../authors/author.entity'; -import { Session } from '../../../users/session.entity'; -import { MeController } from './me.controller'; -import { UsersModule } from '../../../users/users.module'; -import { LoggerModule } from '../../../logger/logger.module'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { User } from '../../../users/user.entity'; -import { Identity } from '../../../users/identity.entity'; + +import { Author } from '../../../authors/author.entity'; +import appConfigMock from '../../../config/mock/app.config.mock'; +import authConfigMock from '../../../config/mock/auth.config.mock'; +import customizationConfigMock from '../../../config/mock/customization.config.mock'; +import externalServicesConfigMock from '../../../config/mock/external-services.config.mock'; +import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Group } from '../../../groups/group.entity'; +import { LoggerModule } from '../../../logger/logger.module'; +import { MediaUpload } from '../../../media/media-upload.entity'; import { MediaModule } from '../../../media/media.module'; +import { Note } from '../../../notes/note.entity'; +import { Tag } from '../../../notes/tag.entity'; import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; import { Edit } from '../../../revisions/edit.entity'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../../../config/mock/app.config.mock'; -import authConfigMock from '../../../config/mock/auth.config.mock'; -import mediaConfigMock from '../../../config/mock/media.config.mock'; -import customizationConfigMock from '../../../config/mock/customization.config.mock'; -import externalServicesConfigMock from '../../../config/mock/external-services.config.mock'; -import { MediaUpload } from '../../../media/media-upload.entity'; -import { Note } from '../../../notes/note.entity'; -import { Tag } from '../../../notes/tag.entity'; import { Revision } from '../../../revisions/revision.entity'; -import { Group } from '../../../groups/group.entity'; +import { Identity } from '../../../users/identity.entity'; +import { Session } from '../../../users/session.entity'; +import { User } from '../../../users/user.entity'; +import { UsersModule } from '../../../users/users.module'; +import { MeController } from './me.controller'; describe('MeController', () => { let controller: MeController; diff --git a/src/api/private/me/me.controller.ts b/src/api/private/me/me.controller.ts index 3151a4fd7..78f090cc7 100644 --- a/src/api/private/me/me.controller.ts +++ b/src/api/private/me/me.controller.ts @@ -3,13 +3,13 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Body, Controller, Delete, Get, HttpCode, Post } from '@nestjs/common'; -import { UserInfoDto } from '../../../users/user-info.dto'; + import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { UsersService } from '../../../users/users.service'; -import { MediaService } from '../../../media/media.service'; import { MediaUploadDto } from '../../../media/media-upload.dto'; +import { MediaService } from '../../../media/media.service'; +import { UserInfoDto } from '../../../users/user-info.dto'; +import { UsersService } from '../../../users/users.service'; @Controller('me') export class MeController { diff --git a/src/api/private/media/media.controller.spec.ts b/src/api/private/media/media.controller.spec.ts index c5d03a52e..cbed058e3 100644 --- a/src/api/private/media/media.controller.spec.ts +++ b/src/api/private/media/media.controller.spec.ts @@ -3,33 +3,33 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Test, TestingModule } from '@nestjs/testing'; -import { Author } from '../../../authors/author.entity'; -import { Session } from '../../../users/session.entity'; -import { UsersModule } from '../../../users/users.module'; -import { MediaController } from './media.controller'; -import { LoggerModule } from '../../../logger/logger.module'; import { ConfigModule } from '@nestjs/config'; -import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Test, TestingModule } from '@nestjs/testing'; +import { getRepositoryToken } from '@nestjs/typeorm'; + +import { AuthToken } from '../../../auth/auth-token.entity'; +import { Author } from '../../../authors/author.entity'; import appConfigMock from '../../../config/mock/app.config.mock'; import authConfigMock from '../../../config/mock/auth.config.mock'; import customizationConfigMock from '../../../config/mock/customization.config.mock'; import externalConfigMock from '../../../config/mock/external-services.config.mock'; -import { MediaModule } from '../../../media/media.module'; -import { NotesModule } from '../../../notes/notes.module'; -import { getRepositoryToken } from '@nestjs/typeorm'; -import { Edit } from '../../../revisions/edit.entity'; -import { AuthToken } from '../../../auth/auth-token.entity'; -import { Identity } from '../../../users/identity.entity'; +import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Group } from '../../../groups/group.entity'; +import { LoggerModule } from '../../../logger/logger.module'; import { MediaUpload } from '../../../media/media-upload.entity'; +import { MediaModule } from '../../../media/media.module'; import { Note } from '../../../notes/note.entity'; -import { Revision } from '../../../revisions/revision.entity'; -import { User } from '../../../users/user.entity'; +import { NotesModule } from '../../../notes/notes.module'; import { Tag } from '../../../notes/tag.entity'; import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; -import { Group } from '../../../groups/group.entity'; +import { Edit } from '../../../revisions/edit.entity'; +import { Revision } from '../../../revisions/revision.entity'; +import { Identity } from '../../../users/identity.entity'; +import { Session } from '../../../users/session.entity'; +import { User } from '../../../users/user.entity'; +import { UsersModule } from '../../../users/users.module'; +import { MediaController } from './media.controller'; describe('MediaController', () => { let controller: MediaController; diff --git a/src/api/private/media/media.controller.ts b/src/api/private/media/media.controller.ts index dada879ad..c815cc455 100644 --- a/src/api/private/media/media.controller.ts +++ b/src/api/private/media/media.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, Controller, @@ -14,16 +13,17 @@ import { UploadedFile, UseInterceptors, } from '@nestjs/common'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { MediaService } from '../../../media/media.service'; -import { MulterFile } from '../../../media/multer-file.interface'; -import { MediaUploadUrlDto } from '../../../media/media-upload-url.dto'; +import { FileInterceptor } from '@nestjs/platform-express'; + import { ClientError, MediaBackendError, NotInDBError, } from '../../../errors/errors'; -import { FileInterceptor } from '@nestjs/platform-express'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; +import { MediaUploadUrlDto } from '../../../media/media-upload-url.dto'; +import { MediaService } from '../../../media/media.service'; +import { MulterFile } from '../../../media/multer-file.interface'; @Controller('media') export class MediaController { diff --git a/src/api/private/notes/notes.controller.spec.ts b/src/api/private/notes/notes.controller.spec.ts index ff2231a8f..c3d32eff4 100644 --- a/src/api/private/notes/notes.controller.spec.ts +++ b/src/api/private/notes/notes.controller.spec.ts @@ -3,39 +3,39 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { Author } from '../../../authors/author.entity'; -import { Session } from '../../../users/session.entity'; -import { NotesController } from './notes.controller'; -import { NotesService } from '../../../notes/notes.service'; import { getConnectionToken, getRepositoryToken, TypeOrmModule, } from '@nestjs/typeorm'; -import { Note } from '../../../notes/note.entity'; -import { Tag } from '../../../notes/tag.entity'; -import { RevisionsModule } from '../../../revisions/revisions.module'; -import { UsersModule } from '../../../users/users.module'; -import { GroupsModule } from '../../../groups/groups.module'; -import { LoggerModule } from '../../../logger/logger.module'; -import { PermissionsModule } from '../../../permissions/permissions.module'; -import { HistoryModule } from '../../../history/history.module'; -import { MediaModule } from '../../../media/media.module'; -import { ConfigModule } from '@nestjs/config'; + +import { AuthToken } from '../../../auth/auth-token.entity'; +import { Author } from '../../../authors/author.entity'; import appConfigMock from '../../../config/mock/app.config.mock'; import mediaConfigMock from '../../../config/mock/media.config.mock'; -import { Revision } from '../../../revisions/revision.entity'; -import { Edit } from '../../../revisions/edit.entity'; -import { User } from '../../../users/user.entity'; -import { AuthToken } from '../../../auth/auth-token.entity'; -import { Identity } from '../../../users/identity.entity'; +import { Group } from '../../../groups/group.entity'; +import { GroupsModule } from '../../../groups/groups.module'; import { HistoryEntry } from '../../../history/history-entry.entity'; +import { HistoryModule } from '../../../history/history.module'; +import { LoggerModule } from '../../../logger/logger.module'; +import { MediaUpload } from '../../../media/media-upload.entity'; +import { MediaModule } from '../../../media/media.module'; +import { Note } from '../../../notes/note.entity'; +import { NotesService } from '../../../notes/notes.service'; +import { Tag } from '../../../notes/tag.entity'; import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; -import { Group } from '../../../groups/group.entity'; -import { MediaUpload } from '../../../media/media-upload.entity'; +import { PermissionsModule } from '../../../permissions/permissions.module'; +import { Edit } from '../../../revisions/edit.entity'; +import { Revision } from '../../../revisions/revision.entity'; +import { RevisionsModule } from '../../../revisions/revisions.module'; +import { Identity } from '../../../users/identity.entity'; +import { Session } from '../../../users/session.entity'; +import { User } from '../../../users/user.entity'; +import { UsersModule } from '../../../users/users.module'; +import { NotesController } from './notes.controller'; describe('NotesController', () => { let controller: NotesController; diff --git a/src/api/private/notes/notes.controller.ts b/src/api/private/notes/notes.controller.ts index bd9f1ab35..fbb500ec9 100644 --- a/src/api/private/notes/notes.controller.ts +++ b/src/api/private/notes/notes.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, Body, @@ -16,25 +15,26 @@ import { Post, UnauthorizedException, } from '@nestjs/common'; -import { Note } from '../../../notes/note.entity'; + import { AlreadyInDBError, ForbiddenIdError, NotInDBError, } from '../../../errors/errors'; -import { NoteDto } from '../../../notes/note.dto'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { NotesService } from '../../../notes/notes.service'; -import { PermissionsService } from '../../../permissions/permissions.service'; import { HistoryService } from '../../../history/history.service'; -import { UsersService } from '../../../users/users.service'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; import { MediaUploadDto } from '../../../media/media-upload.dto'; import { MediaService } from '../../../media/media.service'; +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 { PermissionsService } from '../../../permissions/permissions.service'; import { RevisionMetadataDto } from '../../../revisions/revision-metadata.dto'; import { RevisionDto } from '../../../revisions/revision.dto'; import { RevisionsService } from '../../../revisions/revisions.service'; +import { UsersService } from '../../../users/users.service'; import { MarkdownBody } from '../../utils/markdownbody-decorator'; -import { NoteMediaDeletionDto } from '../../../notes/note.media-deletion.dto'; @Controller('notes') export class NotesController { diff --git a/src/api/private/private-api.module.ts b/src/api/private/private-api.module.ts index 913920e81..98c113e66 100644 --- a/src/api/private/private-api.module.ts +++ b/src/api/private/private-api.module.ts @@ -3,23 +3,23 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; -import { TokensController } from './tokens/tokens.controller'; -import { LoggerModule } from '../../logger/logger.module'; -import { UsersModule } from '../../users/users.module'; + import { AuthModule } from '../../auth/auth.module'; -import { MeController } from './me/me.controller'; -import { ConfigController } from './config/config.controller'; import { FrontendConfigModule } from '../../frontend-config/frontend-config.module'; -import { HistoryController } from './me/history/history.controller'; import { HistoryModule } from '../../history/history.module'; -import { NotesModule } from '../../notes/notes.module'; +import { LoggerModule } from '../../logger/logger.module'; import { MediaModule } from '../../media/media.module'; -import { MediaController } from './media/media.controller'; -import { NotesController } from './notes/notes.controller'; +import { NotesModule } from '../../notes/notes.module'; import { PermissionsModule } from '../../permissions/permissions.module'; import { RevisionsModule } from '../../revisions/revisions.module'; +import { UsersModule } from '../../users/users.module'; +import { ConfigController } from './config/config.controller'; +import { HistoryController } from './me/history/history.controller'; +import { MeController } from './me/me.controller'; +import { MediaController } from './media/media.controller'; +import { NotesController } from './notes/notes.controller'; +import { TokensController } from './tokens/tokens.controller'; @Module({ imports: [ diff --git a/src/api/private/tokens/tokens.controller.spec.ts b/src/api/private/tokens/tokens.controller.spec.ts index 1a9a19cfb..1f5341bb6 100644 --- a/src/api/private/tokens/tokens.controller.spec.ts +++ b/src/api/private/tokens/tokens.controller.spec.ts @@ -3,18 +3,18 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { Session } from '../../../users/session.entity'; -import { TokensController } from './tokens.controller'; -import { LoggerModule } from '../../../logger/logger.module'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { Identity } from '../../../users/identity.entity'; -import { User } from '../../../users/user.entity'; + import { AuthToken } from '../../../auth/auth-token.entity'; import { AuthModule } from '../../../auth/auth.module'; -import { ConfigModule } from '@nestjs/config'; import appConfigMock from '../../../config/mock/app.config.mock'; +import { LoggerModule } from '../../../logger/logger.module'; +import { Identity } from '../../../users/identity.entity'; +import { Session } from '../../../users/session.entity'; +import { User } from '../../../users/user.entity'; +import { TokensController } from './tokens.controller'; describe('TokensController', () => { let controller: TokensController; diff --git a/src/api/private/tokens/tokens.controller.ts b/src/api/private/tokens/tokens.controller.ts index aa730d1fa..9271953bc 100644 --- a/src/api/private/tokens/tokens.controller.ts +++ b/src/api/private/tokens/tokens.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Body, Controller, @@ -13,13 +12,14 @@ import { Param, Post, } from '@nestjs/common'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { AuthService } from '../../../auth/auth.service'; -import { TimestampMillis } from '../../../utils/timestamp'; -import { AuthTokenDto } from '../../../auth/auth-token.dto'; -import { AuthTokenWithSecretDto } from '../../../auth/auth-token-with-secret.dto'; import { ApiTags } from '@nestjs/swagger'; +import { AuthTokenWithSecretDto } from '../../../auth/auth-token-with-secret.dto'; +import { AuthTokenDto } from '../../../auth/auth-token.dto'; +import { AuthService } from '../../../auth/auth.service'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; +import { TimestampMillis } from '../../../utils/timestamp'; + @ApiTags('tokens') @Controller('tokens') export class TokensController { diff --git a/src/api/public/me/me.controller.spec.ts b/src/api/public/me/me.controller.spec.ts index 0e4a737be..d54398fb1 100644 --- a/src/api/public/me/me.controller.spec.ts +++ b/src/api/public/me/me.controller.spec.ts @@ -3,36 +3,36 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getConnectionToken, getRepositoryToken, TypeOrmModule, } from '@nestjs/typeorm'; + +import { AuthToken } from '../../../auth/auth-token.entity'; import { Author } from '../../../authors/author.entity'; +import appConfigMock from '../../../config/mock/app.config.mock'; +import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Group } from '../../../groups/group.entity'; +import { HistoryEntry } from '../../../history/history-entry.entity'; import { HistoryModule } from '../../../history/history.module'; import { LoggerModule } from '../../../logger/logger.module'; +import { MediaUpload } from '../../../media/media-upload.entity'; +import { MediaModule } from '../../../media/media.module'; import { Note } from '../../../notes/note.entity'; import { NotesModule } from '../../../notes/notes.module'; import { Tag } from '../../../notes/tag.entity'; +import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; import { Edit } from '../../../revisions/edit.entity'; import { Revision } from '../../../revisions/revision.entity'; -import { AuthToken } from '../../../auth/auth-token.entity'; import { Identity } from '../../../users/identity.entity'; import { Session } from '../../../users/session.entity'; import { User } from '../../../users/user.entity'; import { UsersModule } from '../../../users/users.module'; import { MeController } from './me.controller'; -import { HistoryEntry } from '../../../history/history-entry.entity'; -import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; -import { Group } from '../../../groups/group.entity'; -import { MediaModule } from '../../../media/media.module'; -import { MediaUpload } from '../../../media/media-upload.entity'; -import { ConfigModule } from '@nestjs/config'; -import mediaConfigMock from '../../../config/mock/media.config.mock'; -import appConfigMock from '../../../config/mock/app.config.mock'; describe('Me Controller', () => { let controller: MeController; diff --git a/src/api/public/me/me.controller.ts b/src/api/public/me/me.controller.ts index 2ba887108..9e1cab702 100644 --- a/src/api/public/me/me.controller.ts +++ b/src/api/public/me/me.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Body, Controller, @@ -17,13 +16,6 @@ import { Req, InternalServerErrorException, } from '@nestjs/common'; -import { HistoryEntryUpdateDto } from '../../../history/history-entry-update.dto'; -import { HistoryService } from '../../../history/history.service'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { NoteMetadataDto } from '../../../notes/note-metadata.dto'; -import { NotesService } from '../../../notes/notes.service'; -import { UsersService } from '../../../users/users.service'; -import { TokenAuthGuard } from '../../../auth/token-auth.guard'; import { ApiNoContentResponse, ApiNotFoundResponse, @@ -32,12 +24,20 @@ import { ApiTags, ApiUnauthorizedResponse, } from '@nestjs/swagger'; -import { HistoryEntryDto } from '../../../history/history-entry.dto'; -import { UserInfoDto } from '../../../users/user-info.dto'; -import { NotInDBError } from '../../../errors/errors'; import { Request } from 'express'; -import { MediaService } from '../../../media/media.service'; + +import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { NotInDBError } from '../../../errors/errors'; +import { HistoryEntryUpdateDto } from '../../../history/history-entry-update.dto'; +import { HistoryEntryDto } from '../../../history/history-entry.dto'; +import { HistoryService } from '../../../history/history.service'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; import { MediaUploadDto } from '../../../media/media-upload.dto'; +import { MediaService } from '../../../media/media.service'; +import { NoteMetadataDto } from '../../../notes/note-metadata.dto'; +import { NotesService } from '../../../notes/notes.service'; +import { UserInfoDto } from '../../../users/user-info.dto'; +import { UsersService } from '../../../users/users.service'; import { notFoundDescription, successfullyDeletedDescription, diff --git a/src/api/public/media/media.controller.spec.ts b/src/api/public/media/media.controller.spec.ts index 1c7f83946..466086569 100644 --- a/src/api/public/media/media.controller.spec.ts +++ b/src/api/public/media/media.controller.spec.ts @@ -3,29 +3,29 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; + +import { AuthToken } from '../../../auth/auth-token.entity'; import { Author } from '../../../authors/author.entity'; import appConfigMock from '../../../config/mock/app.config.mock'; import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Group } from '../../../groups/group.entity'; import { LoggerModule } from '../../../logger/logger.module'; import { MediaUpload } from '../../../media/media-upload.entity'; import { MediaModule } from '../../../media/media.module'; import { Note } from '../../../notes/note.entity'; import { NotesModule } from '../../../notes/notes.module'; import { Tag } from '../../../notes/tag.entity'; +import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; import { Edit } from '../../../revisions/edit.entity'; import { Revision } from '../../../revisions/revision.entity'; -import { AuthToken } from '../../../auth/auth-token.entity'; import { Identity } from '../../../users/identity.entity'; import { Session } from '../../../users/session.entity'; import { User } from '../../../users/user.entity'; import { MediaController } from './media.controller'; -import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; -import { Group } from '../../../groups/group.entity'; describe('Media Controller', () => { let controller: MediaController; diff --git a/src/api/public/media/media.controller.ts b/src/api/public/media/media.controller.ts index 9fe355251..fdaf7fe57 100644 --- a/src/api/public/media/media.controller.ts +++ b/src/api/public/media/media.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, Controller, @@ -21,17 +20,6 @@ import { UseInterceptors, } from '@nestjs/common'; import { FileInterceptor } from '@nestjs/platform-express'; -import { Request } from 'express'; -import { - ClientError, - MediaBackendError, - NotInDBError, - PermissionError, -} from '../../../errors/errors'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { MediaService } from '../../../media/media.service'; -import { MulterFile } from '../../../media/multer-file.interface'; -import { TokenAuthGuard } from '../../../auth/token-auth.guard'; import { ApiBody, ApiConsumes, @@ -43,7 +31,19 @@ import { ApiTags, ApiUnauthorizedResponse, } from '@nestjs/swagger'; +import { Request } from 'express'; + +import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { + ClientError, + MediaBackendError, + NotInDBError, + PermissionError, +} from '../../../errors/errors'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; import { MediaUploadUrlDto } from '../../../media/media-upload-url.dto'; +import { MediaService } from '../../../media/media.service'; +import { MulterFile } from '../../../media/multer-file.interface'; import { forbiddenDescription, successfullyDeletedDescription, diff --git a/src/api/public/monitoring/monitoring.controller.spec.ts b/src/api/public/monitoring/monitoring.controller.spec.ts index c5bbafe37..63853204b 100644 --- a/src/api/public/monitoring/monitoring.controller.spec.ts +++ b/src/api/public/monitoring/monitoring.controller.spec.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Test, TestingModule } from '@nestjs/testing'; + import { MonitoringService } from '../../../monitoring/monitoring.service'; import { MonitoringController } from './monitoring.controller'; diff --git a/src/api/public/monitoring/monitoring.controller.ts b/src/api/public/monitoring/monitoring.controller.ts index 6f93e04ad..91a589dc0 100644 --- a/src/api/public/monitoring/monitoring.controller.ts +++ b/src/api/public/monitoring/monitoring.controller.ts @@ -3,10 +3,7 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Controller, Get, UseGuards } from '@nestjs/common'; -import { MonitoringService } from '../../../monitoring/monitoring.service'; -import { TokenAuthGuard } from '../../../auth/token-auth.guard'; import { ApiForbiddenResponse, ApiOkResponse, @@ -15,6 +12,9 @@ import { ApiTags, ApiUnauthorizedResponse, } from '@nestjs/swagger'; + +import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { MonitoringService } from '../../../monitoring/monitoring.service'; import { ServerStatusDto } from '../../../monitoring/server-status.dto'; import { forbiddenDescription, diff --git a/src/api/public/notes/notes.controller.spec.ts b/src/api/public/notes/notes.controller.spec.ts index f32c0b16a..aeb97ddb1 100644 --- a/src/api/public/notes/notes.controller.spec.ts +++ b/src/api/public/notes/notes.controller.spec.ts @@ -3,39 +3,39 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getConnectionToken, getRepositoryToken, TypeOrmModule, } from '@nestjs/typeorm'; + +import { AuthToken } from '../../../auth/auth-token.entity'; import { Author } from '../../../authors/author.entity'; +import appConfigMock from '../../../config/mock/app.config.mock'; +import mediaConfigMock from '../../../config/mock/media.config.mock'; +import { Group } from '../../../groups/group.entity'; +import { GroupsModule } from '../../../groups/groups.module'; +import { HistoryEntry } from '../../../history/history-entry.entity'; +import { HistoryModule } from '../../../history/history.module'; import { LoggerModule } from '../../../logger/logger.module'; +import { MediaUpload } from '../../../media/media-upload.entity'; +import { MediaModule } from '../../../media/media.module'; import { Note } from '../../../notes/note.entity'; import { NotesService } from '../../../notes/notes.service'; import { Tag } from '../../../notes/tag.entity'; +import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; +import { PermissionsModule } from '../../../permissions/permissions.module'; import { Edit } from '../../../revisions/edit.entity'; import { Revision } from '../../../revisions/revision.entity'; import { RevisionsModule } from '../../../revisions/revisions.module'; -import { AuthToken } from '../../../auth/auth-token.entity'; import { Identity } from '../../../users/identity.entity'; import { Session } from '../../../users/session.entity'; import { User } from '../../../users/user.entity'; import { UsersModule } from '../../../users/users.module'; import { NotesController } from './notes.controller'; -import { PermissionsModule } from '../../../permissions/permissions.module'; -import { HistoryModule } from '../../../history/history.module'; -import { HistoryEntry } from '../../../history/history-entry.entity'; -import { NoteGroupPermission } from '../../../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../../../permissions/note-user-permission.entity'; -import { Group } from '../../../groups/group.entity'; -import { GroupsModule } from '../../../groups/groups.module'; -import { ConfigModule } from '@nestjs/config'; -import { MediaModule } from '../../../media/media.module'; -import { MediaUpload } from '../../../media/media-upload.entity'; -import appConfigMock from '../../../config/mock/app.config.mock'; -import mediaConfigMock from '../../../config/mock/media.config.mock'; describe('Notes Controller', () => { let controller: NotesController; diff --git a/src/api/public/notes/notes.controller.ts b/src/api/public/notes/notes.controller.ts index 3e74bec8d..331acbe7b 100644 --- a/src/api/public/notes/notes.controller.ts +++ b/src/api/public/notes/notes.controller.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, Body, @@ -21,22 +20,6 @@ import { UnauthorizedException, UseGuards, } from '@nestjs/common'; -import { - AlreadyInDBError, - ForbiddenIdError, - NotInDBError, - PermissionsUpdateInconsistentError, -} from '../../../errors/errors'; -import { ConsoleLoggerService } from '../../../logger/console-logger.service'; -import { - NotePermissionsDto, - NotePermissionsUpdateDto, -} from '../../../notes/note-permissions.dto'; -import { NotesService } from '../../../notes/notes.service'; -import { RevisionsService } from '../../../revisions/revisions.service'; -import { FullApi } from '../../utils/fullapi-decorator'; -import { MarkdownBody } from '../../utils/markdownbody-decorator'; -import { TokenAuthGuard } from '../../../auth/token-auth.guard'; import { ApiCreatedResponse, ApiForbiddenResponse, @@ -47,22 +30,39 @@ import { ApiTags, ApiUnauthorizedResponse, } from '@nestjs/swagger'; +import { Request } from 'express'; + +import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { + AlreadyInDBError, + ForbiddenIdError, + NotInDBError, + PermissionsUpdateInconsistentError, +} from '../../../errors/errors'; import { HistoryService } from '../../../history/history.service'; -import { NoteDto } from '../../../notes/note.dto'; +import { ConsoleLoggerService } from '../../../logger/console-logger.service'; +import { MediaUploadDto } from '../../../media/media-upload.dto'; +import { MediaService } from '../../../media/media.service'; import { NoteMetadataDto } from '../../../notes/note-metadata.dto'; +import { + NotePermissionsDto, + NotePermissionsUpdateDto, +} from '../../../notes/note-permissions.dto'; +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 { PermissionsService } from '../../../permissions/permissions.service'; import { RevisionMetadataDto } from '../../../revisions/revision-metadata.dto'; import { RevisionDto } from '../../../revisions/revision.dto'; -import { PermissionsService } from '../../../permissions/permissions.service'; -import { Note } from '../../../notes/note.entity'; -import { Request } from 'express'; +import { RevisionsService } from '../../../revisions/revisions.service'; import { forbiddenDescription, successfullyDeletedDescription, unauthorizedDescription, } from '../../utils/descriptions'; -import { MediaUploadDto } from '../../../media/media-upload.dto'; -import { MediaService } from '../../../media/media.service'; -import { NoteMediaDeletionDto } from '../../../notes/note.media-deletion.dto'; +import { FullApi } from '../../utils/fullapi-decorator'; +import { MarkdownBody } from '../../utils/markdownbody-decorator'; @ApiTags('notes') @ApiSecurity('token') diff --git a/src/api/public/public-api.module.ts b/src/api/public/public-api.module.ts index c8e9284d3..bafbaa794 100644 --- a/src/api/public/public-api.module.ts +++ b/src/api/public/public-api.module.ts @@ -3,20 +3,20 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; + import { HistoryModule } from '../../history/history.module'; import { LoggerModule } from '../../logger/logger.module'; import { MediaModule } from '../../media/media.module'; import { MonitoringModule } from '../../monitoring/monitoring.module'; import { NotesModule } from '../../notes/notes.module'; +import { PermissionsModule } from '../../permissions/permissions.module'; import { RevisionsModule } from '../../revisions/revisions.module'; import { UsersModule } from '../../users/users.module'; import { MeController } from './me/me.controller'; -import { NotesController } from './notes/notes.controller'; import { MediaController } from './media/media.controller'; import { MonitoringController } from './monitoring/monitoring.controller'; -import { PermissionsModule } from '../../permissions/permissions.module'; +import { NotesController } from './notes/notes.controller'; @Module({ imports: [ diff --git a/src/api/utils/fullapi-decorator.ts b/src/api/utils/fullapi-decorator.ts index a12138db0..39b776754 100644 --- a/src/api/utils/fullapi-decorator.ts +++ b/src/api/utils/fullapi-decorator.ts @@ -3,13 +3,13 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { applyDecorators } from '@nestjs/common'; import { ApiForbiddenResponse, ApiNotFoundResponse, ApiUnauthorizedResponse, } from '@nestjs/swagger'; + import { forbiddenDescription, notFoundDescription } from './descriptions'; // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/src/api/utils/markdownbody-decorator.ts b/src/api/utils/markdownbody-decorator.ts index 7614d3f30..b859e4f2a 100644 --- a/src/api/utils/markdownbody-decorator.ts +++ b/src/api/utils/markdownbody-decorator.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BadRequestException, createParamDecorator, diff --git a/src/app.module.ts b/src/app.module.ts index b7beb50ad..00add89d1 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -3,12 +3,26 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; +import { ScheduleModule } from '@nestjs/schedule'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { RouterModule, Routes } from 'nest-router'; + +import { PrivateApiModule } from './api/private/private-api.module'; import { PublicApiModule } from './api/public/public-api.module'; +import { AuthModule } from './auth/auth.module'; import { AuthorsModule } from './authors/authors.module'; +import appConfig from './config/app.config'; +import authConfig from './config/auth.config'; +import cspConfig from './config/csp.config'; +import customizationConfig from './config/customization.config'; +import databaseConfig from './config/database.config'; +import externalConfig from './config/external-services.config'; +import hstsConfig from './config/hsts.config'; +import mediaConfig from './config/media.config'; +import { FrontendConfigModule } from './frontend-config/frontend-config.module'; +import { FrontendConfigService } from './frontend-config/frontend-config.service'; import { GroupsModule } from './groups/groups.module'; import { HistoryModule } from './history/history.module'; import { LoggerModule } from './logger/logger.module'; @@ -18,20 +32,6 @@ import { NotesModule } from './notes/notes.module'; import { PermissionsModule } from './permissions/permissions.module'; import { RevisionsModule } from './revisions/revisions.module'; import { UsersModule } from './users/users.module'; -import { AuthModule } from './auth/auth.module'; -import appConfig from './config/app.config'; -import mediaConfig from './config/media.config'; -import hstsConfig from './config/hsts.config'; -import cspConfig from './config/csp.config'; -import databaseConfig from './config/database.config'; -import authConfig from './config/auth.config'; -import customizationConfig from './config/customization.config'; -import externalConfig from './config/external-services.config'; -import { PrivateApiModule } from './api/private/private-api.module'; -import { ScheduleModule } from '@nestjs/schedule'; -import { RouterModule, Routes } from 'nest-router'; -import { FrontendConfigService } from './frontend-config/frontend-config.service'; -import { FrontendConfigModule } from './frontend-config/frontend-config.module'; const routes: Routes = [ { diff --git a/src/auth/auth-token-with-secret.dto.ts b/src/auth/auth-token-with-secret.dto.ts index cca42b9ae..1ade7532d 100644 --- a/src/auth/auth-token-with-secret.dto.ts +++ b/src/auth/auth-token-with-secret.dto.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { IsString } from 'class-validator'; + import { AuthTokenDto } from './auth-token.dto'; export class AuthTokenWithSecretDto extends AuthTokenDto { diff --git a/src/auth/auth-token.dto.ts b/src/auth/auth-token.dto.ts index 793a3b9c9..38fb1d1d7 100644 --- a/src/auth/auth-token.dto.ts +++ b/src/auth/auth-token.dto.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { IsDate, IsOptional, IsString } from 'class-validator'; export class AuthTokenDto { diff --git a/src/auth/auth-token.entity.ts b/src/auth/auth-token.entity.ts index f91f16b6a..dc0e66aad 100644 --- a/src/auth/auth-token.entity.ts +++ b/src/auth/auth-token.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, CreateDateColumn, @@ -11,6 +10,7 @@ import { ManyToOne, PrimaryGeneratedColumn, } from 'typeorm'; + import { User } from '../users/user.entity'; @Entity() diff --git a/src/auth/auth.module.ts b/src/auth/auth.module.ts index b39aa89a3..d47d6a812 100644 --- a/src/auth/auth.module.ts +++ b/src/auth/auth.module.ts @@ -3,15 +3,15 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; -import { AuthService } from './auth.service'; -import { UsersModule } from '../users/users.module'; import { PassportModule } from '@nestjs/passport'; -import { TokenStrategy } from './token.strategy'; -import { LoggerModule } from '../logger/logger.module'; import { TypeOrmModule } from '@nestjs/typeorm'; + +import { LoggerModule } from '../logger/logger.module'; +import { UsersModule } from '../users/users.module'; import { AuthToken } from './auth-token.entity'; +import { AuthService } from './auth.service'; +import { TokenStrategy } from './token.strategy'; @Module({ imports: [ diff --git a/src/auth/auth.service.spec.ts b/src/auth/auth.service.spec.ts index 3892ec2d9..cb63af4f0 100644 --- a/src/auth/auth.service.spec.ts +++ b/src/auth/auth.service.spec.ts @@ -3,22 +3,22 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Test, TestingModule } from '@nestjs/testing'; -import { Session } from '../users/session.entity'; -import { AuthService } from './auth.service'; +import { ConfigModule } from '@nestjs/config'; import { PassportModule } from '@nestjs/passport'; +import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; +import { randomBytes } from 'crypto'; +import { Repository } from 'typeorm'; + +import appConfigMock from '../config/mock/app.config.mock'; +import { NotInDBError, TokenNotValidError } from '../errors/errors'; +import { LoggerModule } from '../logger/logger.module'; +import { Identity } from '../users/identity.entity'; +import { Session } from '../users/session.entity'; import { User } from '../users/user.entity'; import { UsersModule } from '../users/users.module'; -import { Identity } from '../users/identity.entity'; -import { LoggerModule } from '../logger/logger.module'; import { AuthToken } from './auth-token.entity'; -import { NotInDBError, TokenNotValidError } from '../errors/errors'; -import { Repository } from 'typeorm'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; -import { randomBytes } from 'crypto'; +import { AuthService } from './auth.service'; describe('AuthService', () => { let service: AuthService; diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index cb7a16535..609592beb 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -3,25 +3,25 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; -import { UsersService } from '../users/users.service'; -import { User } from '../users/user.entity'; -import { AuthToken } from './auth-token.entity'; -import { AuthTokenDto } from './auth-token.dto'; -import { AuthTokenWithSecretDto } from './auth-token-with-secret.dto'; +import { Cron, Timeout } from '@nestjs/schedule'; +import { InjectRepository } from '@nestjs/typeorm'; import { compare, hash } from 'bcrypt'; +import { randomBytes } from 'crypto'; +import { Repository } from 'typeorm'; + import { NotInDBError, TokenNotValidError, TooManyTokensError, } from '../errors/errors'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { User } from '../users/user.entity'; +import { UsersService } from '../users/users.service'; import { TimestampMillis } from '../utils/timestamp'; -import { Cron, Timeout } from '@nestjs/schedule'; -import { randomBytes } from 'crypto'; +import { AuthTokenWithSecretDto } from './auth-token-with-secret.dto'; +import { AuthTokenDto } from './auth-token.dto'; +import { AuthToken } from './auth-token.entity'; @Injectable() export class AuthService { diff --git a/src/auth/mock-auth.guard.ts b/src/auth/mock-auth.guard.ts index 3b77dc9d6..bd713484c 100644 --- a/src/auth/mock-auth.guard.ts +++ b/src/auth/mock-auth.guard.ts @@ -3,12 +3,12 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ExecutionContext, Injectable } from '@nestjs/common'; -import { UsersService } from '../users/users.service'; -import { User } from '../users/user.entity'; import { Request } from 'express'; +import { User } from '../users/user.entity'; +import { UsersService } from '../users/users.service'; + @Injectable() export class MockAuthGuard { private user: User; diff --git a/src/auth/token-auth.guard.ts b/src/auth/token-auth.guard.ts index e6b691d3b..ad919a6d9 100644 --- a/src/auth/token-auth.guard.ts +++ b/src/auth/token-auth.guard.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; diff --git a/src/auth/token.strategy.ts b/src/auth/token.strategy.ts index fe00c8298..65c952ac5 100644 --- a/src/auth/token.strategy.ts +++ b/src/auth/token.strategy.ts @@ -3,13 +3,13 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Strategy } from 'passport-http-bearer'; -import { PassportStrategy } from '@nestjs/passport'; import { Injectable, UnauthorizedException } from '@nestjs/common'; -import { AuthService } from './auth.service'; -import { User } from '../users/user.entity'; +import { PassportStrategy } from '@nestjs/passport'; +import { Strategy } from 'passport-http-bearer'; + import { NotInDBError, TokenNotValidError } from '../errors/errors'; +import { User } from '../users/user.entity'; +import { AuthService } from './auth.service'; @Injectable() export class TokenStrategy extends PassportStrategy(Strategy, 'token') { diff --git a/src/authors/author.entity.ts b/src/authors/author.entity.ts index fc8eaea0a..94e1cab5f 100644 --- a/src/authors/author.entity.ts +++ b/src/authors/author.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, @@ -11,6 +10,7 @@ import { OneToMany, PrimaryGeneratedColumn, } from 'typeorm'; + import { Edit } from '../revisions/edit.entity'; import { Session } from '../users/session.entity'; import { User } from '../users/user.entity'; diff --git a/src/authors/authors.module.ts b/src/authors/authors.module.ts index da7b5fa26..06c09ba7a 100644 --- a/src/authors/authors.module.ts +++ b/src/authors/authors.module.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; + import { Author } from './author.entity'; @Module({ diff --git a/src/config/app.config.ts b/src/config/app.config.ts index c12c2e171..bcce771cc 100644 --- a/src/config/app.config.ts +++ b/src/config/app.config.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; import * as Joi from 'joi'; + import { Loglevel } from './loglevel.enum'; import { buildErrorMessage, parseOptionalInt, toArrayConfig } from './utils'; diff --git a/src/config/auth.config.ts b/src/config/auth.config.ts index 3de148f16..5670ad14b 100644 --- a/src/config/auth.config.ts +++ b/src/config/auth.config.ts @@ -3,15 +3,15 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { registerAs } from '@nestjs/config'; import * as Joi from 'joi'; + import { GitlabScope, GitlabVersion } from './gitlab.enum'; import { buildErrorMessage, replaceAuthErrorsWithEnvironmentVariables, toArrayConfig, } from './utils'; -import { registerAs } from '@nestjs/config'; export interface AuthConfig { email: { diff --git a/src/config/csp.config.ts b/src/config/csp.config.ts index a3fe24fe8..4b9ab222d 100644 --- a/src/config/csp.config.ts +++ b/src/config/csp.config.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import * as Joi from 'joi'; import { registerAs } from '@nestjs/config'; +import * as Joi from 'joi'; + import { buildErrorMessage } from './utils'; export interface CspConfig { diff --git a/src/config/customization.config.ts b/src/config/customization.config.ts index 401e3e2b2..09f00234e 100644 --- a/src/config/customization.config.ts +++ b/src/config/customization.config.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; import * as Joi from 'joi'; + import { buildErrorMessage } from './utils'; export interface CustomizationConfig { diff --git a/src/config/database.config.ts b/src/config/database.config.ts index 94b8a5802..2b0b2ee53 100644 --- a/src/config/database.config.ts +++ b/src/config/database.config.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import * as Joi from 'joi'; -import { DatabaseDialect } from './database-dialect.enum'; import { registerAs } from '@nestjs/config'; +import * as Joi from 'joi'; + +import { DatabaseDialect } from './database-dialect.enum'; import { buildErrorMessage, parseOptionalInt } from './utils'; export interface DatabaseConfig { diff --git a/src/config/external-services.config.ts b/src/config/external-services.config.ts index 406633a4e..457e76d56 100644 --- a/src/config/external-services.config.ts +++ b/src/config/external-services.config.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; import * as Joi from 'joi'; + import { buildErrorMessage } from './utils'; export interface ExternalServicesConfig { diff --git a/src/config/hsts.config.ts b/src/config/hsts.config.ts index de66729fc..f4a636e8d 100644 --- a/src/config/hsts.config.ts +++ b/src/config/hsts.config.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import * as Joi from 'joi'; import { registerAs } from '@nestjs/config'; +import * as Joi from 'joi'; + import { buildErrorMessage, parseOptionalInt } from './utils'; export interface HstsConfig { diff --git a/src/config/media.config.ts b/src/config/media.config.ts index 301834abe..542bfd3ca 100644 --- a/src/config/media.config.ts +++ b/src/config/media.config.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import * as Joi from 'joi'; -import { BackendType } from '../media/backends/backend-type.enum'; import { registerAs } from '@nestjs/config'; +import * as Joi from 'joi'; + +import { BackendType } from '../media/backends/backend-type.enum'; import { buildErrorMessage } from './utils'; export interface MediaConfig { diff --git a/src/config/mock/app.config.mock.ts b/src/config/mock/app.config.mock.ts index 6fc239654..aff64655d 100644 --- a/src/config/mock/app.config.mock.ts +++ b/src/config/mock/app.config.mock.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; + import { Loglevel } from '../loglevel.enum'; export default registerAs('appConfig', () => ({ diff --git a/src/config/mock/auth.config.mock.ts b/src/config/mock/auth.config.mock.ts index 6a703d727..0fdc9b5ae 100644 --- a/src/config/mock/auth.config.mock.ts +++ b/src/config/mock/auth.config.mock.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; export default registerAs('authConfig', () => ({ diff --git a/src/config/mock/customization.config.mock.ts b/src/config/mock/customization.config.mock.ts index 943fd0d90..b9e7281e6 100644 --- a/src/config/mock/customization.config.mock.ts +++ b/src/config/mock/customization.config.mock.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; export default registerAs('customizationConfig', () => ({ diff --git a/src/config/mock/external-services.config.mock.ts b/src/config/mock/external-services.config.mock.ts index 5708861a6..736f37552 100644 --- a/src/config/mock/external-services.config.mock.ts +++ b/src/config/mock/external-services.config.mock.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; export default registerAs('externalServicesConfig', () => ({ diff --git a/src/config/mock/media.config.mock.ts b/src/config/mock/media.config.mock.ts index 175253e33..a8971b36d 100644 --- a/src/config/mock/media.config.mock.ts +++ b/src/config/mock/media.config.mock.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { registerAs } from '@nestjs/config'; export default registerAs('mediaConfig', () => ({ diff --git a/src/config/utils.spec.ts b/src/config/utils.spec.ts index 6e24a37e2..a807ace7a 100644 --- a/src/config/utils.spec.ts +++ b/src/config/utils.spec.ts @@ -3,14 +3,13 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { Loglevel } from './loglevel.enum'; import { needToLog, parseOptionalInt, replaceAuthErrorsWithEnvironmentVariables, toArrayConfig, } from './utils'; -import { Loglevel } from './loglevel.enum'; describe('config utils', () => { describe('toArrayConfig', () => { diff --git a/src/config/utils.ts b/src/config/utils.ts index f9f935af9..cef55b2a4 100644 --- a/src/config/utils.ts +++ b/src/config/utils.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Loglevel } from './loglevel.enum'; export function toArrayConfig(configValue?: string, separator = ','): string[] { diff --git a/src/frontend-config/frontend-config.dto.ts b/src/frontend-config/frontend-config.dto.ts index e2b54ac07..3fd06aa06 100644 --- a/src/frontend-config/frontend-config.dto.ts +++ b/src/frontend-config/frontend-config.dto.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { IsArray, IsBoolean, @@ -13,6 +12,7 @@ import { IsUrl, ValidateNested, } from 'class-validator'; + import { ServerVersion } from '../monitoring/server-status.dto'; export class AuthProviders { diff --git a/src/frontend-config/frontend-config.module.ts b/src/frontend-config/frontend-config.module.ts index ef6680138..9ed9273cb 100644 --- a/src/frontend-config/frontend-config.module.ts +++ b/src/frontend-config/frontend-config.module.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; -import { LoggerModule } from '../logger/logger.module'; import { ConfigModule } from '@nestjs/config'; + +import { LoggerModule } from '../logger/logger.module'; import { FrontendConfigService } from './frontend-config.service'; @Module({ diff --git a/src/frontend-config/frontend-config.service.spec.ts b/src/frontend-config/frontend-config.service.spec.ts index f69265a9a..bb52e239e 100644 --- a/src/frontend-config/frontend-config.service.spec.ts +++ b/src/frontend-config/frontend-config.service.spec.ts @@ -3,18 +3,18 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Test, TestingModule } from '@nestjs/testing'; -import { FrontendConfigService } from './frontend-config.service'; import { ConfigModule, registerAs } from '@nestjs/config'; -import { LoggerModule } from '../logger/logger.module'; -import { AuthConfig } from '../config/auth.config'; -import { GitlabScope, GitlabVersion } from '../config/gitlab.enum'; -import { getServerVersionFromPackageJson } from '../utils/serverVersion'; -import { CustomizationConfig } from '../config/customization.config'; +import { Test, TestingModule } from '@nestjs/testing'; + import { AppConfig } from '../config/app.config'; +import { AuthConfig } from '../config/auth.config'; +import { CustomizationConfig } from '../config/customization.config'; import { ExternalServicesConfig } from '../config/external-services.config'; +import { GitlabScope, GitlabVersion } from '../config/gitlab.enum'; import { Loglevel } from '../config/loglevel.enum'; +import { LoggerModule } from '../logger/logger.module'; +import { getServerVersionFromPackageJson } from '../utils/serverVersion'; +import { FrontendConfigService } from './frontend-config.service'; /* eslint-disable jest/no-conditional-expect diff --git a/src/frontend-config/frontend-config.service.ts b/src/frontend-config/frontend-config.service.ts index a29448ebd..1492aad8c 100644 --- a/src/frontend-config/frontend-config.service.ts +++ b/src/frontend-config/frontend-config.service.ts @@ -3,9 +3,18 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; + +import appConfiguration, { AppConfig } from '../config/app.config'; +import authConfiguration, { AuthConfig } from '../config/auth.config'; +import customizationConfiguration, { + CustomizationConfig, +} from '../config/customization.config'; +import externalServicesConfiguration, { + ExternalServicesConfig, +} from '../config/external-services.config'; import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { getServerVersionFromPackageJson } from '../utils/serverVersion'; import { AuthProviders, BrandingDto, @@ -14,15 +23,6 @@ import { IframeCommunicationDto, SpecialUrlsDto, } from './frontend-config.dto'; -import authConfiguration, { AuthConfig } from '../config/auth.config'; -import customizationConfiguration, { - CustomizationConfig, -} from '../config/customization.config'; -import appConfiguration, { AppConfig } from '../config/app.config'; -import externalServicesConfiguration, { - ExternalServicesConfig, -} from '../config/external-services.config'; -import { getServerVersionFromPackageJson } from '../utils/serverVersion'; @Injectable() export class FrontendConfigService { diff --git a/src/groups/group-info.dto.ts b/src/groups/group-info.dto.ts index c64af1959..3e2a12830 100644 --- a/src/groups/group-info.dto.ts +++ b/src/groups/group-info.dto.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ -import { IsBoolean, IsString } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsBoolean, IsString } from 'class-validator'; export class GroupInfoDto { /** diff --git a/src/groups/group.entity.ts b/src/groups/group.entity.ts index 41f78e837..1a63224c1 100644 --- a/src/groups/group.entity.ts +++ b/src/groups/group.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, @@ -11,6 +10,7 @@ import { ManyToMany, PrimaryGeneratedColumn, } from 'typeorm'; + import { User } from '../users/user.entity'; @Entity() diff --git a/src/groups/groups.module.ts b/src/groups/groups.module.ts index d4d6c2932..6512d5402 100644 --- a/src/groups/groups.module.ts +++ b/src/groups/groups.module.ts @@ -3,12 +3,12 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; + +import { LoggerModule } from '../logger/logger.module'; import { Group } from './group.entity'; import { GroupsService } from './groups.service'; -import { LoggerModule } from '../logger/logger.module'; @Module({ imports: [TypeOrmModule.forFeature([Group]), LoggerModule], diff --git a/src/groups/groups.service.spec.ts b/src/groups/groups.service.spec.ts index bd7d1edad..5292d189b 100644 --- a/src/groups/groups.service.spec.ts +++ b/src/groups/groups.service.spec.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { GroupsService } from './groups.service'; import { getRepositoryToken } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { Group } from './group.entity'; + +import appConfigMock from '../config/mock/app.config.mock'; import { NotInDBError } from '../errors/errors'; import { LoggerModule } from '../logger/logger.module'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; +import { Group } from './group.entity'; +import { GroupsService } from './groups.service'; describe('GroupsService', () => { let service: GroupsService; diff --git a/src/groups/groups.service.ts b/src/groups/groups.service.ts index 56878effa..a5d35bae8 100644 --- a/src/groups/groups.service.ts +++ b/src/groups/groups.service.ts @@ -3,14 +3,14 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; -import { ConsoleLoggerService } from '../logger/console-logger.service'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; -import { Group } from './group.entity'; + import { NotInDBError } from '../errors/errors'; +import { ConsoleLoggerService } from '../logger/console-logger.service'; import { GroupInfoDto } from './group-info.dto'; +import { Group } from './group.entity'; @Injectable() export class GroupsService { diff --git a/src/history/history-entry-import.dto.ts b/src/history/history-entry-import.dto.ts index 7e258c7f6..c89a86e4d 100644 --- a/src/history/history-entry-import.dto.ts +++ b/src/history/history-entry-import.dto.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { IsBoolean, IsDate, IsString } from 'class-validator'; export class HistoryEntryImportDto { diff --git a/src/history/history-entry-update.dto.ts b/src/history/history-entry-update.dto.ts index 5dc884061..76cb4d221 100644 --- a/src/history/history-entry-update.dto.ts +++ b/src/history/history-entry-update.dto.ts @@ -3,9 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsBoolean } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsBoolean } from 'class-validator'; export class HistoryEntryUpdateDto { /** diff --git a/src/history/history-entry.dto.ts b/src/history/history-entry.dto.ts index 6a136b45c..12d51e416 100644 --- a/src/history/history-entry.dto.ts +++ b/src/history/history-entry.dto.ts @@ -3,9 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsArray, IsBoolean, IsDate, IsString } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsArray, IsBoolean, IsDate, IsString } from 'class-validator'; export class HistoryEntryDto { /** diff --git a/src/history/history-entry.entity.ts b/src/history/history-entry.entity.ts index 11e59888c..b7ab7b54b 100644 --- a/src/history/history-entry.entity.ts +++ b/src/history/history-entry.entity.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, ManyToOne, UpdateDateColumn } from 'typeorm'; -import { User } from '../users/user.entity'; + import { Note } from '../notes/note.entity'; +import { User } from '../users/user.entity'; @Entity() export class HistoryEntry { diff --git a/src/history/history.module.ts b/src/history/history.module.ts index 20bf1746d..a40927eb5 100644 --- a/src/history/history.module.ts +++ b/src/history/history.module.ts @@ -3,15 +3,15 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; -import { LoggerModule } from '../logger/logger.module'; -import { HistoryService } from './history.service'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { HistoryEntry } from './history-entry.entity'; -import { UsersModule } from '../users/users.module'; -import { NotesModule } from '../notes/notes.module'; import { ConfigModule } from '@nestjs/config'; +import { TypeOrmModule } from '@nestjs/typeorm'; + +import { LoggerModule } from '../logger/logger.module'; +import { NotesModule } from '../notes/notes.module'; +import { UsersModule } from '../users/users.module'; +import { HistoryEntry } from './history-entry.entity'; +import { HistoryService } from './history.service'; @Module({ providers: [HistoryService], diff --git a/src/history/history.service.spec.ts b/src/history/history.service.spec.ts index d8ac1177e..955eec642 100644 --- a/src/history/history.service.spec.ts +++ b/src/history/history.service.spec.ts @@ -3,31 +3,31 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { Author } from '../authors/author.entity'; -import { LoggerModule } from '../logger/logger.module'; -import { Session } from '../users/session.entity'; -import { HistoryService } from './history.service'; -import { UsersModule } from '../users/users.module'; -import { NotesModule } from '../notes/notes.module'; import { getConnectionToken, getRepositoryToken } from '@nestjs/typeorm'; -import { Identity } from '../users/identity.entity'; -import { User } from '../users/user.entity'; -import { Edit } from '../revisions/edit.entity'; -import { HistoryEntry } from './history-entry.entity'; -import { Note } from '../notes/note.entity'; -import { Tag } from '../notes/tag.entity'; -import { AuthToken } from '../auth/auth-token.entity'; -import { Revision } from '../revisions/revision.entity'; import { Connection, Repository } from 'typeorm'; + +import { AuthToken } from '../auth/auth-token.entity'; +import { Author } from '../authors/author.entity'; +import appConfigMock from '../config/mock/app.config.mock'; import { NotInDBError } from '../errors/errors'; +import { Group } from '../groups/group.entity'; +import { LoggerModule } from '../logger/logger.module'; +import { Note } from '../notes/note.entity'; +import { NotesModule } from '../notes/notes.module'; +import { Tag } from '../notes/tag.entity'; import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../permissions/note-user-permission.entity'; -import { Group } from '../groups/group.entity'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; +import { Edit } from '../revisions/edit.entity'; +import { Revision } from '../revisions/revision.entity'; +import { Identity } from '../users/identity.entity'; +import { Session } from '../users/session.entity'; +import { User } from '../users/user.entity'; +import { UsersModule } from '../users/users.module'; import { HistoryEntryImportDto } from './history-entry-import.dto'; +import { HistoryEntry } from './history-entry.entity'; +import { HistoryService } from './history.service'; describe('HistoryService', () => { let service: HistoryService; diff --git a/src/history/history.service.ts b/src/history/history.service.ts index fd733f732..13a290ad5 100644 --- a/src/history/history.service.ts +++ b/src/history/history.service.ts @@ -3,20 +3,20 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; -import { ConsoleLoggerService } from '../logger/console-logger.service'; -import { HistoryEntryUpdateDto } from './history-entry-update.dto'; -import { HistoryEntryDto } from './history-entry.dto'; import { InjectConnection, InjectRepository } from '@nestjs/typeorm'; import { Connection, Repository } from 'typeorm'; -import { HistoryEntry } from './history-entry.entity'; -import { UsersService } from '../users/users.service'; + +import { NotInDBError } from '../errors/errors'; +import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { Note } from '../notes/note.entity'; import { NotesService } from '../notes/notes.service'; import { User } from '../users/user.entity'; -import { Note } from '../notes/note.entity'; -import { NotInDBError } from '../errors/errors'; +import { UsersService } from '../users/users.service'; import { HistoryEntryImportDto } from './history-entry-import.dto'; +import { HistoryEntryUpdateDto } from './history-entry-update.dto'; +import { HistoryEntryDto } from './history-entry.dto'; +import { HistoryEntry } from './history-entry.entity'; @Injectable() export class HistoryService { diff --git a/src/logger/console-logger.service.ts b/src/logger/console-logger.service.ts index 6640788d1..6e0b63b0d 100644 --- a/src/logger/console-logger.service.ts +++ b/src/logger/console-logger.service.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable, @@ -12,12 +11,14 @@ import { Scope, } from '@nestjs/common'; import { isObject } from '@nestjs/common/utils/shared.utils'; -import clc = require('cli-color'); -import DateTimeFormatOptions = Intl.DateTimeFormatOptions; + import appConfiguration, { AppConfig } from '../config/app.config'; import { Loglevel } from '../config/loglevel.enum'; import { needToLog } from '../config/utils'; +import clc = require('cli-color'); +import DateTimeFormatOptions = Intl.DateTimeFormatOptions; + @Injectable({ scope: Scope.TRANSIENT }) export class ConsoleLoggerService implements LoggerService { private classContext: string | undefined; diff --git a/src/logger/logger.module.ts b/src/logger/logger.module.ts index c95758c8f..1f14785f4 100644 --- a/src/logger/logger.module.ts +++ b/src/logger/logger.module.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; + import { ConsoleLoggerService } from './console-logger.service'; @Module({ diff --git a/src/main.ts b/src/main.ts index 45bc1586e..d0d883dbb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,17 +3,17 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { LogLevel, ValidationPipe } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { NestFactory } from '@nestjs/core'; import { NestExpressApplication } from '@nestjs/platform-express'; + import { AppModule } from './app.module'; import { AppConfig } from './config/app.config'; import { MediaConfig } from './config/media.config'; -import { setupPrivateApiDocs, setupPublicApiDocs } from './utils/swagger'; -import { BackendType } from './media/backends/backend-type.enum'; import { ConsoleLoggerService } from './logger/console-logger.service'; +import { BackendType } from './media/backends/backend-type.enum'; +import { setupPrivateApiDocs, setupPublicApiDocs } from './utils/swagger'; async function bootstrap(): Promise { const app = await NestFactory.create(AppModule, { diff --git a/src/media/backends/azure-backend.ts b/src/media/backends/azure-backend.ts index 17b1f1332..2e2174079 100644 --- a/src/media/backends/azure-backend.ts +++ b/src/media/backends/azure-backend.ts @@ -3,19 +3,19 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { Inject, Injectable } from '@nestjs/common'; -import mediaConfiguration, { MediaConfig } from '../../config/media.config'; -import { ConsoleLoggerService } from '../../logger/console-logger.service'; -import { MediaBackend } from '../media-backend.interface'; -import { BackendData } from '../media-upload.entity'; import { BlobServiceClient, BlockBlobClient, ContainerClient, } from '@azure/storage-blob'; -import { BackendType } from './backend-type.enum'; +import { Inject, Injectable } from '@nestjs/common'; + +import mediaConfiguration, { MediaConfig } from '../../config/media.config'; import { MediaBackendError } from '../../errors/errors'; +import { ConsoleLoggerService } from '../../logger/console-logger.service'; +import { MediaBackend } from '../media-backend.interface'; +import { BackendData } from '../media-upload.entity'; +import { BackendType } from './backend-type.enum'; @Injectable() export class AzureBackend implements MediaBackend { diff --git a/src/media/backends/filesystem-backend.ts b/src/media/backends/filesystem-backend.ts index dd48aaec1..928687773 100644 --- a/src/media/backends/filesystem-backend.ts +++ b/src/media/backends/filesystem-backend.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; import { promises as fs } from 'fs'; import { join } from 'path'; + import mediaConfiguration from '../../config/media.config'; +import { MediaConfig } from '../../config/media.config'; +import { MediaBackendError } from '../../errors/errors'; import { ConsoleLoggerService } from '../../logger/console-logger.service'; import { MediaBackend } from '../media-backend.interface'; import { BackendData } from '../media-upload.entity'; -import { MediaConfig } from '../../config/media.config'; -import { MediaBackendError } from '../../errors/errors'; @Injectable() export class FilesystemBackend implements MediaBackend { diff --git a/src/media/backends/imgur-backend.ts b/src/media/backends/imgur-backend.ts index 975cbb1b4..6fb674edb 100644 --- a/src/media/backends/imgur-backend.ts +++ b/src/media/backends/imgur-backend.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; +import fetch, { Response } from 'node-fetch'; +import { URLSearchParams } from 'url'; + import mediaConfiguration from '../../config/media.config'; +import { MediaConfig } from '../../config/media.config'; +import { MediaBackendError } from '../../errors/errors'; import { ConsoleLoggerService } from '../../logger/console-logger.service'; import { MediaBackend } from '../media-backend.interface'; import { BackendData } from '../media-upload.entity'; -import { MediaConfig } from '../../config/media.config'; -import fetch, { Response } from 'node-fetch'; -import { URLSearchParams } from 'url'; -import { MediaBackendError } from '../../errors/errors'; type UploadResult = { data: { diff --git a/src/media/backends/s3-backend.ts b/src/media/backends/s3-backend.ts index bf1059448..ca82e7e29 100644 --- a/src/media/backends/s3-backend.ts +++ b/src/media/backends/s3-backend.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; +import { Client } from 'minio'; + import mediaConfiguration from '../../config/media.config'; +import { MediaConfig } from '../../config/media.config'; +import { MediaBackendError } from '../../errors/errors'; import { ConsoleLoggerService } from '../../logger/console-logger.service'; import { MediaBackend } from '../media-backend.interface'; import { BackendData } from '../media-upload.entity'; -import { MediaConfig } from '../../config/media.config'; -import { Client } from 'minio'; import { BackendType } from './backend-type.enum'; -import { MediaBackendError } from '../../errors/errors'; @Injectable() export class S3Backend implements MediaBackend { diff --git a/src/media/backends/webdav-backend.ts b/src/media/backends/webdav-backend.ts index 918d339ad..c580bdcd1 100644 --- a/src/media/backends/webdav-backend.ts +++ b/src/media/backends/webdav-backend.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; +import fetch, { Response } from 'node-fetch'; + import mediaConfiguration from '../../config/media.config'; +import { MediaConfig } from '../../config/media.config'; +import { MediaBackendError } from '../../errors/errors'; import { ConsoleLoggerService } from '../../logger/console-logger.service'; import { MediaBackend } from '../media-backend.interface'; import { BackendData } from '../media-upload.entity'; -import { MediaConfig } from '../../config/media.config'; -import { MediaBackendError } from '../../errors/errors'; import { BackendType } from './backend-type.enum'; -import fetch, { Response } from 'node-fetch'; @Injectable() export class WebdavBackend implements MediaBackend { diff --git a/src/media/media-backend.interface.ts b/src/media/media-backend.interface.ts index 67337f550..d74deddd2 100644 --- a/src/media/media-backend.interface.ts +++ b/src/media/media-backend.interface.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { BackendData } from './media-upload.entity'; export interface MediaBackend { diff --git a/src/media/media-upload-url.dto.ts b/src/media/media-upload-url.dto.ts index 013c02598..d5e420a04 100644 --- a/src/media/media-upload-url.dto.ts +++ b/src/media/media-upload-url.dto.ts @@ -3,9 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsString } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsString } from 'class-validator'; export class MediaUploadUrlDto { @IsString() diff --git a/src/media/media-upload.dto.ts b/src/media/media-upload.dto.ts index 8bf462371..a2ab390da 100644 --- a/src/media/media-upload.dto.ts +++ b/src/media/media-upload.dto.ts @@ -3,9 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsDate, IsOptional, IsString } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsDate, IsOptional, IsString } from 'class-validator'; export class MediaUploadDto { /** diff --git a/src/media/media-upload.entity.ts b/src/media/media-upload.entity.ts index 64918074b..7bc0bbe62 100644 --- a/src/media/media-upload.entity.ts +++ b/src/media/media-upload.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import * as crypto from 'crypto'; import { Column, @@ -12,6 +11,7 @@ import { ManyToOne, PrimaryColumn, } from 'typeorm'; + import { Note } from '../notes/note.entity'; import { User } from '../users/user.entity'; import { BackendType } from './backends/backend-type.enum'; diff --git a/src/media/media.module.ts b/src/media/media.module.ts index 8997ba75f..1e870a94b 100644 --- a/src/media/media.module.ts +++ b/src/media/media.module.ts @@ -3,20 +3,20 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; + import { LoggerModule } from '../logger/logger.module'; import { NotesModule } from '../notes/notes.module'; import { UsersModule } from '../users/users.module'; +import { AzureBackend } from './backends/azure-backend'; import { FilesystemBackend } from './backends/filesystem-backend'; +import { ImgurBackend } from './backends/imgur-backend'; +import { S3Backend } from './backends/s3-backend'; +import { WebdavBackend } from './backends/webdav-backend'; import { MediaUpload } from './media-upload.entity'; import { MediaService } from './media.service'; -import { S3Backend } from './backends/s3-backend'; -import { ImgurBackend } from './backends/imgur-backend'; -import { AzureBackend } from './backends/azure-backend'; -import { WebdavBackend } from './backends/webdav-backend'; @Module({ imports: [ diff --git a/src/media/media.service.spec.ts b/src/media/media.service.spec.ts index 2b08e225d..75682436f 100644 --- a/src/media/media.service.spec.ts +++ b/src/media/media.service.spec.ts @@ -3,19 +3,26 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; +import { promises as fs } from 'fs'; +import { Repository } from 'typeorm'; + +import appConfigMock from '../../src/config/mock/app.config.mock'; +import { AuthToken } from '../auth/auth-token.entity'; import { Author } from '../authors/author.entity'; import mediaConfigMock from '../config/mock/media.config.mock'; +import { ClientError, NotInDBError } from '../errors/errors'; +import { Group } from '../groups/group.entity'; import { LoggerModule } from '../logger/logger.module'; import { Note } from '../notes/note.entity'; import { NotesModule } from '../notes/notes.module'; import { Tag } from '../notes/tag.entity'; +import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../permissions/note-user-permission.entity'; import { Edit } from '../revisions/edit.entity'; import { Revision } from '../revisions/revision.entity'; -import { AuthToken } from '../auth/auth-token.entity'; import { Identity } from '../users/identity.entity'; import { Session } from '../users/session.entity'; import { User } from '../users/user.entity'; @@ -23,13 +30,6 @@ import { UsersModule } from '../users/users.module'; import { FilesystemBackend } from './backends/filesystem-backend'; import { BackendData, MediaUpload } from './media-upload.entity'; import { MediaService } from './media.service'; -import { Repository } from 'typeorm'; -import { promises as fs } from 'fs'; -import { ClientError, NotInDBError } from '../errors/errors'; -import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../permissions/note-user-permission.entity'; -import { Group } from '../groups/group.entity'; -import appConfigMock from '../../src/config/mock/app.config.mock'; describe('MediaService', () => { let service: MediaService; diff --git a/src/media/media.service.ts b/src/media/media.service.ts index 2e68c4642..fd8cdbc83 100644 --- a/src/media/media.service.ts +++ b/src/media/media.service.ts @@ -3,29 +3,29 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Inject, Injectable } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { InjectRepository } from '@nestjs/typeorm'; import * as FileType from 'file-type'; import { Repository } from 'typeorm'; + import mediaConfiguration, { MediaConfig } from '../config/media.config'; import { ClientError, NotInDBError } from '../errors/errors'; import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { Note } from '../notes/note.entity'; import { NotesService } from '../notes/notes.service'; +import { User } from '../users/user.entity'; import { UsersService } from '../users/users.service'; +import { AzureBackend } from './backends/azure-backend'; import { BackendType } from './backends/backend-type.enum'; import { FilesystemBackend } from './backends/filesystem-backend'; -import { MediaBackend } from './media-backend.interface'; -import { MediaUpload } from './media-upload.entity'; -import { MediaUploadUrlDto } from './media-upload-url.dto'; -import { S3Backend } from './backends/s3-backend'; -import { AzureBackend } from './backends/azure-backend'; import { ImgurBackend } from './backends/imgur-backend'; -import { User } from '../users/user.entity'; -import { MediaUploadDto } from './media-upload.dto'; -import { Note } from '../notes/note.entity'; +import { S3Backend } from './backends/s3-backend'; import { WebdavBackend } from './backends/webdav-backend'; +import { MediaBackend } from './media-backend.interface'; +import { MediaUploadUrlDto } from './media-upload-url.dto'; +import { MediaUploadDto } from './media-upload.dto'; +import { MediaUpload } from './media-upload.entity'; @Injectable() export class MediaService { diff --git a/src/media/multer-file.interface.ts b/src/media/multer-file.interface.ts index 9bc2a9c73..136002f54 100644 --- a/src/media/multer-file.interface.ts +++ b/src/media/multer-file.interface.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Readable } from 'stream'; // Type from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/multer/index.d.ts diff --git a/src/monitoring/monitoring.module.ts b/src/monitoring/monitoring.module.ts index afa2aa018..6e471da5c 100644 --- a/src/monitoring/monitoring.module.ts +++ b/src/monitoring/monitoring.module.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; + import { LoggerModule } from '../logger/logger.module'; import { MonitoringService } from './monitoring.service'; diff --git a/src/monitoring/monitoring.service.spec.ts b/src/monitoring/monitoring.service.spec.ts index 665a1145a..4794a1b50 100644 --- a/src/monitoring/monitoring.service.spec.ts +++ b/src/monitoring/monitoring.service.spec.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Test, TestingModule } from '@nestjs/testing'; + import { MonitoringService } from './monitoring.service'; describe('MonitoringService', () => { diff --git a/src/monitoring/monitoring.service.ts b/src/monitoring/monitoring.service.ts index 190aef2ed..04a778457 100644 --- a/src/monitoring/monitoring.service.ts +++ b/src/monitoring/monitoring.service.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; -import { ServerStatusDto } from './server-status.dto'; + import { getServerVersionFromPackageJson } from '../utils/serverVersion'; +import { ServerStatusDto } from './server-status.dto'; @Injectable() export class MonitoringService { diff --git a/src/monitoring/server-status.dto.ts b/src/monitoring/server-status.dto.ts index 5752b8ec7..de94fefdb 100644 --- a/src/monitoring/server-status.dto.ts +++ b/src/monitoring/server-status.dto.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ApiProperty } from '@nestjs/swagger'; export class ServerVersion { diff --git a/src/notes/note-metadata.dto.ts b/src/notes/note-metadata.dto.ts index f28621340..9a588ab5f 100644 --- a/src/notes/note-metadata.dto.ts +++ b/src/notes/note-metadata.dto.ts @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsArray, IsDate, @@ -12,9 +12,9 @@ import { IsString, ValidateNested, } from 'class-validator'; + import { UserInfoDto } from '../users/user-info.dto'; import { NotePermissionsDto } from './note-permissions.dto'; -import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; export class NoteMetadataDto { /** diff --git a/src/notes/note-permissions.dto.ts b/src/notes/note-permissions.dto.ts index a9a0d9389..07d1bb52d 100644 --- a/src/notes/note-permissions.dto.ts +++ b/src/notes/note-permissions.dto.ts @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsArray, IsBoolean, @@ -11,9 +11,9 @@ import { IsString, ValidateNested, } from 'class-validator'; -import { UserInfoDto } from '../users/user-info.dto'; + import { GroupInfoDto } from '../groups/group-info.dto'; -import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; +import { UserInfoDto } from '../users/user-info.dto'; export class NoteUserPermissionEntryDto { /** diff --git a/src/notes/note.dto.ts b/src/notes/note.dto.ts index 10dcf4e88..68784e8b1 100644 --- a/src/notes/note.dto.ts +++ b/src/notes/note.dto.ts @@ -3,11 +3,11 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ApiProperty } from '@nestjs/swagger'; import { IsArray, IsString, ValidateNested } from 'class-validator'; + import { EditDto } from '../revisions/edit.dto'; import { NoteMetadataDto } from './note-metadata.dto'; -import { ApiProperty } from '@nestjs/swagger'; export class NoteDto { /** diff --git a/src/notes/note.entity.ts b/src/notes/note.entity.ts index 8cca4de6c..916a14c9c 100644 --- a/src/notes/note.entity.ts +++ b/src/notes/note.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, @@ -13,13 +12,14 @@ import { OneToMany, PrimaryGeneratedColumn, } from 'typeorm'; + +import { HistoryEntry } from '../history/history-entry.entity'; +import { MediaUpload } from '../media/media-upload.entity'; import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; import { NoteUserPermission } from '../permissions/note-user-permission.entity'; import { Revision } from '../revisions/revision.entity'; import { User } from '../users/user.entity'; import { Tag } from './tag.entity'; -import { HistoryEntry } from '../history/history-entry.entity'; -import { MediaUpload } from '../media/media-upload.entity'; import { generatePublicId } from './utils'; @Entity() diff --git a/src/notes/note.media-deletion.dto.ts b/src/notes/note.media-deletion.dto.ts index 0779fdbce..aebbea277 100644 --- a/src/notes/note.media-deletion.dto.ts +++ b/src/notes/note.media-deletion.dto.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ -import { IsBoolean } from 'class-validator'; import { ApiProperty } from '@nestjs/swagger'; +import { IsBoolean } from 'class-validator'; export class NoteMediaDeletionDto { /** diff --git a/src/notes/notes.module.ts b/src/notes/notes.module.ts index 1d7656b90..80e332288 100644 --- a/src/notes/notes.module.ts +++ b/src/notes/notes.module.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { forwardRef, Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; + import { GroupsModule } from '../groups/groups.module'; import { LoggerModule } from '../logger/logger.module'; import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; diff --git a/src/notes/notes.service.spec.ts b/src/notes/notes.service.spec.ts index 209753ad8..20614a5f1 100644 --- a/src/notes/notes.service.spec.ts +++ b/src/notes/notes.service.spec.ts @@ -3,39 +3,39 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { Author } from '../authors/author.entity'; -import { LoggerModule } from '../logger/logger.module'; -import { Edit } from '../revisions/edit.entity'; -import { Revision } from '../revisions/revision.entity'; -import { RevisionsModule } from '../revisions/revisions.module'; -import { AuthToken } from '../auth/auth-token.entity'; -import { Identity } from '../users/identity.entity'; -import { Session } from '../users/session.entity'; -import { User } from '../users/user.entity'; -import { UsersModule } from '../users/users.module'; -import { Note } from './note.entity'; -import { NotesService } from './notes.service'; import { Repository } from 'typeorm'; -import { Tag } from './tag.entity'; + +import { AuthToken } from '../auth/auth-token.entity'; +import { Author } from '../authors/author.entity'; +import appConfigMock from '../config/mock/app.config.mock'; import { AlreadyInDBError, ForbiddenIdError, NotInDBError, PermissionsUpdateInconsistentError, } from '../errors/errors'; +import { Group } from '../groups/group.entity'; +import { GroupsModule } from '../groups/groups.module'; +import { LoggerModule } from '../logger/logger.module'; +import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../permissions/note-user-permission.entity'; +import { Edit } from '../revisions/edit.entity'; +import { Revision } from '../revisions/revision.entity'; +import { RevisionsModule } from '../revisions/revisions.module'; +import { Identity } from '../users/identity.entity'; +import { Session } from '../users/session.entity'; +import { User } from '../users/user.entity'; +import { UsersModule } from '../users/users.module'; import { NoteGroupPermissionUpdateDto, NoteUserPermissionUpdateDto, } from './note-permissions.dto'; -import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../permissions/note-user-permission.entity'; -import { GroupsModule } from '../groups/groups.module'; -import { Group } from '../groups/group.entity'; -import { ConfigModule, ConfigService } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; +import { Note } from './note.entity'; +import { NotesService } from './notes.service'; +import { Tag } from './tag.entity'; describe('NotesService', () => { let service: NotesService; diff --git a/src/notes/notes.service.ts b/src/notes/notes.service.ts index fbf390cc5..4863db88c 100644 --- a/src/notes/notes.service.ts +++ b/src/notes/notes.service.ts @@ -3,21 +3,29 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { forwardRef, Inject, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; +import base32Encode from 'base32-encode'; +import { randomBytes } from 'crypto'; import { Repository } from 'typeorm'; + +import appConfiguration, { AppConfig } from '../config/app.config'; import { AlreadyInDBError, ForbiddenIdError, NotInDBError, PermissionsUpdateInconsistentError, } from '../errors/errors'; +import { GroupsService } from '../groups/groups.service'; +import { HistoryEntry } from '../history/history-entry.entity'; import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../permissions/note-user-permission.entity'; import { Revision } from '../revisions/revision.entity'; import { RevisionsService } from '../revisions/revisions.service'; import { User } from '../users/user.entity'; import { UsersService } from '../users/users.service'; +import { checkArrayForDuplicates } from '../utils/arrayDuplicatCheck'; import { NoteMetadataDto } from './note-metadata.dto'; import { NotePermissionsDto, @@ -26,14 +34,6 @@ import { import { NoteDto } from './note.dto'; import { Note } from './note.entity'; import { Tag } from './tag.entity'; -import { HistoryEntry } from '../history/history-entry.entity'; -import { NoteUserPermission } from '../permissions/note-user-permission.entity'; -import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; -import { GroupsService } from '../groups/groups.service'; -import { checkArrayForDuplicates } from '../utils/arrayDuplicatCheck'; -import appConfiguration, { AppConfig } from '../config/app.config'; -import base32Encode from 'base32-encode'; -import { randomBytes } from 'crypto'; @Injectable() export class NotesService { diff --git a/src/notes/tag.entity.ts b/src/notes/tag.entity.ts index 0164d3891..04f787b31 100644 --- a/src/notes/tag.entity.ts +++ b/src/notes/tag.entity.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, ManyToMany, PrimaryGeneratedColumn } from 'typeorm'; + import { Note } from './note.entity'; @Entity() diff --git a/src/notes/utils.spec.ts b/src/notes/utils.spec.ts index 0666e55d1..6fb90d12c 100644 --- a/src/notes/utils.spec.ts +++ b/src/notes/utils.spec.ts @@ -3,9 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { randomBytes } from 'crypto'; + import { generatePublicId } from './utils'; + jest.mock('crypto'); it('generatePublicId', () => { diff --git a/src/notes/utils.ts b/src/notes/utils.ts index 9f8f87153..7d0e75c01 100644 --- a/src/notes/utils.ts +++ b/src/notes/utils.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import base32Encode from 'base32-encode'; import { randomBytes } from 'crypto'; diff --git a/src/permissions/note-group-permission.entity.ts b/src/permissions/note-group-permission.entity.ts index 364c2991d..9fda06d27 100644 --- a/src/permissions/note-group-permission.entity.ts +++ b/src/permissions/note-group-permission.entity.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, ManyToOne } from 'typeorm'; + import { Group } from '../groups/group.entity'; import { Note } from '../notes/note.entity'; diff --git a/src/permissions/note-user-permission.entity.ts b/src/permissions/note-user-permission.entity.ts index 06e94d0af..6d3a637a5 100644 --- a/src/permissions/note-user-permission.entity.ts +++ b/src/permissions/note-user-permission.entity.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, Entity, ManyToOne } from 'typeorm'; + import { Note } from '../notes/note.entity'; import { User } from '../users/user.entity'; diff --git a/src/permissions/permissions.module.ts b/src/permissions/permissions.module.ts index dbeec4707..f0bcdb563 100644 --- a/src/permissions/permissions.module.ts +++ b/src/permissions/permissions.module.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; + import { PermissionsService } from './permissions.service'; @Module({ diff --git a/src/permissions/permissions.service.spec.ts b/src/permissions/permissions.service.spec.ts index e8ebcecd4..b6414c467 100644 --- a/src/permissions/permissions.service.spec.ts +++ b/src/permissions/permissions.service.spec.ts @@ -3,11 +3,13 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; + import { AuthToken } from '../auth/auth-token.entity'; import { Author } from '../authors/author.entity'; +import appConfigMock from '../config/mock/app.config.mock'; import { Group } from '../groups/group.entity'; import { LoggerModule } from '../logger/logger.module'; import { Note } from '../notes/note.entity'; @@ -23,8 +25,6 @@ import { NoteGroupPermission } from './note-group-permission.entity'; import { NoteUserPermission } from './note-user-permission.entity'; import { PermissionsModule } from './permissions.module'; import { GuestPermission, PermissionsService } from './permissions.service'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; describe('PermissionsService', () => { let permissionsService: PermissionsService; diff --git a/src/permissions/permissions.service.ts b/src/permissions/permissions.service.ts index af3e20f08..e04658659 100644 --- a/src/permissions/permissions.service.ts +++ b/src/permissions/permissions.service.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; -import { User } from '../users/user.entity'; + import { Note } from '../notes/note.entity'; +import { User } from '../users/user.entity'; // TODO move to config or remove export enum GuestPermission { diff --git a/src/revisions/edit.dto.ts b/src/revisions/edit.dto.ts index 138750ff2..0a6841dde 100644 --- a/src/revisions/edit.dto.ts +++ b/src/revisions/edit.dto.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsDate, IsNumber, IsOptional, IsString, Min } from 'class-validator'; -import { UserInfoDto } from '../users/user-info.dto'; import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; +import { IsDate, IsNumber, IsOptional, IsString, Min } from 'class-validator'; + +import { UserInfoDto } from '../users/user-info.dto'; export class EditDto { /** diff --git a/src/revisions/edit.entity.ts b/src/revisions/edit.entity.ts index b6c0c0710..138339923 100644 --- a/src/revisions/edit.entity.ts +++ b/src/revisions/edit.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, CreateDateColumn, @@ -13,6 +12,7 @@ import { PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm'; + import { Author } from '../authors/author.entity'; import { Revision } from './revision.entity'; diff --git a/src/revisions/revision-metadata.dto.ts b/src/revisions/revision-metadata.dto.ts index 09f7e6b15..2fd6b3c80 100644 --- a/src/revisions/revision-metadata.dto.ts +++ b/src/revisions/revision-metadata.dto.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsDate, IsNumber } from 'class-validator'; -import { Revision } from './revision.entity'; import { ApiProperty } from '@nestjs/swagger'; +import { IsDate, IsNumber } from 'class-validator'; + +import { Revision } from './revision.entity'; export class RevisionMetadataDto { /** diff --git a/src/revisions/revision.dto.ts b/src/revisions/revision.dto.ts index 0bcc350c8..e4d968c39 100644 --- a/src/revisions/revision.dto.ts +++ b/src/revisions/revision.dto.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { IsDate, IsNumber, IsString } from 'class-validator'; -import { Revision } from './revision.entity'; import { ApiProperty } from '@nestjs/swagger'; +import { IsDate, IsNumber, IsString } from 'class-validator'; + +import { Revision } from './revision.entity'; export class RevisionDto { /** diff --git a/src/revisions/revision.entity.ts b/src/revisions/revision.entity.ts index 14bf3622c..bb4cb9ae8 100644 --- a/src/revisions/revision.entity.ts +++ b/src/revisions/revision.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, CreateDateColumn, @@ -12,6 +11,7 @@ import { PrimaryGeneratedColumn, } from 'typeorm'; import { JoinTable, ManyToMany } from 'typeorm'; + import { Note } from '../notes/note.entity'; import { Edit } from './edit.entity'; diff --git a/src/revisions/revisions.module.ts b/src/revisions/revisions.module.ts index ff0accabb..8e14ac48f 100644 --- a/src/revisions/revisions.module.ts +++ b/src/revisions/revisions.module.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { forwardRef, Module } from '@nestjs/common'; +import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; + import { AuthorsModule } from '../authors/authors.module'; import { LoggerModule } from '../logger/logger.module'; import { NotesModule } from '../notes/notes.module'; import { Edit } from './edit.entity'; import { Revision } from './revision.entity'; import { RevisionsService } from './revisions.service'; -import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ diff --git a/src/revisions/revisions.service.spec.ts b/src/revisions/revisions.service.spec.ts index 660d60e7e..097220461 100644 --- a/src/revisions/revisions.service.spec.ts +++ b/src/revisions/revisions.service.spec.ts @@ -3,29 +3,29 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; + +import { AuthToken } from '../auth/auth-token.entity'; import { Author } from '../authors/author.entity'; import { AuthorsModule } from '../authors/authors.module'; +import appConfigMock from '../config/mock/app.config.mock'; import { NotInDBError } from '../errors/errors'; +import { Group } from '../groups/group.entity'; import { LoggerModule } from '../logger/logger.module'; import { Note } from '../notes/note.entity'; import { NotesModule } from '../notes/notes.module'; -import { AuthToken } from '../auth/auth-token.entity'; +import { Tag } from '../notes/tag.entity'; +import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; +import { NoteUserPermission } from '../permissions/note-user-permission.entity'; import { Identity } from '../users/identity.entity'; import { Session } from '../users/session.entity'; import { User } from '../users/user.entity'; import { Edit } from './edit.entity'; import { Revision } from './revision.entity'; import { RevisionsService } from './revisions.service'; -import { Tag } from '../notes/tag.entity'; -import { NoteGroupPermission } from '../permissions/note-group-permission.entity'; -import { NoteUserPermission } from '../permissions/note-user-permission.entity'; -import { Group } from '../groups/group.entity'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; describe('RevisionsService', () => { let service: RevisionsService; diff --git a/src/revisions/revisions.service.ts b/src/revisions/revisions.service.ts index 0655a441a..63e6402a1 100644 --- a/src/revisions/revisions.service.ts +++ b/src/revisions/revisions.service.ts @@ -3,17 +3,17 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { forwardRef, Inject, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; + +import { NotInDBError } from '../errors/errors'; import { ConsoleLoggerService } from '../logger/console-logger.service'; +import { Note } from '../notes/note.entity'; import { NotesService } from '../notes/notes.service'; import { RevisionMetadataDto } from './revision-metadata.dto'; import { RevisionDto } from './revision.dto'; import { Revision } from './revision.entity'; -import { Note } from '../notes/note.entity'; -import { NotInDBError } from '../errors/errors'; @Injectable() export class RevisionsService { diff --git a/src/seed.ts b/src/seed.ts index 97cc94c52..d866f01e3 100644 --- a/src/seed.ts +++ b/src/seed.ts @@ -3,22 +3,22 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { createConnection } from 'typeorm'; + +import { AuthToken } from './auth/auth-token.entity'; import { Author } from './authors/author.entity'; -import { Session } from './users/session.entity'; -import { User } from './users/user.entity'; -import { Note } from './notes/note.entity'; -import { Revision } from './revisions/revision.entity'; -import { Edit } from './revisions/edit.entity'; -import { NoteGroupPermission } from './permissions/note-group-permission.entity'; -import { NoteUserPermission } from './permissions/note-user-permission.entity'; import { Group } from './groups/group.entity'; import { HistoryEntry } from './history/history-entry.entity'; import { MediaUpload } from './media/media-upload.entity'; +import { Note } from './notes/note.entity'; import { Tag } from './notes/tag.entity'; -import { AuthToken } from './auth/auth-token.entity'; +import { NoteGroupPermission } from './permissions/note-group-permission.entity'; +import { NoteUserPermission } from './permissions/note-user-permission.entity'; +import { Edit } from './revisions/edit.entity'; +import { Revision } from './revisions/revision.entity'; import { Identity } from './users/identity.entity'; +import { Session } from './users/session.entity'; +import { User } from './users/user.entity'; /** * This function creates and populates a sqlite db for manual testing diff --git a/src/users/identity.entity.ts b/src/users/identity.entity.ts index 8cbe0f230..95c25e89c 100644 --- a/src/users/identity.entity.ts +++ b/src/users/identity.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Column, CreateDateColumn, @@ -12,6 +11,7 @@ import { PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm'; + import { User } from './user.entity'; @Entity() diff --git a/src/users/session.entity.ts b/src/users/session.entity.ts index 9b437296b..b8e466ef8 100644 --- a/src/users/session.entity.ts +++ b/src/users/session.entity.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ISession } from 'connect-typeorm'; import { Column, Entity, Index, ManyToOne, PrimaryColumn } from 'typeorm'; + import { Author } from '../authors/author.entity'; @Entity() diff --git a/src/users/user-info.dto.ts b/src/users/user-info.dto.ts index 8de5bf7d1..c1efc1da7 100644 --- a/src/users/user-info.dto.ts +++ b/src/users/user-info.dto.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ApiProperty } from '@nestjs/swagger'; import { IsString } from 'class-validator'; diff --git a/src/users/user.entity.ts b/src/users/user.entity.ts index d1843db03..9da63d5a9 100644 --- a/src/users/user.entity.ts +++ b/src/users/user.entity.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { CreateDateColumn, Entity, @@ -12,13 +11,14 @@ import { UpdateDateColumn, } from 'typeorm'; import { Column, OneToMany } from 'typeorm'; -import { Author } from '../authors/author.entity'; -import { Note } from '../notes/note.entity'; + import { AuthToken } from '../auth/auth-token.entity'; -import { Identity } from './identity.entity'; +import { Author } from '../authors/author.entity'; import { Group } from '../groups/group.entity'; import { HistoryEntry } from '../history/history-entry.entity'; import { MediaUpload } from '../media/media-upload.entity'; +import { Note } from '../notes/note.entity'; +import { Identity } from './identity.entity'; @Entity() export class User { diff --git a/src/users/users.module.ts b/src/users/users.module.ts index b41bee642..12a926764 100644 --- a/src/users/users.module.ts +++ b/src/users/users.module.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; + import { LoggerModule } from '../logger/logger.module'; import { Identity } from './identity.entity'; import { Session } from './session.entity'; diff --git a/src/users/users.service.spec.ts b/src/users/users.service.spec.ts index da9e3d755..e398af488 100644 --- a/src/users/users.service.spec.ts +++ b/src/users/users.service.spec.ts @@ -3,16 +3,16 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - +import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; + +import appConfigMock from '../config/mock/app.config.mock'; +import { AlreadyInDBError, NotInDBError } from '../errors/errors'; import { LoggerModule } from '../logger/logger.module'; import { User } from './user.entity'; import { UsersService } from './users.service'; -import { Repository } from 'typeorm'; -import { AlreadyInDBError, NotInDBError } from '../errors/errors'; -import { ConfigModule } from '@nestjs/config'; -import appConfigMock from '../config/mock/app.config.mock'; describe('UsersService', () => { let service: UsersService; diff --git a/src/users/users.service.ts b/src/users/users.service.ts index f7ce84217..5371b575d 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -3,10 +3,10 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; + import { AlreadyInDBError, NotInDBError } from '../errors/errors'; import { ConsoleLoggerService } from '../logger/console-logger.service'; import { UserInfoDto } from './user-info.dto'; diff --git a/src/utils/serverVersion.spec.ts b/src/utils/serverVersion.spec.ts index 119cc2611..aa17ccfea 100644 --- a/src/utils/serverVersion.spec.ts +++ b/src/utils/serverVersion.spec.ts @@ -3,8 +3,8 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { promises as fs } from 'fs'; + import { getServerVersionFromPackageJson } from './serverVersion'; it('getServerVersionFromPackageJson works', async () => { diff --git a/src/utils/serverVersion.ts b/src/utils/serverVersion.ts index bfdc4f0fc..a5b39fd9b 100644 --- a/src/utils/serverVersion.ts +++ b/src/utils/serverVersion.ts @@ -3,11 +3,11 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - -import { ServerVersion } from '../monitoring/server-status.dto'; import { promises as fs } from 'fs'; import { join as joinPath } from 'path'; +import { ServerVersion } from '../monitoring/server-status.dto'; + let versionCache: ServerVersion; export async function getServerVersionFromPackageJson(): Promise { diff --git a/src/utils/swagger.ts b/src/utils/swagger.ts index e242d5397..2398d13ba 100644 --- a/src/utils/swagger.ts +++ b/src/utils/swagger.ts @@ -3,9 +3,9 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { INestApplication } from '@nestjs/common'; import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; + import { PrivateApiModule } from '../api/private/private-api.module'; import { PublicApiModule } from '../api/public/public-api.module'; diff --git a/test/private-api/history.e2e-spec.ts b/test/private-api/history.e2e-spec.ts index 79eb8d0e9..ea548c42c 100644 --- a/test/private-api/history.e2e-spec.ts +++ b/test/private-api/history.e2e-spec.ts @@ -3,31 +3,31 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { INestApplication } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; import request from 'supertest'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; + +import { PrivateApiModule } from '../../src/api/private/private-api.module'; +import { AuthModule } from '../../src/auth/auth.module'; import appConfigMock from '../../src/config/mock/app.config.mock'; import authConfigMock from '../../src/config/mock/auth.config.mock'; import customizationConfigMock from '../../src/config/mock/customization.config.mock'; import externalServicesConfigMock from '../../src/config/mock/external-services.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; import { GroupsModule } from '../../src/groups/groups.module'; +import { HistoryEntryImportDto } from '../../src/history/history-entry-import.dto'; +import { HistoryEntry } from '../../src/history/history-entry.entity'; +import { HistoryService } from '../../src/history/history.service'; import { LoggerModule } from '../../src/logger/logger.module'; +import { Note } from '../../src/notes/note.entity'; import { NotesModule } from '../../src/notes/notes.module'; import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { UsersService } from '../../src/users/users.service'; import { User } from '../../src/users/user.entity'; import { UsersModule } from '../../src/users/users.module'; -import { PrivateApiModule } from '../../src/api/private/private-api.module'; -import { HistoryService } from '../../src/history/history.service'; -import { Note } from '../../src/notes/note.entity'; -import { HistoryEntryImportDto } from '../../src/history/history-entry-import.dto'; -import { HistoryEntry } from '../../src/history/history-entry.entity'; +import { UsersService } from '../../src/users/users.service'; describe('History', () => { let app: INestApplication; diff --git a/test/private-api/me.e2e-spec.ts b/test/private-api/me.e2e-spec.ts index f4943f2e8..3c7a2ca7e 100644 --- a/test/private-api/me.e2e-spec.ts +++ b/test/private-api/me.e2e-spec.ts @@ -8,34 +8,34 @@ @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */ - import { INestApplication } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { promises as fs } from 'fs'; import request from 'supertest'; + +import { PrivateApiModule } from '../../src/api/private/private-api.module'; +import { AuthModule } from '../../src/auth/auth.module'; import appConfigMock from '../../src/config/mock/app.config.mock'; import authConfigMock from '../../src/config/mock/auth.config.mock'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; import customizationConfigMock from '../../src/config/mock/customization.config.mock'; import externalServicesConfigMock from '../../src/config/mock/external-services.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; +import { NotInDBError } from '../../src/errors/errors'; import { GroupsModule } from '../../src/groups/groups.module'; +import { HistoryModule } from '../../src/history/history.module'; import { LoggerModule } from '../../src/logger/logger.module'; +import { MediaModule } from '../../src/media/media.module'; +import { MediaService } from '../../src/media/media.service'; +import { Note } from '../../src/notes/note.entity'; import { NotesModule } from '../../src/notes/notes.module'; +import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { UsersService } from '../../src/users/users.service'; +import { UserInfoDto } from '../../src/users/user-info.dto'; import { User } from '../../src/users/user.entity'; import { UsersModule } from '../../src/users/users.module'; -import { PrivateApiModule } from '../../src/api/private/private-api.module'; -import { UserInfoDto } from '../../src/users/user-info.dto'; -import { MediaModule } from '../../src/media/media.module'; -import { HistoryModule } from '../../src/history/history.module'; -import { NotInDBError } from '../../src/errors/errors'; -import { promises as fs } from 'fs'; -import { Note } from '../../src/notes/note.entity'; -import { NotesService } from '../../src/notes/notes.service'; -import { MediaService } from '../../src/media/media.service'; +import { UsersService } from '../../src/users/users.service'; describe('Me', () => { let app: INestApplication; diff --git a/test/private-api/media.e2e-spec.ts b/test/private-api/media.e2e-spec.ts index 8639616a9..78c930516 100644 --- a/test/private-api/media.e2e-spec.ts +++ b/test/private-api/media.e2e-spec.ts @@ -3,29 +3,29 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ConfigModule, ConfigService } from '@nestjs/config'; import { NestExpressApplication } from '@nestjs/platform-express'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; import { promises as fs } from 'fs'; +import { join } from 'path'; import request from 'supertest'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; + +import { PrivateApiModule } from '../../src/api/private/private-api.module'; +import { AuthModule } from '../../src/auth/auth.module'; import appConfigMock from '../../src/config/mock/app.config.mock'; import authConfigMock from '../../src/config/mock/auth.config.mock'; import customizationConfigMock from '../../src/config/mock/customization.config.mock'; import externalConfigMock from '../../src/config/mock/external-services.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; import { GroupsModule } from '../../src/groups/groups.module'; +import { ConsoleLoggerService } from '../../src/logger/console-logger.service'; import { LoggerModule } from '../../src/logger/logger.module'; import { MediaModule } from '../../src/media/media.module'; import { NotesModule } from '../../src/notes/notes.module'; import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { join } from 'path'; -import { PrivateApiModule } from '../../src/api/private/private-api.module'; import { UsersService } from '../../src/users/users.service'; -import { ConsoleLoggerService } from '../../src/logger/console-logger.service'; import { ensureDeleted } from '../utils'; describe('Media', () => { diff --git a/test/private-api/notes.e2e-spec.ts b/test/private-api/notes.e2e-spec.ts index 515c23afb..65ced873e 100644 --- a/test/private-api/notes.e2e-spec.ts +++ b/test/private-api/notes.e2e-spec.ts @@ -3,31 +3,31 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { INestApplication } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { promises as fs } from 'fs'; +import { join } from 'path'; import request from 'supertest'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; + +import { PrivateApiModule } from '../../src/api/private/private-api.module'; +import { AuthModule } from '../../src/auth/auth.module'; import appConfigMock from '../../src/config/mock/app.config.mock'; import authConfigMock from '../../src/config/mock/auth.config.mock'; import customizationConfigMock from '../../src/config/mock/customization.config.mock'; import externalConfigMock from '../../src/config/mock/external-services.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; import { NotInDBError } from '../../src/errors/errors'; import { GroupsModule } from '../../src/groups/groups.module'; import { LoggerModule } from '../../src/logger/logger.module'; +import { MediaService } from '../../src/media/media.service'; import { NotesModule } from '../../src/notes/notes.module'; import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { UsersService } from '../../src/users/users.service'; import { User } from '../../src/users/user.entity'; import { UsersModule } from '../../src/users/users.module'; -import { promises as fs } from 'fs'; -import { MediaService } from '../../src/media/media.service'; -import { PrivateApiModule } from '../../src/api/private/private-api.module'; -import { join } from 'path'; +import { UsersService } from '../../src/users/users.service'; describe('Notes', () => { let app: INestApplication; diff --git a/test/public-api/me.e2e-spec.ts b/test/public-api/me.e2e-spec.ts index f23a68190..38ed4c5f5 100644 --- a/test/public-api/me.e2e-spec.ts +++ b/test/public-api/me.e2e-spec.ts @@ -3,36 +3,36 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { INestApplication } from '@nestjs/common'; +import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test } from '@nestjs/testing'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { promises as fs } from 'fs'; +import { join } from 'path'; import request from 'supertest'; -import { HistoryService } from '../../src/history/history.service'; -import { NotesService } from '../../src/notes/notes.service'; + +import { PublicApiModule } from '../../src/api/public/public-api.module'; +import { AuthModule } from '../../src/auth/auth.module'; +import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; +import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; +import appConfigMock from '../../src/config/mock/app.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; +import { GroupsModule } from '../../src/groups/groups.module'; import { HistoryEntryUpdateDto } from '../../src/history/history-entry-update.dto'; import { HistoryEntryDto } from '../../src/history/history-entry.dto'; import { HistoryEntry } from '../../src/history/history-entry.entity'; -import { UsersService } from '../../src/users/users.service'; -import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; -import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { PublicApiModule } from '../../src/api/public/public-api.module'; -import { NotesModule } from '../../src/notes/notes.module'; -import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { GroupsModule } from '../../src/groups/groups.module'; -import { LoggerModule } from '../../src/logger/logger.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { UsersModule } from '../../src/users/users.module'; import { HistoryModule } from '../../src/history/history.module'; -import { ConfigModule, ConfigService } from '@nestjs/config'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; -import appConfigMock from '../../src/config/mock/app.config.mock'; -import { User } from '../../src/users/user.entity'; -import { MediaService } from '../../src/media/media.service'; +import { HistoryService } from '../../src/history/history.service'; +import { LoggerModule } from '../../src/logger/logger.module'; import { MediaModule } from '../../src/media/media.module'; -import { promises as fs } from 'fs'; +import { MediaService } from '../../src/media/media.service'; import { NoteMetadataDto } from '../../src/notes/note-metadata.dto'; -import { join } from 'path'; +import { NotesModule } from '../../src/notes/notes.module'; +import { NotesService } from '../../src/notes/notes.service'; +import { PermissionsModule } from '../../src/permissions/permissions.module'; +import { User } from '../../src/users/user.entity'; +import { UsersModule } from '../../src/users/users.module'; +import { UsersService } from '../../src/users/users.service'; // TODO Tests have to be reworked using UserService functions @@ -104,7 +104,7 @@ describe('Me', () => { .get('/me/history') .expect('Content-Type', /json/) .expect(200); - const history = response.body; + const history: HistoryEntryDto[] = response.body; expect(history.length).toEqual(1); const historyDto = historyService.toHistoryEntryDto(createdHistoryEntry); for (const historyEntry of history) { @@ -128,7 +128,7 @@ describe('Me', () => { .get(`/me/history/${noteName}`) .expect('Content-Type', /json/) .expect(200); - const historyEntry = response.body; + const historyEntry: HistoryEntryDto = response.body; const historyEntryDto = historyService.toHistoryEntryDto(createdHistoryEntry); expect(historyEntry.identifier).toEqual(historyEntryDto.identifier); diff --git a/test/public-api/media.e2e-spec.ts b/test/public-api/media.e2e-spec.ts index 2b8df0b85..04a984f33 100644 --- a/test/public-api/media.e2e-spec.ts +++ b/test/public-api/media.e2e-spec.ts @@ -3,28 +3,28 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { ConfigModule, ConfigService } from '@nestjs/config'; import { NestExpressApplication } from '@nestjs/platform-express'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; import { promises as fs } from 'fs'; +import { join } from 'path'; import request from 'supertest'; + import { PublicApiModule } from '../../src/api/public/public-api.module'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; +import { AuthModule } from '../../src/auth/auth.module'; +import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; +import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; import appConfigMock from '../../src/config/mock/app.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; import { GroupsModule } from '../../src/groups/groups.module'; +import { ConsoleLoggerService } from '../../src/logger/console-logger.service'; import { LoggerModule } from '../../src/logger/logger.module'; import { MediaModule } from '../../src/media/media.module'; import { MediaService } from '../../src/media/media.service'; import { NotesModule } from '../../src/notes/notes.module'; import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; -import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; -import { join } from 'path'; -import { ConsoleLoggerService } from '../../src/logger/console-logger.service'; import { ensureDeleted } from '../utils'; describe('Media', () => { diff --git a/test/public-api/notes.e2e-spec.ts b/test/public-api/notes.e2e-spec.ts index 6a12bd731..61abb79eb 100644 --- a/test/public-api/notes.e2e-spec.ts +++ b/test/public-api/notes.e2e-spec.ts @@ -3,31 +3,31 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { INestApplication } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { Test } from '@nestjs/testing'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { promises as fs } from 'fs'; +import { join } from 'path'; import request from 'supertest'; + import { PublicApiModule } from '../../src/api/public/public-api.module'; -import mediaConfigMock from '../../src/config/mock/media.config.mock'; +import { AuthModule } from '../../src/auth/auth.module'; +import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; +import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; import appConfigMock from '../../src/config/mock/app.config.mock'; +import mediaConfigMock from '../../src/config/mock/media.config.mock'; import { NotInDBError } from '../../src/errors/errors'; import { GroupsModule } from '../../src/groups/groups.module'; import { LoggerModule } from '../../src/logger/logger.module'; +import { MediaService } from '../../src/media/media.service'; +import { NotePermissionsUpdateDto } from '../../src/notes/note-permissions.dto'; import { NotesModule } from '../../src/notes/notes.module'; import { NotesService } from '../../src/notes/notes.service'; import { PermissionsModule } from '../../src/permissions/permissions.module'; -import { AuthModule } from '../../src/auth/auth.module'; -import { TokenAuthGuard } from '../../src/auth/token-auth.guard'; -import { MockAuthGuard } from '../../src/auth/mock-auth.guard'; -import { UsersService } from '../../src/users/users.service'; import { User } from '../../src/users/user.entity'; import { UsersModule } from '../../src/users/users.module'; -import { promises as fs } from 'fs'; -import { MediaService } from '../../src/media/media.service'; -import { NotePermissionsUpdateDto } from '../../src/notes/note-permissions.dto'; -import { join } from 'path'; +import { UsersService } from '../../src/users/users.service'; describe('Notes', () => { let app: INestApplication; diff --git a/test/utils.ts b/test/utils.ts index 90caccdc2..9c00f0bcf 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -3,7 +3,6 @@ * * SPDX-License-Identifier: AGPL-3.0-only */ - import { promises as fs } from 'fs'; /**