From 81fb90ef67146e02b98ec737cda38070dc38cc40 Mon Sep 17 00:00:00 2001 From: Max Bischof Date: Fri, 7 Mar 2025 13:13:07 +0100 Subject: [PATCH 1/4] Move submission entity to task module --- .../modules/authorization-rules/rules/lesson.rule.spec.ts | 4 ++-- .../authorization-rules/rules/submission.rule.spec.ts | 4 ++-- .../modules/authorization-rules/rules/submission.rule.ts | 2 +- .../modules/authorization-rules/rules/task.rule.spec.ts | 4 ++-- .../domain/service/authorization.helper.spec.ts | 4 ++-- apps/server/src/modules/board/board.entity.imports.ts | 3 +-- .../src/modules/files-storage-client/interfaces/types.ts | 3 +-- .../mapper/copy-files-of-parent-param.builder.spec.ts | 4 ++-- .../mapper/files-storage-client.mapper.ts | 3 +-- .../mapper/files-storage-param.builder.spec.ts | 4 ++-- .../service/copy-files.service.spec.ts | 4 ++-- .../service/files-storage-client.service.spec.ts | 4 ++-- .../learnroom/mapper/room-board-response.mapper.spec.ts | 4 ++-- .../learnroom/repo/mikro-orm/legacy-board.entity.spec.ts | 4 ++-- .../learnroom/repo/mikro-orm/legacy-board.repo.spec.ts | 4 ++-- .../learnroom/repo/mikro-orm/lesson-board-element.spec.ts | 4 ++-- .../learnroom/repo/mikro-orm/task-board-element.spec.ts | 4 ++-- .../modules/learnroom/service/board-copy.service.spec.ts | 4 ++-- .../learnroom/service/course-rooms.service.spec.ts | 4 ++-- .../src/modules/learnroom/uc/course-rooms.uc.spec.ts | 4 ++-- .../src/modules/learnroom/uc/lesson-copy.uc.spec.ts | 4 ++-- .../modules/learnroom/uc/room-board-dto.factory.spec.ts | 4 ++-- .../learnroom/uc/rooms.authorisation.service.spec.ts | 4 ++-- .../lesson/controller/mapper/lesson.mapper.spec.ts | 4 ++-- .../src/modules/lesson/repository/lesson.entity.spec.ts | 4 ++-- .../lesson/repository/lesson.repo.integration.spec.ts | 4 ++-- .../modules/lesson/service/lesson-copy.service.spec.ts | 4 ++-- .../src/modules/lesson/service/lesson.service.spec.ts | 4 ++-- apps/server/src/modules/lesson/uc/lesson.uc.spec.ts | 4 ++-- .../src/modules/management/management.entity.imports.ts | 3 +-- .../service/url-handler/course-url-handler.spec.ts | 4 ++-- .../service/url-handler/lesson-url-handler.spec.ts | 4 ++-- .../service/url-handler/task-url-handler.spec.ts | 4 ++-- .../src/modules/server/admin-api-server.entity.imports.ts | 3 +-- apps/server/src/modules/server/server.entity.imports.ts | 3 +-- .../modules/sharing/service/share-token.service.spec.ts | 4 ++-- apps/server/src/modules/sharing/uc/share-token.uc.spec.ts | 4 ++-- .../src/modules/task/api/mapper/submission.mapper.spec.ts | 4 ++-- .../src/modules/task/api/mapper/submission.mapper.ts | 2 +- .../src/modules/task/api/mapper/task.mapper.spec.ts | 4 ++-- apps/server/src/modules/task/api/submission.uc.spec.ts | 4 ++-- apps/server/src/modules/task/api/submission.uc.ts | 2 +- apps/server/src/modules/task/api/task-copy.uc.spec.ts | 8 ++++---- apps/server/src/modules/task/api/task.uc.spec.ts | 4 ++-- .../src/modules/task/api/test/submission.api.spec.ts | 2 +- .../task/domain/service/submission.service.spec.ts | 4 ++-- .../src/modules/task/domain/service/submission.service.ts | 2 +- .../modules/task/domain/service/task-copy.service.spec.ts | 4 ++-- .../src/modules/task/domain/service/task.service.spec.ts | 4 ++-- apps/server/src/modules/task/repo/index.ts | 1 + .../task/repo}/submission.entity.spec.ts | 6 +++--- .../entity => modules/task/repo}/submission.entity.ts | 6 +++--- apps/server/src/modules/task/repo/task.entity.spec.ts | 3 ++- apps/server/src/modules/task/repo/task.entity.ts | 3 ++- .../src/modules/task/repo/task.repo.integration.spec.ts | 5 +++-- .../modules/tool/common/uc/tool-permission-helper.spec.ts | 4 ++-- .../authorisation/context-external-tool.rule.spec.ts | 4 ++-- apps/server/src/shared/domain/entity/index.ts | 1 - apps/server/src/shared/repo/submission/submission.repo.ts | 2 +- apps/server/src/testing/factory/submission.factory.ts | 2 +- 60 files changed, 109 insertions(+), 112 deletions(-) rename apps/server/src/{shared/domain/entity => modules/task/repo}/submission.entity.spec.ts (99%) rename apps/server/src/{shared/domain/entity => modules/task/repo}/submission.entity.ts (96%) diff --git a/apps/server/src/modules/authorization-rules/rules/lesson.rule.spec.ts b/apps/server/src/modules/authorization-rules/rules/lesson.rule.spec.ts index 425dfbd162d..7a6f1133c4f 100644 --- a/apps/server/src/modules/authorization-rules/rules/lesson.rule.spec.ts +++ b/apps/server/src/modules/authorization-rules/rules/lesson.rule.spec.ts @@ -10,12 +10,12 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { NotImplementedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission, RoleName } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; diff --git a/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts b/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts index 4d7991e5637..b82a1ab1aba 100644 --- a/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts +++ b/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts @@ -7,13 +7,13 @@ import { import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { NotImplementedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; diff --git a/apps/server/src/modules/authorization-rules/rules/submission.rule.ts b/apps/server/src/modules/authorization-rules/rules/submission.rule.ts index f701dcbecb7..45f9079af96 100644 --- a/apps/server/src/modules/authorization-rules/rules/submission.rule.ts +++ b/apps/server/src/modules/authorization-rules/rules/submission.rule.ts @@ -7,8 +7,8 @@ import { } from '@modules/authorization'; import { User } from '@modules/user/repo'; import { Injectable, NotImplementedException } from '@nestjs/common'; -import { Submission } from '@shared/domain/entity'; import { TaskRule } from './task.rule'; +import { Submission } from '@modules/task/repo'; @Injectable() export class SubmissionRule implements Rule { diff --git a/apps/server/src/modules/authorization-rules/rules/task.rule.spec.ts b/apps/server/src/modules/authorization-rules/rules/task.rule.spec.ts index 76c2ae127c4..4dd7509e644 100644 --- a/apps/server/src/modules/authorization-rules/rules/task.rule.spec.ts +++ b/apps/server/src/modules/authorization-rules/rules/task.rule.spec.ts @@ -4,12 +4,12 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission, RoleName } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; diff --git a/apps/server/src/modules/authorization/domain/service/authorization.helper.spec.ts b/apps/server/src/modules/authorization/domain/service/authorization.helper.spec.ts index 56d147937e4..34dc150a42f 100644 --- a/apps/server/src/modules/authorization/domain/service/authorization.helper.spec.ts +++ b/apps/server/src/modules/authorization/domain/service/authorization.helper.spec.ts @@ -1,11 +1,11 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission, RoleName } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; diff --git a/apps/server/src/modules/board/board.entity.imports.ts b/apps/server/src/modules/board/board.entity.imports.ts index bd653af461b..8b3aa547460 100644 --- a/apps/server/src/modules/board/board.entity.imports.ts +++ b/apps/server/src/modules/board/board.entity.imports.ts @@ -36,7 +36,7 @@ import { } from '@modules/school/repo'; import { ShareToken } from '@modules/sharing/entity/share-token.entity'; import { SystemEntity } from '@modules/system/repo'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { ContextExternalToolEntity, LtiDeepLinkTokenEntity } from '@modules/tool/context-external-tool/repo'; import { ExternalToolEntity } from '@modules/tool/external-tool/repo'; import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/repo'; @@ -48,7 +48,6 @@ import { Material } from '@shared/domain/entity/materials.entity'; import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/news.entity'; import { Role } from '@shared/domain/entity/role.entity'; import { StorageProviderEntity } from '@shared/domain/entity/storageprovider.entity'; -import { Submission } from '@shared/domain/entity/submission.entity'; import { TeamEntity, TeamUserEntity } from '@shared/domain/entity/team.entity'; import { VideoConference } from '@shared/domain/entity/video-conference.entity'; diff --git a/apps/server/src/modules/files-storage-client/interfaces/types.ts b/apps/server/src/modules/files-storage-client/interfaces/types.ts index 4814372f152..9b1d90d3cde 100644 --- a/apps/server/src/modules/files-storage-client/interfaces/types.ts +++ b/apps/server/src/modules/files-storage-client/interfaces/types.ts @@ -1,6 +1,5 @@ import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; -import { Submission } from '@shared/domain/entity'; +import { Submission, Task } from '@modules/task/repo'; export type EntitiesWithFiles = Task | LessonEntity | Submission; export type EntityWithEmbeddedFiles = Task | LessonEntity; diff --git a/apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.spec.ts b/apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.spec.ts index 13b969b192d..9842f5ccae4 100644 --- a/apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.spec.ts +++ b/apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.spec.ts @@ -4,10 +4,10 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { StorageLocation } from '@modules/files-storage/interface'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { CopyFilesOfParentParamBuilder } from './copy-files-of-parent-param.builder'; import { FileParamBuilder } from './files-storage-param.builder'; diff --git a/apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts b/apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts index c1ec2f4d124..395c5604df9 100644 --- a/apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts +++ b/apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts @@ -1,7 +1,6 @@ import { FileRecordParentType } from '@infra/rabbitmq'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; -import { Submission } from '@shared/domain/entity'; +import { Submission, Task } from '@modules/task/repo'; import { CopyFileDto, FileDto } from '../dto'; import { CopyFileDomainObjectProps, EntitiesWithFiles, FileDomainObjectProps } from '../interfaces'; diff --git a/apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.spec.ts b/apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.spec.ts index 7defbe398ff..5efc65d3428 100644 --- a/apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.spec.ts +++ b/apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.spec.ts @@ -3,10 +3,10 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { StorageLocation } from '@modules/files-storage/interface'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { FileParamBuilder } from './files-storage-param.builder'; diff --git a/apps/server/src/modules/files-storage-client/service/copy-files.service.spec.ts b/apps/server/src/modules/files-storage-client/service/copy-files.service.spec.ts index 31d795bab90..a49089949eb 100644 --- a/apps/server/src/modules/files-storage-client/service/copy-files.service.spec.ts +++ b/apps/server/src/modules/files-storage-client/service/copy-files.service.spec.ts @@ -5,10 +5,10 @@ import { courseEntityFactory } from '@modules/course/testing'; import { ComponentProperties, ComponentType, LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; import { schoolEntityFactory } from '@modules/school/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { legacyFileEntityMockFactory } from '@testing/factory/legacy-file-entity-mock.factory'; import { CopyFilesService } from './copy-files.service'; diff --git a/apps/server/src/modules/files-storage-client/service/files-storage-client.service.spec.ts b/apps/server/src/modules/files-storage-client/service/files-storage-client.service.spec.ts index 654afdea146..dcb3f15b513 100644 --- a/apps/server/src/modules/files-storage-client/service/files-storage-client.service.spec.ts +++ b/apps/server/src/modules/files-storage-client/service/files-storage-client.service.spec.ts @@ -15,12 +15,12 @@ import { deletionRequestFactory } from '@modules/deletion/domain/testing'; import { StorageLocation } from '@modules/files-storage/interface'; import { LessonEntity } from '@modules/lesson/repository'; import { schoolEntityFactory } from '@modules/school/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { FileParamBuilder, FilesStorageClientMapper } from '../mapper'; import { CopyFilesOfParentParamBuilder } from '../mapper/copy-files-of-parent-param.builder'; diff --git a/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.spec.ts b/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.spec.ts index 49123598f20..c969d76e178 100644 --- a/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.spec.ts +++ b/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.spec.ts @@ -3,10 +3,10 @@ import { BoardLayout } from '@modules/board'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { BoardElementResponse, SingleColumnBoardResponse } from '../controller/dto'; import { ColumnBoardMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types'; diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.spec.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.spec.ts index 14ece8d731c..895613fe228 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.spec.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.spec.ts @@ -3,11 +3,11 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { BadRequestException } from '@nestjs/common'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { boardFactory, diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.repo.spec.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.repo.spec.ts index 758e2b9db42..f517bfe1c92 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.repo.spec.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.repo.spec.ts @@ -4,9 +4,9 @@ import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; import { SchoolEntity } from '@modules/school/repo'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { boardFactory, lessonBoardElementFactory, taskBoardElementFactory } from '../../testing'; diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/lesson-board-element.spec.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/lesson-board-element.spec.ts index 64df7cdd882..9e6edd2cedd 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/lesson-board-element.spec.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/lesson-board-element.spec.ts @@ -1,8 +1,8 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Submission, Task } from '@modules/task/repo'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { LegacyBoardElementType } from './legacy-board-element.entity'; import { LessonBoardElement } from './lesson-board-element.entity'; diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.spec.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.spec.ts index ad9568352f4..980ce4ff8d2 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.spec.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.spec.ts @@ -1,9 +1,9 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { LegacyBoardElementType } from './legacy-board-element.entity'; import { TaskBoardElement } from './task-board-element.entity'; diff --git a/apps/server/src/modules/learnroom/service/board-copy.service.spec.ts b/apps/server/src/modules/learnroom/service/board-copy.service.spec.ts index 5b99b38552b..e0e5124c548 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.spec.ts @@ -12,13 +12,13 @@ import { LessonCopyService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; import { TaskCopyService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { AuthorizableObject } from '@shared/domain/domain-object'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; import { ColumnBoardNodeRepo, LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; diff --git a/apps/server/src/modules/learnroom/service/course-rooms.service.spec.ts b/apps/server/src/modules/learnroom/service/course-rooms.service.spec.ts index 842fc1c9a60..a2d63ce85f0 100644 --- a/apps/server/src/modules/learnroom/service/course-rooms.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/course-rooms.service.spec.ts @@ -7,12 +7,12 @@ import { LessonService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; import { TaskService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ColumnBoardNodeRepo, LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; import { boardFactory, columnBoardNodeFactory } from '../testing'; diff --git a/apps/server/src/modules/learnroom/uc/course-rooms.uc.spec.ts b/apps/server/src/modules/learnroom/uc/course-rooms.uc.spec.ts index 519b4e7f743..cf52aac63a4 100644 --- a/apps/server/src/modules/learnroom/uc/course-rooms.uc.spec.ts +++ b/apps/server/src/modules/learnroom/uc/course-rooms.uc.spec.ts @@ -4,14 +4,14 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task, TaskRepo } from '@modules/task/repo'; +import { Submission, Task, TaskRepo } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { UserService } from '@modules/user'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { ForbiddenException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; import { CourseRoomsService } from '../service/course-rooms.service'; diff --git a/apps/server/src/modules/learnroom/uc/lesson-copy.uc.spec.ts b/apps/server/src/modules/learnroom/uc/lesson-copy.uc.spec.ts index 92c65b53eab..eea84660fd7 100644 --- a/apps/server/src/modules/learnroom/uc/lesson-copy.uc.spec.ts +++ b/apps/server/src/modules/learnroom/uc/lesson-copy.uc.spec.ts @@ -9,12 +9,12 @@ import { courseEntityFactory } from '@modules/course/testing'; import { LessonCopyService, LessonService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { ForbiddenException, InternalServerErrorException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { LessonCopyUC } from './lesson-copy.uc'; diff --git a/apps/server/src/modules/learnroom/uc/room-board-dto.factory.spec.ts b/apps/server/src/modules/learnroom/uc/room-board-dto.factory.spec.ts index e1e6a8cd5ea..524dadc593a 100644 --- a/apps/server/src/modules/learnroom/uc/room-board-dto.factory.spec.ts +++ b/apps/server/src/modules/learnroom/uc/room-board-dto.factory.spec.ts @@ -6,12 +6,12 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task, TaskWithStatusVo } from '@modules/task/repo'; +import { Submission, Task, TaskWithStatusVo } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { LegacyBoard, LegacyBoardElement } from '../repo'; import { boardFactory, columnboardBoardElementFactory, lessonBoardElementFactory } from '../testing'; diff --git a/apps/server/src/modules/learnroom/uc/rooms.authorisation.service.spec.ts b/apps/server/src/modules/learnroom/uc/rooms.authorisation.service.spec.ts index 218dbe390ba..b6a21ab51c6 100644 --- a/apps/server/src/modules/learnroom/uc/rooms.authorisation.service.spec.ts +++ b/apps/server/src/modules/learnroom/uc/rooms.authorisation.service.spec.ts @@ -2,13 +2,13 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { NotImplementedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { CourseRoomsAuthorisationService } from './course-rooms.authorisation.service'; diff --git a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts index ffce956dd9e..834b92dfde2 100644 --- a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts +++ b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts @@ -1,10 +1,10 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { LessonLinkedTaskResponse } from '../dto/lesson-linked-task.response'; diff --git a/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts b/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts index 865bcbf7001..f738c51add4 100644 --- a/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts +++ b/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts @@ -3,10 +3,10 @@ import { ObjectId } from '@mikro-orm/mongodb'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { LernstoreResources } from '@modules/lesson/controller'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; import { lessonFactory } from '../testing'; diff --git a/apps/server/src/modules/lesson/repository/lesson.repo.integration.spec.ts b/apps/server/src/modules/lesson/repository/lesson.repo.integration.spec.ts index ff6c1ed1081..a519d90bfcf 100644 --- a/apps/server/src/modules/lesson/repository/lesson.repo.integration.spec.ts +++ b/apps/server/src/modules/lesson/repository/lesson.repo.integration.spec.ts @@ -1,10 +1,10 @@ import { EntityManager, ObjectId } from '@mikro-orm/mongodb'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; diff --git a/apps/server/src/modules/lesson/service/lesson-copy.service.spec.ts b/apps/server/src/modules/lesson/service/lesson-copy.service.spec.ts index 83aaf6a5978..f7523be2bb1 100644 --- a/apps/server/src/modules/lesson/service/lesson-copy.service.spec.ts +++ b/apps/server/src/modules/lesson/service/lesson-copy.service.spec.ts @@ -5,13 +5,13 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { CopyFilesService } from '@modules/files-storage-client'; import { TaskCopyService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { AuthorizableObject } from '@shared/domain/domain-object'; -import { BaseEntity, Material, Submission } from '@shared/domain/entity'; +import { BaseEntity, Material } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; diff --git a/apps/server/src/modules/lesson/service/lesson.service.spec.ts b/apps/server/src/modules/lesson/service/lesson.service.spec.ts index 76002bf7278..0fcac0f435e 100644 --- a/apps/server/src/modules/lesson/service/lesson.service.spec.ts +++ b/apps/server/src/modules/lesson/service/lesson.service.spec.ts @@ -13,10 +13,10 @@ import { } from '@modules/deletion'; import { deletionRequestFactory } from '@modules/deletion/domain/testing'; import { FilesStorageClientAdapterService } from '@modules/files-storage-client'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ComponentProperties, ComponentType, LessonEntity, LessonRepo } from '../repository'; import { lessonFactory } from '../testing'; diff --git a/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts b/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts index d08c3c6944a..7d65534ea57 100644 --- a/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts +++ b/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts @@ -3,11 +3,11 @@ import { AuthorizationContextBuilder, AuthorizationService } from '@modules/auth import { CourseService } from '@modules/course'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { LessonEntity } from '../repository'; diff --git a/apps/server/src/modules/management/management.entity.imports.ts b/apps/server/src/modules/management/management.entity.imports.ts index 4b6fb357d35..228d12900b3 100644 --- a/apps/server/src/modules/management/management.entity.imports.ts +++ b/apps/server/src/modules/management/management.entity.imports.ts @@ -38,7 +38,7 @@ import { } from '@modules/school/repo'; import { ShareToken } from '@modules/sharing/entity/share-token.entity'; import { SystemEntity } from '@modules/system/repo'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { ContextExternalToolEntity, LtiDeepLinkTokenEntity } from '@modules/tool/context-external-tool/repo'; import { ExternalToolEntity } from '@modules/tool/external-tool/repo'; import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/repo'; @@ -50,7 +50,6 @@ import { Material } from '@shared/domain/entity/materials.entity'; import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/news.entity'; import { Role } from '@shared/domain/entity/role.entity'; import { StorageProviderEntity } from '@shared/domain/entity/storageprovider.entity'; -import { Submission } from '@shared/domain/entity/submission.entity'; import { TeamEntity, TeamUserEntity } from '@shared/domain/entity/team.entity'; import { VideoConference } from '@shared/domain/entity/video-conference.entity'; diff --git a/apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.spec.ts b/apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.spec.ts index ad77f94a29f..7ac147d8f6a 100644 --- a/apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.spec.ts +++ b/apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.spec.ts @@ -3,9 +3,9 @@ import { CourseService } from '@modules/course'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ObjectId } from 'bson'; import { MetaDataEntityType } from '../../types'; diff --git a/apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.spec.ts b/apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.spec.ts index f67fa0df616..45800cfdd55 100644 --- a/apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.spec.ts +++ b/apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.spec.ts @@ -3,9 +3,9 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ObjectId } from 'bson'; import { MetaDataEntityType } from '../../types'; diff --git a/apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.spec.ts b/apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.spec.ts index b113ce73028..a7b47be179f 100644 --- a/apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.spec.ts +++ b/apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.spec.ts @@ -2,11 +2,11 @@ import { createMock, DeepMocked } from '@golevelup/ts-jest'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { TaskService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ObjectId } from 'bson'; import { MetaDataEntityType } from '../../types'; diff --git a/apps/server/src/modules/server/admin-api-server.entity.imports.ts b/apps/server/src/modules/server/admin-api-server.entity.imports.ts index 4a3afc1bff5..b8ef5ce3c6e 100644 --- a/apps/server/src/modules/server/admin-api-server.entity.imports.ts +++ b/apps/server/src/modules/server/admin-api-server.entity.imports.ts @@ -12,7 +12,7 @@ import { RegistrationPinEntity } from '@modules/registration-pin/entity'; import { RocketChatUserEntity } from '@modules/rocketchat-user/entity'; import { RoomMembershipEntity } from '@modules/room-membership'; import { FederalStateEntity, SchoolEntity, SchoolYearEntity } from '@modules/school/repo'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { ContextExternalToolEntity, LtiDeepLinkTokenEntity } from '@modules/tool/context-external-tool/repo'; import { ExternalToolEntity } from '@modules/tool/external-tool/repo'; import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/repo'; @@ -25,7 +25,6 @@ import { Role, SchoolNews, StorageProviderEntity, - Submission, TeamEntity, TeamNews, } from '@shared/domain/entity'; diff --git a/apps/server/src/modules/server/server.entity.imports.ts b/apps/server/src/modules/server/server.entity.imports.ts index 5c901a82b61..01b70f9941e 100644 --- a/apps/server/src/modules/server/server.entity.imports.ts +++ b/apps/server/src/modules/server/server.entity.imports.ts @@ -36,7 +36,7 @@ import { } from '@modules/school/repo'; import { ShareToken } from '@modules/sharing/entity/share-token.entity'; import { SystemEntity } from '@modules/system/repo'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { ContextExternalToolEntity, LtiDeepLinkTokenEntity } from '@modules/tool/context-external-tool/repo'; import { ExternalToolEntity } from '@modules/tool/external-tool/repo'; import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/repo'; @@ -48,7 +48,6 @@ import { Material } from '@shared/domain/entity/materials.entity'; import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/news.entity'; import { Role } from '@shared/domain/entity/role.entity'; import { StorageProviderEntity } from '@shared/domain/entity/storageprovider.entity'; -import { Submission } from '@shared/domain/entity/submission.entity'; import { TeamEntity, TeamUserEntity } from '@shared/domain/entity/team.entity'; import { VideoConference } from '@shared/domain/entity/video-conference.entity'; diff --git a/apps/server/src/modules/sharing/service/share-token.service.spec.ts b/apps/server/src/modules/sharing/service/share-token.service.spec.ts index 960e13df4b9..b10a06880b5 100644 --- a/apps/server/src/modules/sharing/service/share-token.service.spec.ts +++ b/apps/server/src/modules/sharing/service/share-token.service.spec.ts @@ -9,12 +9,12 @@ import { LessonEntity } from '@modules/lesson/repository'; import { LessonService } from '@modules/lesson/service'; import { lessonFactory } from '@modules/lesson/testing'; import { TaskService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { NotFoundException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ShareTokenContextType, ShareTokenParentType } from '../domainobject/share-token.do'; import { ShareTokenRepo } from '../repo/share-token.repo'; diff --git a/apps/server/src/modules/sharing/uc/share-token.uc.spec.ts b/apps/server/src/modules/sharing/uc/share-token.uc.spec.ts index 964e1439756..07141238037 100644 --- a/apps/server/src/modules/sharing/uc/share-token.uc.spec.ts +++ b/apps/server/src/modules/sharing/uc/share-token.uc.spec.ts @@ -19,14 +19,14 @@ import { RoomMembershipService } from '@modules/room-membership'; import { SchoolService } from '@modules/school'; import { schoolEntityFactory, schoolFactory } from '@modules/school/testing'; import { TaskCopyService, TaskService } from '@modules/task'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { BadRequestException, NotImplementedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { FeatureDisabledLoggableException } from '@shared/common/loggable-exception'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { ShareTokenContextType, ShareTokenParentType, ShareTokenPayload } from '../domainobject/share-token.do'; diff --git a/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts index 9a80a7dabae..ee7eb355209 100644 --- a/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts +++ b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts @@ -1,10 +1,10 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { Task } from '../../repo'; +import { Submission, Task } from '../../repo'; import { SubmissionStatusResponse } from '../dto'; import { SubmissionMapper } from './submission.mapper'; diff --git a/apps/server/src/modules/task/api/mapper/submission.mapper.ts b/apps/server/src/modules/task/api/mapper/submission.mapper.ts index f5031deb1f6..55de123517f 100644 --- a/apps/server/src/modules/task/api/mapper/submission.mapper.ts +++ b/apps/server/src/modules/task/api/mapper/submission.mapper.ts @@ -1,4 +1,4 @@ -import { Submission } from '@shared/domain/entity'; +import { Submission } from '../../repo'; import { SubmissionStatusResponse } from '../dto'; export class SubmissionMapper { diff --git a/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts b/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts index 0a0471adbc8..431d2fbda03 100644 --- a/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts +++ b/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts @@ -2,11 +2,11 @@ import { ObjectId } from '@mikro-orm/mongodb'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { InputFormat } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; import { TaskStatus, TaskUpdate } from '../../domain'; -import { Task, TaskParentDescriptions } from '../../repo'; +import { Submission, Task, TaskParentDescriptions } from '../../repo'; import { taskFactory } from '../../testing'; import { TaskCreateParams, TaskResponse, TaskStatusResponse, TaskUpdateParams } from '../dto'; import { TaskMapper } from './task.mapper'; diff --git a/apps/server/src/modules/task/api/submission.uc.spec.ts b/apps/server/src/modules/task/api/submission.uc.spec.ts index 2cce5e2c4d8..d275ff95ac4 100644 --- a/apps/server/src/modules/task/api/submission.uc.spec.ts +++ b/apps/server/src/modules/task/api/submission.uc.spec.ts @@ -5,13 +5,13 @@ import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { Counted } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { SubmissionService } from '../domain'; -import { Task } from '../repo'; +import { Submission, Task } from '../repo'; import { taskFactory } from '../testing'; import { SubmissionUc } from './submission.uc'; diff --git a/apps/server/src/modules/task/api/submission.uc.ts b/apps/server/src/modules/task/api/submission.uc.ts index e3de6e35db8..8d45fd7b61b 100644 --- a/apps/server/src/modules/task/api/submission.uc.ts +++ b/apps/server/src/modules/task/api/submission.uc.ts @@ -1,10 +1,10 @@ import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; -import { Submission } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; import { SubmissionService } from '../domain'; +import { Submission } from '../repo'; @Injectable() export class SubmissionUc { diff --git a/apps/server/src/modules/task/api/task-copy.uc.spec.ts b/apps/server/src/modules/task/api/task-copy.uc.spec.ts index 6734d9cd31e..4d46e032d74 100644 --- a/apps/server/src/modules/task/api/task-copy.uc.spec.ts +++ b/apps/server/src/modules/task/api/task-copy.uc.spec.ts @@ -14,13 +14,13 @@ import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { ForbiddenException, InternalServerErrorException, NotFoundException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { Task, TaskRepo } from '../repo'; -import { taskFactory } from '../testing'; -import { TaskCopyUC } from './task-copy.uc'; import { TaskCopyService } from '../domain'; +import { Submission, Task, TaskRepo } from '../repo'; +import { taskFactory } from '../testing'; import { TaskCopyParentParams } from './dto'; +import { TaskCopyUC } from './task-copy.uc'; describe('task copy uc', () => { let uc: TaskCopyUC; diff --git a/apps/server/src/modules/task/api/task.uc.spec.ts b/apps/server/src/modules/task/api/task.uc.spec.ts index cb11d376f6c..769abdcc915 100644 --- a/apps/server/src/modules/task/api/task.uc.spec.ts +++ b/apps/server/src/modules/task/api/task.uc.spec.ts @@ -11,13 +11,13 @@ import { userFactory } from '@modules/user/testing'; import { ForbiddenException, UnauthorizedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { PaginationParams } from '@shared/controller/dto'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission, SortOrder } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; import { submissionFactory } from '@testing/factory/submission.factory'; import { TaskService, TaskStatus } from '../domain'; -import { Task, TaskRepo } from '../repo'; +import { Submission, Task, TaskRepo } from '../repo'; import { taskFactory } from '../testing'; import { TaskUC } from './task.uc'; diff --git a/apps/server/src/modules/task/api/test/submission.api.spec.ts b/apps/server/src/modules/task/api/test/submission.api.spec.ts index 3db9afbd3c3..7c662b39e0c 100644 --- a/apps/server/src/modules/task/api/test/submission.api.spec.ts +++ b/apps/server/src/modules/task/api/test/submission.api.spec.ts @@ -6,11 +6,11 @@ import { ServerTestModule } from '@modules/server/server.app.module'; import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { ApiValidationError } from '@shared/common/error'; -import { Submission } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { submissionFactory } from '@testing/factory/submission.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { Submission } from '../../repo'; import { taskFactory } from '../../testing'; import { SubmissionStatusListResponse } from '../dto'; diff --git a/apps/server/src/modules/task/domain/service/submission.service.spec.ts b/apps/server/src/modules/task/domain/service/submission.service.spec.ts index a6b0047bc94..889931a9705 100644 --- a/apps/server/src/modules/task/domain/service/submission.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.spec.ts @@ -17,13 +17,13 @@ import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Counted } from '@shared/domain/types'; import { SubmissionRepo } from '@shared/repo/submission'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { ObjectId } from 'bson'; -import { Task } from '../../repo'; +import { Submission, Task } from '../../repo'; import { taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; diff --git a/apps/server/src/modules/task/domain/service/submission.service.ts b/apps/server/src/modules/task/domain/service/submission.service.ts index 855f720ccbd..6d6a431b2b6 100644 --- a/apps/server/src/modules/task/domain/service/submission.service.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.ts @@ -16,9 +16,9 @@ import { import { FilesStorageClientAdapterService } from '@modules/files-storage-client'; import { Injectable } from '@nestjs/common'; import { EventBus, EventsHandler, IEventHandler } from '@nestjs/cqrs'; -import { Submission } from '@shared/domain/entity'; import { Counted, EntityId } from '@shared/domain/types'; import { SubmissionRepo } from '@shared/repo/submission'; +import { Submission } from '../../repo'; @Injectable() @EventsHandler(UserDeletedEvent) diff --git a/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts b/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts index a055e38b294..f3b441db0bb 100644 --- a/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts @@ -9,10 +9,10 @@ import { schoolEntityFactory } from '@modules/school/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { legacyFileEntityMockFactory } from '@testing/factory/legacy-file-entity-mock.factory'; -import { Task, TaskRepo } from '../../repo'; +import { Submission, Task, TaskRepo } from '../../repo'; import { taskFactory } from '../../testing'; import { TaskCopyService } from './task-copy.service'; diff --git a/apps/server/src/modules/task/domain/service/task.service.spec.ts b/apps/server/src/modules/task/domain/service/task.service.spec.ts index ba7c652a1a9..42406003861 100644 --- a/apps/server/src/modules/task/domain/service/task.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/task.service.spec.ts @@ -17,11 +17,11 @@ import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { ObjectId } from 'bson'; -import { Task, TaskRepo } from '../../repo'; +import { Submission, Task, TaskRepo } from '../../repo'; import { taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; import { TaskService } from './task.service'; diff --git a/apps/server/src/modules/task/repo/index.ts b/apps/server/src/modules/task/repo/index.ts index 8544269fd77..fd4b00f38ba 100644 --- a/apps/server/src/modules/task/repo/index.ts +++ b/apps/server/src/modules/task/repo/index.ts @@ -1,3 +1,4 @@ +export * from './submission.entity'; export * from './task-scope'; export * from './task.entity'; export * from './task.repo'; diff --git a/apps/server/src/shared/domain/entity/submission.entity.spec.ts b/apps/server/src/modules/task/repo/submission.entity.spec.ts similarity index 99% rename from apps/server/src/shared/domain/entity/submission.entity.spec.ts rename to apps/server/src/modules/task/repo/submission.entity.spec.ts index dab0efd014f..7abd35e74f1 100644 --- a/apps/server/src/shared/domain/entity/submission.entity.spec.ts +++ b/apps/server/src/modules/task/repo/submission.entity.spec.ts @@ -3,15 +3,15 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseGroupEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { schoolEntityFactory } from '@modules/school/testing'; -import { Task } from '@modules/task/repo'; -import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { InternalServerErrorException } from '@nestjs/common'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { Material } from './materials.entity'; +import { taskFactory } from '../testing'; import { Submission } from './submission.entity'; +import { Task } from './task.entity'; describe('Submission entity', () => { beforeAll(async () => { diff --git a/apps/server/src/shared/domain/entity/submission.entity.ts b/apps/server/src/modules/task/repo/submission.entity.ts similarity index 96% rename from apps/server/src/shared/domain/entity/submission.entity.ts rename to apps/server/src/modules/task/repo/submission.entity.ts index 3d708431480..5846e27739d 100644 --- a/apps/server/src/shared/domain/entity/submission.entity.ts +++ b/apps/server/src/modules/task/repo/submission.entity.ts @@ -1,11 +1,11 @@ import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core'; import { CourseGroupEntity } from '@modules/course/repo'; import { SchoolEntity } from '@modules/school/repo'; -import type { Task } from '@modules/task/repo'; import type { User } from '@modules/user/repo'; import { InternalServerErrorException } from '@nestjs/common'; -import { EntityId } from '../types'; -import { BaseEntityWithTimestamps } from './base.entity'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; +import { EntityId } from '@shared/domain/types'; +import type { Task } from './task.entity'; export interface SubmissionProperties { school: SchoolEntity; diff --git a/apps/server/src/modules/task/repo/task.entity.spec.ts b/apps/server/src/modules/task/repo/task.entity.spec.ts index 337662fd8ef..b4d1c54b6af 100644 --- a/apps/server/src/modules/task/repo/task.entity.spec.ts +++ b/apps/server/src/modules/task/repo/task.entity.spec.ts @@ -6,11 +6,12 @@ import { schoolEntityFactory } from '@modules/school/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { InternalServerErrorException } from '@nestjs/common'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { taskFactory } from '../testing'; import { Task } from './task.entity'; +import { Submission } from './submission.entity'; describe('Task Entity', () => { beforeAll(async () => { diff --git a/apps/server/src/modules/task/repo/task.entity.ts b/apps/server/src/modules/task/repo/task.entity.ts index 8f20f263fed..d6d602bcc1d 100644 --- a/apps/server/src/modules/task/repo/task.entity.ts +++ b/apps/server/src/modules/task/repo/task.entity.ts @@ -4,11 +4,12 @@ import { LessonEntity } from '@modules/lesson/repository'; import { SchoolEntity } from '@modules/school/repo'; import { User } from '@modules/user/repo'; import { InternalServerErrorException } from '@nestjs/common'; -import { BaseEntityWithTimestamps, Submission } from '@shared/domain/entity'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; import { EntityWithSchool } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; import { InputFormat } from '@shared/domain/types/input-format.types'; import { ITask, TaskStatus } from '../domain'; +import { Submission } from './submission.entity'; export class TaskWithStatusVo { task!: Task; diff --git a/apps/server/src/modules/task/repo/task.repo.integration.spec.ts b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts index 8e7da0183bf..2adddcd8f28 100644 --- a/apps/server/src/modules/task/repo/task.repo.integration.spec.ts +++ b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts @@ -5,14 +5,15 @@ import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { SortOrder } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; +import { taskFactory } from '../testing'; +import { Submission } from './submission.entity'; import { Task } from './task.entity'; import { TaskRepo } from './task.repo'; -import { taskFactory } from '../testing'; const yesterday = new Date(Date.now() - 86400000); const tomorrow = new Date(Date.now() + 86400000); diff --git a/apps/server/src/modules/tool/common/uc/tool-permission-helper.spec.ts b/apps/server/src/modules/tool/common/uc/tool-permission-helper.spec.ts index b0543e6ac21..9f16f7a6bba 100644 --- a/apps/server/src/modules/tool/common/uc/tool-permission-helper.spec.ts +++ b/apps/server/src/modules/tool/common/uc/tool-permission-helper.spec.ts @@ -13,12 +13,12 @@ import { CourseService } from '@modules/course'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { ForbiddenException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission } from '@shared/domain/entity'; +import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { ContextExternalTool, ContextRef } from '../../context-external-tool/domain'; diff --git a/apps/server/src/modules/tool/context-external-tool/authorisation/context-external-tool.rule.spec.ts b/apps/server/src/modules/tool/context-external-tool/authorisation/context-external-tool.rule.spec.ts index 5dc1eaa39ce..4765f96e38f 100644 --- a/apps/server/src/modules/tool/context-external-tool/authorisation/context-external-tool.rule.spec.ts +++ b/apps/server/src/modules/tool/context-external-tool/authorisation/context-external-tool.rule.spec.ts @@ -3,11 +3,11 @@ import { Action, AuthorizationHelper, AuthorizationInjectionService } from '@mod import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { schoolEntityFactory } from '@modules/school/testing'; -import { Task } from '@modules/task/repo'; +import { Submission, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Role, Submission } from '@shared/domain/entity'; +import { Material, Role } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; diff --git a/apps/server/src/shared/domain/entity/index.ts b/apps/server/src/shared/domain/entity/index.ts index 1d78f3058b8..e98f2c0eabb 100644 --- a/apps/server/src/shared/domain/entity/index.ts +++ b/apps/server/src/shared/domain/entity/index.ts @@ -4,6 +4,5 @@ export * from './materials.entity'; export * from './news.entity'; export * from './role.entity'; export * from './storageprovider.entity'; -export * from './submission.entity'; export * from './team.entity'; export * from './video-conference.entity'; diff --git a/apps/server/src/shared/repo/submission/submission.repo.ts b/apps/server/src/shared/repo/submission/submission.repo.ts index da8efae271b..d1115e8b990 100644 --- a/apps/server/src/shared/repo/submission/submission.repo.ts +++ b/apps/server/src/shared/repo/submission/submission.repo.ts @@ -1,7 +1,7 @@ import { FilterQuery } from '@mikro-orm/core'; import { CourseGroupEntity } from '@modules/course/repo'; +import { Submission } from '@modules/task/repo'; import { Injectable } from '@nestjs/common'; -import { Submission } from '@shared/domain/entity'; import { Counted, EntityId } from '@shared/domain/types'; import { BaseRepo } from '../base.repo'; diff --git a/apps/server/src/testing/factory/submission.factory.ts b/apps/server/src/testing/factory/submission.factory.ts index dcb2529fff0..946d7061ea7 100644 --- a/apps/server/src/testing/factory/submission.factory.ts +++ b/apps/server/src/testing/factory/submission.factory.ts @@ -5,9 +5,9 @@ import { schoolEntityFactory } from '@modules/school/testing'; import { taskFactory } from '@modules/task/testing'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports import { userFactory } from '@modules/user/testing'; -import { Submission, SubmissionProperties } from '@shared/domain/entity'; import { DeepPartial } from 'fishery'; import { BaseFactory } from './base.factory'; +import { Submission, SubmissionProperties } from '@modules/task/repo'; class SubmissionFactory extends BaseFactory { graded(): this { From 8e8d33fe0fd19e5c2d593721aa887fe2404a1bfb Mon Sep 17 00:00:00 2001 From: Max Bischof Date: Fri, 7 Mar 2025 13:17:51 +0100 Subject: [PATCH 2/4] Move submission repo to task module --- .../authorization-reference.module.ts | 3 +-- .../authorization-reference/domain/reference.loader.spec.ts | 3 +-- .../authorization-reference/domain/reference.loader.ts | 3 +-- .../modules/task/domain/service/submission.service.spec.ts | 3 +-- .../src/modules/task/domain/service/submission.service.ts | 3 +-- apps/server/src/modules/task/repo/index.ts | 1 + .../task/repo}/submission.repo.integration.spec.ts | 6 +++--- .../submission => modules/task/repo}/submission.repo.ts | 4 ++-- apps/server/src/modules/task/task.module.ts | 3 +-- apps/server/src/shared/repo/submission/index.ts | 1 - 10 files changed, 12 insertions(+), 18 deletions(-) rename apps/server/src/{shared/repo/submission => modules/task/repo}/submission.repo.integration.spec.ts (97%) rename apps/server/src/{shared/repo/submission => modules/task/repo}/submission.repo.ts (93%) delete mode 100644 apps/server/src/shared/repo/submission/index.ts diff --git a/apps/server/src/modules/authorization-reference/authorization-reference.module.ts b/apps/server/src/modules/authorization-reference/authorization-reference.module.ts index e614a26210e..c075d7f7105 100644 --- a/apps/server/src/modules/authorization-reference/authorization-reference.module.ts +++ b/apps/server/src/modules/authorization-reference/authorization-reference.module.ts @@ -2,10 +2,9 @@ import { LoggerModule } from '@core/logger'; import { AuthorizationModule } from '@modules/authorization'; import { InstanceModule } from '@modules/instance'; import { LegacySchoolRepo } from '@modules/legacy-school/repo'; -import { TaskRepo } from '@modules/task/repo'; +import { SubmissionRepo, TaskRepo } from '@modules/task/repo'; import { UserModule } from '@modules/user'; import { Module } from '@nestjs/common'; -import { SubmissionRepo } from '@shared/repo/submission'; import { AuthorizationReferenceService, ReferenceLoader } from './domain'; /** diff --git a/apps/server/src/modules/authorization-reference/domain/reference.loader.spec.ts b/apps/server/src/modules/authorization-reference/domain/reference.loader.spec.ts index fdd8c2496df..bb8bacb13b3 100644 --- a/apps/server/src/modules/authorization-reference/domain/reference.loader.spec.ts +++ b/apps/server/src/modules/authorization-reference/domain/reference.loader.spec.ts @@ -3,13 +3,12 @@ import { ObjectId } from '@mikro-orm/mongodb'; import { AuthorizableReferenceType, AuthorizationInjectionService } from '@modules/authorization'; import { InstanceService } from '@modules/instance'; import { LegacySchoolRepo } from '@modules/legacy-school/repo'; -import { TaskRepo } from '@modules/task/repo'; +import { SubmissionRepo, TaskRepo } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { NotImplementedException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { EntityId } from '@shared/domain/types'; -import { SubmissionRepo } from '@shared/repo/submission'; import { setupEntities } from '@testing/database'; import { ReferenceLoader } from './reference.loader'; diff --git a/apps/server/src/modules/authorization-reference/domain/reference.loader.ts b/apps/server/src/modules/authorization-reference/domain/reference.loader.ts index 01b915b4211..7b18983b146 100644 --- a/apps/server/src/modules/authorization-reference/domain/reference.loader.ts +++ b/apps/server/src/modules/authorization-reference/domain/reference.loader.ts @@ -6,12 +6,11 @@ import { } from '@modules/authorization'; import { InstanceService } from '@modules/instance'; import { LegacySchoolRepo } from '@modules/legacy-school/repo'; -import { TaskRepo } from '@modules/task/repo'; +import { SubmissionRepo, TaskRepo } from '@modules/task/repo'; import { Injectable, NotImplementedException } from '@nestjs/common'; import { AuthorizableObject } from '@shared/domain/domain-object'; import { BaseDO } from '@shared/domain/domainobject'; import { EntityId } from '@shared/domain/types'; -import { SubmissionRepo } from '@shared/repo/submission'; @Injectable() export class ReferenceLoader { diff --git a/apps/server/src/modules/task/domain/service/submission.service.spec.ts b/apps/server/src/modules/task/domain/service/submission.service.spec.ts index 889931a9705..0f6c75a7127 100644 --- a/apps/server/src/modules/task/domain/service/submission.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.spec.ts @@ -19,11 +19,10 @@ import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; import { Material } from '@shared/domain/entity'; import { Counted } from '@shared/domain/types'; -import { SubmissionRepo } from '@shared/repo/submission'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; import { ObjectId } from 'bson'; -import { Submission, Task } from '../../repo'; +import { Submission, SubmissionRepo, Task } from '../../repo'; import { taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; diff --git a/apps/server/src/modules/task/domain/service/submission.service.ts b/apps/server/src/modules/task/domain/service/submission.service.ts index 6d6a431b2b6..47e007f7446 100644 --- a/apps/server/src/modules/task/domain/service/submission.service.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.ts @@ -17,8 +17,7 @@ import { FilesStorageClientAdapterService } from '@modules/files-storage-client' import { Injectable } from '@nestjs/common'; import { EventBus, EventsHandler, IEventHandler } from '@nestjs/cqrs'; import { Counted, EntityId } from '@shared/domain/types'; -import { SubmissionRepo } from '@shared/repo/submission'; -import { Submission } from '../../repo'; +import { Submission, SubmissionRepo } from '../../repo'; @Injectable() @EventsHandler(UserDeletedEvent) diff --git a/apps/server/src/modules/task/repo/index.ts b/apps/server/src/modules/task/repo/index.ts index fd4b00f38ba..34938172797 100644 --- a/apps/server/src/modules/task/repo/index.ts +++ b/apps/server/src/modules/task/repo/index.ts @@ -1,4 +1,5 @@ export * from './submission.entity'; +export * from './submission.repo'; export * from './task-scope'; export * from './task.entity'; export * from './task.repo'; diff --git a/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts b/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts similarity index 97% rename from apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts rename to apps/server/src/modules/task/repo/submission.repo.integration.spec.ts index 10dac9a5902..9264884c35b 100644 --- a/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts +++ b/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts @@ -3,14 +3,14 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@modules/task/repo'; -import { taskFactory } from '@modules/task/testing'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; +import { Material } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { Material, Submission } from '../../domain/entity'; +import { Submission, Task } from '../repo'; +import { taskFactory } from '../testing'; import { SubmissionRepo } from './submission.repo'; describe('submission repo', () => { diff --git a/apps/server/src/shared/repo/submission/submission.repo.ts b/apps/server/src/modules/task/repo/submission.repo.ts similarity index 93% rename from apps/server/src/shared/repo/submission/submission.repo.ts rename to apps/server/src/modules/task/repo/submission.repo.ts index d1115e8b990..32ee6c5e083 100644 --- a/apps/server/src/shared/repo/submission/submission.repo.ts +++ b/apps/server/src/modules/task/repo/submission.repo.ts @@ -1,9 +1,9 @@ import { FilterQuery } from '@mikro-orm/core'; import { CourseGroupEntity } from '@modules/course/repo'; -import { Submission } from '@modules/task/repo'; import { Injectable } from '@nestjs/common'; import { Counted, EntityId } from '@shared/domain/types'; -import { BaseRepo } from '../base.repo'; +import { BaseRepo } from '@shared/repo/base.repo'; +import { Submission } from './submission.entity'; // TODO: add scope helper diff --git a/apps/server/src/modules/task/task.module.ts b/apps/server/src/modules/task/task.module.ts index b713cd9d72b..a5c778daa11 100644 --- a/apps/server/src/modules/task/task.module.ts +++ b/apps/server/src/modules/task/task.module.ts @@ -3,9 +3,8 @@ import { CopyHelperModule } from '@modules/copy-helper'; import { FilesStorageClientModule } from '@modules/files-storage-client'; import { Module } from '@nestjs/common'; import { CqrsModule } from '@nestjs/cqrs'; -import { SubmissionRepo } from '@shared/repo/submission'; import { SubmissionService, TaskCopyService, TaskService } from './domain'; -import { TaskRepo } from './repo'; +import { SubmissionRepo, TaskRepo } from './repo'; @Module({ imports: [FilesStorageClientModule, CopyHelperModule, CqrsModule, LoggerModule], diff --git a/apps/server/src/shared/repo/submission/index.ts b/apps/server/src/shared/repo/submission/index.ts deleted file mode 100644 index 6d67bf37e1d..00000000000 --- a/apps/server/src/shared/repo/submission/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './submission.repo'; From c3b007bdb1b2cb938d68689aca2cefc889d879cd Mon Sep 17 00:00:00 2001 From: Max Bischof Date: Fri, 7 Mar 2025 13:22:00 +0100 Subject: [PATCH 3/4] Move submission factory to task module --- .../authorization-rules/rules/submission.rule.spec.ts | 3 +-- .../lesson/controller/mapper/lesson.mapper.spec.ts | 3 +-- .../modules/task/api/mapper/submission.mapper.spec.ts | 2 +- apps/server/src/modules/task/api/submission.uc.spec.ts | 3 +-- apps/server/src/modules/task/api/task.uc.spec.ts | 3 +-- .../src/modules/task/api/test/submission.api.spec.ts | 3 +-- apps/server/src/modules/task/api/test/task.api.spec.ts | 3 +-- .../task/domain/service/submission.service.spec.ts | 3 +-- .../modules/task/domain/service/task.service.spec.ts | 3 +-- .../src/modules/task/repo/submission.entity.spec.ts | 3 +-- .../task/repo/submission.repo.integration.spec.ts | 3 +-- apps/server/src/modules/task/repo/task.entity.spec.ts | 5 ++--- .../modules/task/repo/task.repo.integration.spec.ts | 3 +-- apps/server/src/modules/task/testing/index.ts | 1 + .../task/testing}/submission.factory.ts | 10 +++------- 15 files changed, 18 insertions(+), 33 deletions(-) rename apps/server/src/{testing/factory => modules/task/testing}/submission.factory.ts (71%) diff --git a/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts b/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts index b82a1ab1aba..9bcb6cd6510 100644 --- a/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts +++ b/apps/server/src/modules/authorization-rules/rules/submission.rule.spec.ts @@ -8,7 +8,7 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { Submission, Task } from '@modules/task/repo'; -import { taskFactory } from '@modules/task/testing'; +import { submissionFactory, taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { NotImplementedException } from '@nestjs/common'; @@ -17,7 +17,6 @@ import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { CourseGroupRule } from './course-group.rule'; import { CourseRule } from './course.rule'; import { LessonRule } from './lesson.rule'; diff --git a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts index 834b92dfde2..71b9323fb1d 100644 --- a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts +++ b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.spec.ts @@ -1,12 +1,11 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { Submission, Task } from '@modules/task/repo'; -import { taskFactory } from '@modules/task/testing'; +import { submissionFactory, taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { LessonLinkedTaskResponse } from '../dto/lesson-linked-task.response'; import { LessonMapper } from './lesson.mapper'; diff --git a/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts index ee7eb355209..52707b58464 100644 --- a/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts +++ b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts @@ -3,8 +3,8 @@ import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { Submission, Task } from '../../repo'; +import { submissionFactory } from '../../testing'; import { SubmissionStatusResponse } from '../dto'; import { SubmissionMapper } from './submission.mapper'; diff --git a/apps/server/src/modules/task/api/submission.uc.spec.ts b/apps/server/src/modules/task/api/submission.uc.spec.ts index d275ff95ac4..406461788b1 100644 --- a/apps/server/src/modules/task/api/submission.uc.spec.ts +++ b/apps/server/src/modules/task/api/submission.uc.spec.ts @@ -9,10 +9,9 @@ import { Material } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { Counted } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { SubmissionService } from '../domain'; import { Submission, Task } from '../repo'; -import { taskFactory } from '../testing'; +import { submissionFactory, taskFactory } from '../testing'; import { SubmissionUc } from './submission.uc'; describe('Submission Uc', () => { diff --git a/apps/server/src/modules/task/api/task.uc.spec.ts b/apps/server/src/modules/task/api/task.uc.spec.ts index 769abdcc915..a063af5ec37 100644 --- a/apps/server/src/modules/task/api/task.uc.spec.ts +++ b/apps/server/src/modules/task/api/task.uc.spec.ts @@ -15,10 +15,9 @@ import { Material } from '@shared/domain/entity'; import { Permission, SortOrder } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { TaskService, TaskStatus } from '../domain'; import { Submission, Task, TaskRepo } from '../repo'; -import { taskFactory } from '../testing'; +import { submissionFactory, taskFactory } from '../testing'; import { TaskUC } from './task.uc'; describe('TaskUC', () => { diff --git a/apps/server/src/modules/task/api/test/submission.api.spec.ts b/apps/server/src/modules/task/api/test/submission.api.spec.ts index 7c662b39e0c..0819ad3ef0a 100644 --- a/apps/server/src/modules/task/api/test/submission.api.spec.ts +++ b/apps/server/src/modules/task/api/test/submission.api.spec.ts @@ -7,11 +7,10 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { ApiValidationError } from '@shared/common/error'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; import { Submission } from '../../repo'; -import { taskFactory } from '../../testing'; +import { submissionFactory, taskFactory } from '../../testing'; import { SubmissionStatusListResponse } from '../dto'; describe('Submission Controller (API)', () => { diff --git a/apps/server/src/modules/task/api/test/task.api.spec.ts b/apps/server/src/modules/task/api/test/task.api.spec.ts index bba43413555..ee558fe9275 100644 --- a/apps/server/src/modules/task/api/test/task.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task.api.spec.ts @@ -7,10 +7,9 @@ import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { InputFormat } from '@shared/domain/types'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; -import { taskFactory } from '../../testing'; +import { submissionFactory, taskFactory } from '../../testing'; const tomorrow = new Date(Date.now() + 86400000); diff --git a/apps/server/src/modules/task/domain/service/submission.service.spec.ts b/apps/server/src/modules/task/domain/service/submission.service.spec.ts index 0f6c75a7127..f04a96abe33 100644 --- a/apps/server/src/modules/task/domain/service/submission.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.spec.ts @@ -20,10 +20,9 @@ import { Test, TestingModule } from '@nestjs/testing'; import { Material } from '@shared/domain/entity'; import { Counted } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { ObjectId } from 'bson'; import { Submission, SubmissionRepo, Task } from '../../repo'; -import { taskFactory } from '../../testing'; +import { submissionFactory, taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; describe('Submission Service', () => { diff --git a/apps/server/src/modules/task/domain/service/task.service.spec.ts b/apps/server/src/modules/task/domain/service/task.service.spec.ts index 42406003861..bff43cdbf04 100644 --- a/apps/server/src/modules/task/domain/service/task.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/task.service.spec.ts @@ -19,10 +19,9 @@ import { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { ObjectId } from 'bson'; import { Submission, Task, TaskRepo } from '../../repo'; -import { taskFactory } from '../../testing'; +import { submissionFactory, taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; import { TaskService } from './task.service'; diff --git a/apps/server/src/modules/task/repo/submission.entity.spec.ts b/apps/server/src/modules/task/repo/submission.entity.spec.ts index 7abd35e74f1..a1f8ff7f44d 100644 --- a/apps/server/src/modules/task/repo/submission.entity.spec.ts +++ b/apps/server/src/modules/task/repo/submission.entity.spec.ts @@ -8,8 +8,7 @@ import { userFactory } from '@modules/user/testing'; import { InternalServerErrorException } from '@nestjs/common'; import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '../testing'; +import { submissionFactory, taskFactory } from '../testing'; import { Submission } from './submission.entity'; import { Task } from './task.entity'; diff --git a/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts b/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts index 9264884c35b..8bc9617e511 100644 --- a/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts +++ b/apps/server/src/modules/task/repo/submission.repo.integration.spec.ts @@ -8,9 +8,8 @@ import { Test, TestingModule } from '@nestjs/testing'; import { Material } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; import { Submission, Task } from '../repo'; -import { taskFactory } from '../testing'; +import { submissionFactory, taskFactory } from '../testing'; import { SubmissionRepo } from './submission.repo'; describe('submission repo', () => { diff --git a/apps/server/src/modules/task/repo/task.entity.spec.ts b/apps/server/src/modules/task/repo/task.entity.spec.ts index b4d1c54b6af..e54af4f4438 100644 --- a/apps/server/src/modules/task/repo/task.entity.spec.ts +++ b/apps/server/src/modules/task/repo/task.entity.spec.ts @@ -8,10 +8,9 @@ import { userFactory } from '@modules/user/testing'; import { InternalServerErrorException } from '@nestjs/common'; import { Material } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '../testing'; -import { Task } from './task.entity'; +import { submissionFactory, taskFactory } from '../testing'; import { Submission } from './submission.entity'; +import { Task } from './task.entity'; describe('Task Entity', () => { beforeAll(async () => { diff --git a/apps/server/src/modules/task/repo/task.repo.integration.spec.ts b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts index 2adddcd8f28..b93c6d1996b 100644 --- a/apps/server/src/modules/task/repo/task.repo.integration.spec.ts +++ b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts @@ -9,8 +9,7 @@ import { Material } from '@shared/domain/entity'; import { SortOrder } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; -import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '../testing'; +import { submissionFactory, taskFactory } from '../testing'; import { Submission } from './submission.entity'; import { Task } from './task.entity'; import { TaskRepo } from './task.repo'; diff --git a/apps/server/src/modules/task/testing/index.ts b/apps/server/src/modules/task/testing/index.ts index 0fe785527cb..f21e450137b 100644 --- a/apps/server/src/modules/task/testing/index.ts +++ b/apps/server/src/modules/task/testing/index.ts @@ -1 +1,2 @@ +export * from './submission.factory'; export * from './task.factory'; diff --git a/apps/server/src/testing/factory/submission.factory.ts b/apps/server/src/modules/task/testing/submission.factory.ts similarity index 71% rename from apps/server/src/testing/factory/submission.factory.ts rename to apps/server/src/modules/task/testing/submission.factory.ts index 946d7061ea7..4aa9209eaae 100644 --- a/apps/server/src/testing/factory/submission.factory.ts +++ b/apps/server/src/modules/task/testing/submission.factory.ts @@ -1,13 +1,9 @@ -// Remove the eslint-disable after fixing the import issue in EPIC-96 -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { schoolEntityFactory } from '@modules/school/testing'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports -import { taskFactory } from '@modules/task/testing'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { userFactory } from '@modules/user/testing'; +import { BaseFactory } from '@testing/factory/base.factory'; import { DeepPartial } from 'fishery'; -import { BaseFactory } from './base.factory'; -import { Submission, SubmissionProperties } from '@modules/task/repo'; +import { Submission, SubmissionProperties } from '../repo'; +import { taskFactory } from './task.factory'; class SubmissionFactory extends BaseFactory { graded(): this { From bc7215645c0acbaa1b88d0fae7e13f9d8d8ee36e Mon Sep 17 00:00:00 2001 From: Max Bischof Date: Fri, 7 Mar 2025 13:23:01 +0100 Subject: [PATCH 4/4] Remove empty rules folder --- apps/server/src/shared/domain/rules/index.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 apps/server/src/shared/domain/rules/index.ts diff --git a/apps/server/src/shared/domain/rules/index.ts b/apps/server/src/shared/domain/rules/index.ts deleted file mode 100644 index e69de29bb2d..00000000000