From 63cdcc0d6ce5958e7a60728dcc6327a6a8ce3671 Mon Sep 17 00:00:00 2001 From: Sergej Hoffmann <97111299+SevenWaysDP@users.noreply.github.com> Date: Fri, 7 Mar 2025 12:09:01 +0100 Subject: [PATCH 1/2] BC-8563 - Fix imports for @shared user-import (repo and domain) (#5567) --- .../rules/user-login-migration.rule.spec.ts | 3 +- .../rules/user-login-migration.rule.ts | 2 +- .../service/user-import.service.spec.ts | 2 +- .../service/user-import.service.ts | 2 +- .../uc/user-import-fetch.uc.spec.ts | 3 +- .../user-import/uc/user-import-fetch.uc.ts | 3 +- .../user-login-migration-rollback.api.spec.ts | 0 .../api-test/user-login-migration.api.spec.ts | 2 +- .../{controller => api}/dto/index.ts | 0 .../dto/request/force-migration.params.ts | 0 .../{controller => api}/dto/request/index.ts | 0 .../dto/request/oauth2-migration.params.ts | 0 .../dto/request/school-id.params.ts | 0 .../dto/request/user-id.params.ts | 0 .../user-login-migration-mandatory.params.ts | 0 .../user-login-migration-search.params.ts | 0 ...er-login-migration-search-list.response.ts | 0 .../response/user-login-migration.response.ts | 0 .../{ => api}/mapper/index.ts | 0 .../mapper/user-login-migration.mapper.ts | 6 +-- .../uc/close-migration-wizard.uc.spec.ts | 0 .../{ => api}/uc/close-migration-wizard.uc.ts | 0 .../uc/close-user-login-migration.uc.spec.ts | 12 ++++-- .../uc/close-user-login-migration.uc.ts | 10 +++-- .../{ => api}/uc/index.ts | 9 ++--- .../restart-user-login-migration.uc.spec.ts | 8 ++-- .../uc/restart-user-login-migration.uc.ts | 6 +-- .../uc/start-user-login-migration.uc.spec.ts | 11 ++++-- .../uc/start-user-login-migration.uc.ts | 8 ++-- .../uc/toggle-user-login-migration.uc.spec.ts | 8 ++-- .../uc/toggle-user-login-migration.uc.ts | 15 ++++++-- .../user-login-migration-rollback.uc.spec.ts | 2 +- .../uc/user-login-migration-rollback.uc.ts | 2 +- .../uc/user-login-migration.uc.spec.ts | 10 ++--- .../{ => api}/uc/user-login-migration.uc.ts | 8 ++-- ...ser-login-migration-rollback.controller.ts | 2 +- .../user-login-migration.controller.ts | 38 ++++++++++--------- .../domain/do/user-login-migration.do.ts | 2 +- .../{uc/dto => domain/interface}/index.ts | 0 .../interface}/user-login-migration-query.ts | 0 .../{ => domain}/loggable/debug/index.ts | 0 ...hool-migration-successful.loggable.spec.ts | 2 +- .../school-migration-successful.loggable.ts | 2 +- ...ion-correction-successful-loggable.spec.ts | 6 +-- ...igration-correction-successful-loggable.ts | 2 +- .../user-migration-started.loggable.spec.ts | 2 +- .../debug/user-migration-started.loggable.ts | 2 +- ...user-migration-successful.loggable.spec.ts | 2 +- .../user-migration-successful.loggable.ts | 2 +- ...-number-missing.loggable-exception.spec.ts | 0 ...chool-number-missing.loggable-exception.ts | 0 ...igration-system.loggable-exception.spec.ts | 2 +- ...gin-migration-system.loggable-exception.ts | 0 .../{ => domain}/loggable/index.ts | 0 ...login-migration.loggable-exception.spec.ts | 0 ...user-login-migration.loggable-exception.ts | 0 ...ystem-not-found.loggable-exception.spec.ts | 2 +- ...ule-system-not-found.loggable-exception.ts | 0 ...peration-failed.loggable-exception.spec.ts | 0 ...ase-operation-failed.loggable-exception.ts | 0 ...number-mismatch.loggable-exception.spec.ts | 0 ...hool-number-mismatch.loggable-exception.ts | 0 ...-number-missing.loggable-exception.spec.ts | 0 ...chool-number-missing.loggable-exception.ts | 0 ...-already-closed.loggable-exception.spec.ts | 2 +- ...ation-already-closed.loggable-exception.ts | 0 ...grace-period-expired-loggable.exception.ts | 0 ...n-invalid-admin.loggable-exception.spec.ts | 0 ...ration-invalid-admin.loggable-exception.ts | 0 ...ernal-school-id.loggable-exception.spec.ts | 0 ...d-external-school-id.loggable-exception.ts | 0 ...login-migration-mandatory.loggable.spec.ts | 0 ...user-login-migration-mandatory.loggable.ts | 0 ...ple-email-users.loggable-exception.spec.ts | 0 ...multiple-email-users.loggable-exception.ts | 0 ...-migration-not-found.loggable-exception.ts | 0 ...lready-migrated.loggable-exception.spec.ts | 0 ...ool-already-migrated.loggable-exception.ts | 0 ...ser-login-migration-start.loggable.spec.ts | 0 .../user-login-migration-start.loggable.ts | 0 ...lready-migrated.loggable-exception.spec.ts | 0 ...ser-already-migrated.loggable-exception.ts | 0 ...peration-failed.loggable-exception.spec.ts | 0 ...ase-operation-failed.loggable-exception.ts | 0 ...-migration-rollback-successful.loggable.ts | 0 ...er-not-migrated.loggable-exception.spec.ts | 0 .../user-not-migrated.loggable-exception.ts | 0 .../{ => domain}/service/index.ts | 0 .../service/migration-check.service.spec.ts | 4 +- .../service/migration-check.service.ts | 4 +- .../service/school-migration.service.spec.ts | 6 +-- .../service/school-migration.service.ts | 4 +- ...ser-login-migration-revert.service.spec.ts | 2 +- .../user-login-migration-revert.service.ts | 2 +- ...r-login-migration-rollback.service.spec.ts | 2 +- .../user-login-migration-rollback.service.ts | 0 .../user-login-migration.service.spec.ts | 6 +-- .../service/user-login-migration.service.ts | 4 +- .../service/user-migration.service.spec.ts | 4 +- .../service/user-migration.service.ts | 2 +- .../src/modules/user-login-migration/index.ts | 5 ++- .../user-login-migration/repo/index.ts | 2 +- .../repo/user-login-migration.entity.ts | 2 +- ...r-login-migration.repo.integration.spec.ts | 2 +- .../user-login-migration/service/dto/index.ts | 2 - .../service/dto/migration.dto.ts | 7 ---- .../service/dto/page-content.dto.ts | 10 ----- .../user-login-migration/testing/index.ts | 1 + .../user-login-migration-do.factory.ts | 2 +- .../user-login-migration-api.module.ts | 8 ++-- .../user-login-migration.module.ts | 4 +- 111 files changed, 142 insertions(+), 143 deletions(-) rename apps/server/src/modules/user-login-migration/{controller => api}/api-test/user-login-migration-rollback.api.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/api-test/user-login-migration.api.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/index.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/force-migration.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/index.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/oauth2-migration.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/school-id.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/user-id.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/user-login-migration-mandatory.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/request/user-login-migration-search.params.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/response/user-login-migration-search-list.response.ts (100%) rename apps/server/src/modules/user-login-migration/{controller => api}/dto/response/user-login-migration.response.ts (100%) rename apps/server/src/modules/user-login-migration/{ => api}/mapper/index.ts (100%) rename apps/server/src/modules/user-login-migration/{ => api}/mapper/user-login-migration.mapper.ts (85%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/close-migration-wizard.uc.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/close-migration-wizard.uc.ts (100%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/close-user-login-migration.uc.spec.ts (97%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/close-user-login-migration.uc.ts (91%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/index.ts (94%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/restart-user-login-migration.uc.spec.ts (97%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/restart-user-login-migration.uc.ts (92%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/start-user-login-migration.uc.spec.ts (95%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/start-user-login-migration.uc.ts (89%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/toggle-user-login-migration.uc.spec.ts (97%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/toggle-user-login-migration.uc.ts (81%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/user-login-migration-rollback.uc.spec.ts (97%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/user-login-migration-rollback.uc.ts (91%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/user-login-migration.uc.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{ => api}/uc/user-login-migration.uc.ts (97%) rename apps/server/src/modules/user-login-migration/{controller => api}/user-login-migration-rollback.controller.ts (96%) rename apps/server/src/modules/user-login-migration/{controller => api}/user-login-migration.controller.ts (93%) rename apps/server/src/modules/user-login-migration/{uc/dto => domain/interface}/index.ts (100%) rename apps/server/src/modules/user-login-migration/{uc/dto => domain/interface}/user-login-migration-query.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/index.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/school-migration-successful.loggable.spec.ts (95%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/school-migration-successful.loggable.ts (91%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-correction-successful-loggable.spec.ts (77%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-correction-successful-loggable.ts (89%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-started.loggable.spec.ts (93%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-started.loggable.ts (90%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-successful.loggable.spec.ts (93%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/debug/user-migration-successful.loggable.ts (90%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/external-school-number-missing.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/external-school-number-missing.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/identical-user-login-migration-system.loggable-exception.spec.ts (91%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/identical-user-login-migration-system.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/index.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/invalid-user-login-migration.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/invalid-user-login-migration.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/moin-schule-system-not-found.loggable-exception.spec.ts (79%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/moin-schule-system-not-found.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-migration-database-operation-failed.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-migration-database-operation-failed.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-number-mismatch.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-number-mismatch.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-number-missing.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/school-number-missing.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-already-closed.loggable-exception.spec.ts (91%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-already-closed.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-grace-period-expired-loggable.exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-invalid-admin.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-invalid-admin.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-invalid-external-school-id.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-invalid-external-school-id.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-mandatory.loggable.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-mandatory.loggable.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-multiple-email-users.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-multiple-email-users.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-not-found.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-school-already-migrated.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-school-already-migrated.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-start.loggable.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-start.loggable.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-user-already-migrated.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-login-migration-user-already-migrated.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-migration-database-operation-failed.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-migration-database-operation-failed.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-migration-rollback-successful.loggable.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-not-migrated.loggable-exception.spec.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/loggable/user-not-migrated.loggable-exception.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/index.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/migration-check.service.spec.ts (98%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/migration-check.service.ts (93%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/school-migration.service.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/school-migration.service.ts (98%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration-revert.service.spec.ts (97%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration-revert.service.ts (93%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration-rollback.service.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration-rollback.service.ts (100%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration.service.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-login-migration.service.ts (98%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-migration.service.spec.ts (99%) rename apps/server/src/modules/user-login-migration/{ => domain}/service/user-migration.service.ts (98%) delete mode 100644 apps/server/src/modules/user-login-migration/service/dto/index.ts delete mode 100644 apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts delete mode 100644 apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts diff --git a/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.spec.ts b/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.spec.ts index d14d6d39c7e..1de4754bbca 100644 --- a/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.spec.ts +++ b/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.spec.ts @@ -7,7 +7,6 @@ import { AuthorizationInjectionService, } from '@modules/authorization'; import { schoolEntityFactory } from '@modules/school/testing'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; import { userLoginMigrationDOFactory } from '@modules/user-login-migration/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; @@ -87,7 +86,7 @@ describe('UserLoginMigrationRule', () => { it('should return false', () => { const { user, notUserLoginMigration } = setup(); - const result = rule.isApplicable(user, notUserLoginMigration as unknown as UserLoginMigrationDO); + const result = rule.isApplicable(user, notUserLoginMigration); expect(result).toEqual(false); }); diff --git a/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.ts b/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.ts index 31cac97f68a..49ea653af32 100644 --- a/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.ts +++ b/apps/server/src/modules/authorization-rules/rules/user-login-migration.rule.ts @@ -1,5 +1,5 @@ import { AuthorizationContext, AuthorizationHelper, AuthorizationInjectionService, Rule } from '@modules/authorization'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; +import { UserLoginMigrationDO } from '@modules/user-login-migration'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; diff --git a/apps/server/src/modules/user-import/service/user-import.service.spec.ts b/apps/server/src/modules/user-import/service/user-import.service.spec.ts index 30f56141dba..2b753ba891a 100644 --- a/apps/server/src/modules/user-import/service/user-import.service.spec.ts +++ b/apps/server/src/modules/user-import/service/user-import.service.spec.ts @@ -9,7 +9,7 @@ import { schoolEntityFactory } from '@modules/school/testing'; import { System, SystemService } from '@modules/system'; import { systemFactory } from '@modules/system/testing'; import { UserService } from '@modules/user'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; +import { UserLoginMigrationDO } from '@modules/user-login-migration'; import { userLoginMigrationDOFactory } from '@modules/user-login-migration/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; diff --git a/apps/server/src/modules/user-import/service/user-import.service.ts b/apps/server/src/modules/user-import/service/user-import.service.ts index 17aafed85de..541869019f3 100644 --- a/apps/server/src/modules/user-import/service/user-import.service.ts +++ b/apps/server/src/modules/user-import/service/user-import.service.ts @@ -5,7 +5,7 @@ import { SchoolFeature } from '@modules/school/domain'; import { SchoolEntity } from '@modules/school/repo'; import { System, SystemService } from '@modules/system'; import { UserService } from '@modules/user'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; +import { UserLoginMigrationDO } from '@modules/user-login-migration'; import { User } from '@modules/user/repo'; import { Injectable, InternalServerErrorException } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; diff --git a/apps/server/src/modules/user-import/uc/user-import-fetch.uc.spec.ts b/apps/server/src/modules/user-import/uc/user-import-fetch.uc.spec.ts index a36b1c36fa5..06e52fd9294 100644 --- a/apps/server/src/modules/user-import/uc/user-import-fetch.uc.spec.ts +++ b/apps/server/src/modules/user-import/uc/user-import-fetch.uc.spec.ts @@ -4,7 +4,7 @@ import { AuthorizationService } from '@modules/authorization'; import { System, SystemService } from '@modules/system'; import { SystemEntity } from '@modules/system/repo'; import { systemEntityFactory, systemFactory } from '@modules/system/testing'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; +import { UserLoginMigrationDO, UserLoginMigrationService } from '@modules/user-login-migration'; import { userLoginMigrationDOFactory } from '@modules/user-login-migration/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; @@ -12,7 +12,6 @@ import { ConfigService } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationService } from '../../user-login-migration'; import { ImportUser } from '../entity'; import { UserLoginMigrationNotActiveLoggableException, UserMigrationIsNotEnabledLoggableException } from '../loggable'; import { SchulconnexFetchImportUsersService, UserImportService } from '../service'; diff --git a/apps/server/src/modules/user-import/uc/user-import-fetch.uc.ts b/apps/server/src/modules/user-import/uc/user-import-fetch.uc.ts index 576aa840b34..7cc285d2d00 100644 --- a/apps/server/src/modules/user-import/uc/user-import-fetch.uc.ts +++ b/apps/server/src/modules/user-import/uc/user-import-fetch.uc.ts @@ -1,7 +1,6 @@ import { AuthorizationService } from '@modules/authorization'; import { System, SystemService } from '@modules/system'; -import { UserLoginMigrationService } from '@modules/user-login-migration'; -import { UserLoginMigrationDO } from '@modules/user-login-migration/domain'; +import { UserLoginMigrationDO, UserLoginMigrationService } from '@modules/user-login-migration'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; diff --git a/apps/server/src/modules/user-login-migration/controller/api-test/user-login-migration-rollback.api.spec.ts b/apps/server/src/modules/user-login-migration/api/api-test/user-login-migration-rollback.api.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/api-test/user-login-migration-rollback.api.spec.ts rename to apps/server/src/modules/user-login-migration/api/api-test/user-login-migration-rollback.api.spec.ts diff --git a/apps/server/src/modules/user-login-migration/controller/api-test/user-login-migration.api.spec.ts b/apps/server/src/modules/user-login-migration/api/api-test/user-login-migration.api.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/controller/api-test/user-login-migration.api.spec.ts rename to apps/server/src/modules/user-login-migration/api/api-test/user-login-migration.api.spec.ts index 48cf9e1adf3..c8b285348fb 100644 --- a/apps/server/src/modules/user-login-migration/controller/api-test/user-login-migration.api.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/api-test/user-login-migration.api.spec.ts @@ -27,8 +27,8 @@ import { DeepPartial } from 'fishery'; import { Response } from 'supertest'; import { UserLoginMigrationEntity } from '../../repo'; import { userLoginMigrationFactory } from '../../testing'; -import { UserLoginMigrationUc } from '../../uc'; import { ForceMigrationParams, Oauth2MigrationParams, UserLoginMigrationResponse } from '../dto'; +import { UserLoginMigrationUc } from '../uc'; jest.mock('jwks-rsa', () => () => { return { diff --git a/apps/server/src/modules/user-login-migration/controller/dto/index.ts b/apps/server/src/modules/user-login-migration/api/dto/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/index.ts rename to apps/server/src/modules/user-login-migration/api/dto/index.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/force-migration.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/force-migration.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/force-migration.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/force-migration.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/index.ts b/apps/server/src/modules/user-login-migration/api/dto/request/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/index.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/index.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/oauth2-migration.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/oauth2-migration.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/oauth2-migration.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/oauth2-migration.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/school-id.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/school-id.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/user-id.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/user-id.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/user-id.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/user-id.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/user-login-migration-mandatory.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/user-login-migration-mandatory.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts b/apps/server/src/modules/user-login-migration/api/dto/request/user-login-migration-search.params.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts rename to apps/server/src/modules/user-login-migration/api/dto/request/user-login-migration-search.params.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts b/apps/server/src/modules/user-login-migration/api/dto/response/user-login-migration-search-list.response.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts rename to apps/server/src/modules/user-login-migration/api/dto/response/user-login-migration-search-list.response.ts diff --git a/apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts b/apps/server/src/modules/user-login-migration/api/dto/response/user-login-migration.response.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts rename to apps/server/src/modules/user-login-migration/api/dto/response/user-login-migration.response.ts diff --git a/apps/server/src/modules/user-login-migration/mapper/index.ts b/apps/server/src/modules/user-login-migration/api/mapper/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/mapper/index.ts rename to apps/server/src/modules/user-login-migration/api/mapper/index.ts diff --git a/apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts b/apps/server/src/modules/user-login-migration/api/mapper/user-login-migration.mapper.ts similarity index 85% rename from apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts rename to apps/server/src/modules/user-login-migration/api/mapper/user-login-migration.mapper.ts index 861eb980c63..05c8f50f0df 100644 --- a/apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts +++ b/apps/server/src/modules/user-login-migration/api/mapper/user-login-migration.mapper.ts @@ -1,6 +1,6 @@ -import { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../controller/dto'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationQuery } from '../uc'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationQuery } from '../../domain/interface'; +import { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../dto'; export class UserLoginMigrationMapper { static mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams): UserLoginMigrationQuery { diff --git a/apps/server/src/modules/user-login-migration/uc/close-migration-wizard.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/close-migration-wizard.uc.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/uc/close-migration-wizard.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/close-migration-wizard.uc.spec.ts diff --git a/apps/server/src/modules/user-login-migration/uc/close-migration-wizard.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/close-migration-wizard.uc.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/uc/close-migration-wizard.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/close-migration-wizard.uc.ts diff --git a/apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.spec.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.spec.ts index 67ec36b89f5..b0fa0d13e4d 100644 --- a/apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.spec.ts @@ -8,10 +8,14 @@ import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationNotFoundLoggableException } from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service'; -import { userLoginMigrationDOFactory } from '../testing'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationNotFoundLoggableException } from '../../domain/loggable'; +import { + SchoolMigrationService, + UserLoginMigrationRevertService, + UserLoginMigrationService, +} from '../../domain/service'; +import { userLoginMigrationDOFactory } from '../../testing'; import { CloseUserLoginMigrationUc } from './close-user-login-migration.uc'; describe(CloseUserLoginMigrationUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.ts similarity index 91% rename from apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.ts index 9d6cb0c4eb4..57d5f4729d4 100644 --- a/apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/close-user-login-migration.uc.ts @@ -4,9 +4,13 @@ import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator'; import { Permission } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationNotFoundLoggableException } from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationNotFoundLoggableException } from '../../domain/loggable'; +import { + SchoolMigrationService, + UserLoginMigrationRevertService, + UserLoginMigrationService, +} from '../../domain/service'; @Injectable() export class CloseUserLoginMigrationUc { diff --git a/apps/server/src/modules/user-login-migration/uc/index.ts b/apps/server/src/modules/user-login-migration/api/uc/index.ts similarity index 94% rename from apps/server/src/modules/user-login-migration/uc/index.ts rename to apps/server/src/modules/user-login-migration/api/uc/index.ts index 5a4d6eb5f7d..d4296123140 100644 --- a/apps/server/src/modules/user-login-migration/uc/index.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/index.ts @@ -1,8 +1,7 @@ -export * from './dto'; -export * from './user-login-migration.uc'; +export { CloseMigrationWizardUc } from './close-migration-wizard.uc'; +export * from './close-user-login-migration.uc'; +export * from './restart-user-login-migration.uc'; export * from './start-user-login-migration.uc'; export * from './toggle-user-login-migration.uc'; -export * from './restart-user-login-migration.uc'; -export * from './close-user-login-migration.uc'; export * from './user-login-migration-rollback.uc'; -export { CloseMigrationWizardUc } from './close-migration-wizard.uc'; +export * from './user-login-migration.uc'; diff --git a/apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.spec.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.spec.ts index 0288c3b4a3a..0df65087195 100644 --- a/apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.spec.ts @@ -7,10 +7,10 @@ import { ForbiddenException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationNotFoundLoggableException } from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationService } from '../service'; -import { userLoginMigrationDOFactory } from '../testing'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationNotFoundLoggableException } from '../../domain/loggable'; +import { SchoolMigrationService, UserLoginMigrationService } from '../../domain/service'; +import { userLoginMigrationDOFactory } from '../../testing'; import { RestartUserLoginMigrationUc } from './restart-user-login-migration.uc'; describe(RestartUserLoginMigrationUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.ts similarity index 92% rename from apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.ts index 7aa72f1019a..3f695aa5c53 100644 --- a/apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/restart-user-login-migration.uc.ts @@ -3,9 +3,9 @@ import { AuthorizationContextBuilder, AuthorizationService } from '@modules/auth import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator'; import { Permission } from '@shared/domain/interface'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationService } from '../service'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../../domain/loggable'; +import { SchoolMigrationService, UserLoginMigrationService } from '../../domain/service'; @Injectable() export class RestartUserLoginMigrationUc { diff --git a/apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.spec.ts similarity index 95% rename from apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.spec.ts index c1a70434621..08656f9f813 100644 --- a/apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.spec.ts @@ -9,10 +9,13 @@ import { ForbiddenException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationDO } from '../domain'; -import { SchoolNumberMissingLoggableException, UserLoginMigrationAlreadyClosedLoggableException } from '../loggable'; -import { UserLoginMigrationService } from '../service'; -import { userLoginMigrationDOFactory } from '../testing'; +import { UserLoginMigrationDO } from '../../domain'; +import { + SchoolNumberMissingLoggableException, + UserLoginMigrationAlreadyClosedLoggableException, +} from '../../domain/loggable'; +import { UserLoginMigrationService } from '../../domain/service'; +import { userLoginMigrationDOFactory } from '../../testing'; import { StartUserLoginMigrationUc } from './start-user-login-migration.uc'; describe(StartUserLoginMigrationUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.ts similarity index 89% rename from apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.ts index 0e40c1f42db..e7266463752 100644 --- a/apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/start-user-login-migration.uc.ts @@ -5,13 +5,13 @@ import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator'; import { Permission } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationDO } from '../../domain'; import { SchoolNumberMissingLoggableException, UserLoginMigrationAlreadyClosedLoggableException, UserLoginMigrationStartLoggable, -} from '../loggable'; -import { UserLoginMigrationService } from '../service'; +} from '../../domain/loggable'; +import { UserLoginMigrationService } from '../../domain/service'; @Injectable() export class StartUserLoginMigrationUc { @@ -24,7 +24,7 @@ export class StartUserLoginMigrationUc { this.logger.setContext(StartUserLoginMigrationUc.name); } - async startMigration(userId: EntityId, schoolId: EntityId): Promise { + public async startMigration(userId: EntityId, schoolId: EntityId): Promise { await this.checkPreconditions(userId, schoolId); let userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool( diff --git a/apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.spec.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.spec.ts index 4231d53d660..fd242901d04 100644 --- a/apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.spec.ts @@ -10,10 +10,10 @@ import { ForbiddenException } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationNotFoundLoggableException } from '../loggable'; -import { UserLoginMigrationService } from '../service'; -import { userLoginMigrationDOFactory } from '../testing'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationNotFoundLoggableException } from '../../domain/loggable'; +import { UserLoginMigrationService } from '../../domain/service'; +import { userLoginMigrationDOFactory } from '../../testing'; import { ToggleUserLoginMigrationUc } from './toggle-user-login-migration.uc'; describe(ToggleUserLoginMigrationUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.ts similarity index 81% rename from apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.ts index 75911ca715d..734fbff452d 100644 --- a/apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/toggle-user-login-migration.uc.ts @@ -5,9 +5,12 @@ import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; import { Permission } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationMandatoryLoggable, UserLoginMigrationNotFoundLoggableException } from '../loggable'; -import { UserLoginMigrationService } from '../service'; +import { UserLoginMigrationDO } from '../../domain'; +import { + UserLoginMigrationMandatoryLoggable, + UserLoginMigrationNotFoundLoggableException, +} from '../../domain/loggable'; +import { UserLoginMigrationService } from '../../domain/service'; @Injectable() export class ToggleUserLoginMigrationUc { @@ -18,7 +21,11 @@ export class ToggleUserLoginMigrationUc { private readonly logger: Logger ) {} - async setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean): Promise { + public async setMigrationMandatory( + userId: EntityId, + schoolId: EntityId, + mandatory: boolean + ): Promise { await this.checkPermission(userId, schoolId); let userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool( diff --git a/apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.spec.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.spec.ts index aa88fc09c87..1c69a30eb67 100644 --- a/apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.spec.ts @@ -6,7 +6,7 @@ import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { UserLoginMigrationRollbackService } from '../service'; +import { UserLoginMigrationRollbackService } from '../../domain/service'; import { UserLoginMigrationRollbackUc } from './user-login-migration-rollback.uc'; describe(UserLoginMigrationRollbackUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.ts similarity index 91% rename from apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.ts index 6de0777922d..4ab2ea5c24f 100644 --- a/apps/server/src/modules/user-login-migration/uc/user-login-migration-rollback.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration-rollback.uc.ts @@ -2,7 +2,7 @@ import { AuthorizationService } from '@modules/authorization'; import { Injectable } from '@nestjs/common'; import { Permission } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationRollbackService } from '../service'; +import { UserLoginMigrationRollbackService } from '../../domain/service'; @Injectable() export class UserLoginMigrationRollbackUc { diff --git a/apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.spec.ts b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.spec.ts rename to apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.spec.ts index a34710b2a1d..ed5dc3d9820 100644 --- a/apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.spec.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.spec.ts @@ -8,6 +8,7 @@ import { legacySchoolDoFactory } from '@modules/legacy-school/testing'; import { OAuthService } from '@modules/oauth'; import { OAuthTokenDto } from '@modules/oauth-adapter'; import { ExternalSchoolDto, OauthDataDto, ProvisioningService, ProvisioningSystemDto } from '@modules/provisioning'; +import { externalUserDtoFactory } from '@modules/provisioning/testing'; import { schoolEntityFactory } from '@modules/school/testing'; import { systemEntityFactory } from '@modules/system/testing'; import { UserService } from '@modules/user'; @@ -20,8 +21,7 @@ import { Page, RoleReference } from '@shared/domain/domainobject'; import { Permission, RoleName } from '@shared/domain/interface'; import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy'; import { setupEntities } from '@testing/database'; -import { externalUserDtoFactory } from '../../provisioning/testing'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationDO } from '../../domain'; import { ExternalSchoolNumberMissingLoggableException, InvalidUserLoginMigrationLoggableException, @@ -30,9 +30,9 @@ import { UserLoginMigrationInvalidExternalSchoolIdLoggableException, UserLoginMigrationMultipleEmailUsersLoggableException, UserLoginMigrationSchoolAlreadyMigratedLoggableException, -} from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service'; -import { userLoginMigrationDOFactory } from '../testing'; +} from '../../domain/loggable'; +import { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../../domain/service'; +import { userLoginMigrationDOFactory } from '../../testing'; import { UserLoginMigrationUc } from './user-login-migration.uc'; describe(UserLoginMigrationUc.name, () => { diff --git a/apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts rename to apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.ts index 1aa5f994a6b..08b0b86571a 100644 --- a/apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts +++ b/apps/server/src/modules/user-login-migration/api/uc/user-login-migration.uc.ts @@ -11,7 +11,8 @@ import { NotFoundLoggableException } from '@shared/common/loggable-exception'; import { Page, RoleReference } from '@shared/domain/domainobject'; import { Permission, RoleName } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationQuery } from '../../domain/interface'; import { ExternalSchoolNumberMissingLoggableException, InvalidUserLoginMigrationLoggableException, @@ -24,9 +25,8 @@ import { UserMigrationCorrectionSuccessfulLoggable, UserMigrationStartedLoggable, UserMigrationSuccessfulLoggable, -} from '../loggable'; -import { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service'; -import { UserLoginMigrationQuery } from './dto'; +} from '../../domain/loggable'; +import { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../../domain/service'; @Injectable() export class UserLoginMigrationUc { diff --git a/apps/server/src/modules/user-login-migration/controller/user-login-migration-rollback.controller.ts b/apps/server/src/modules/user-login-migration/api/user-login-migration-rollback.controller.ts similarity index 96% rename from apps/server/src/modules/user-login-migration/controller/user-login-migration-rollback.controller.ts rename to apps/server/src/modules/user-login-migration/api/user-login-migration-rollback.controller.ts index 8b17eaa6440..c345a1cdd1a 100644 --- a/apps/server/src/modules/user-login-migration/controller/user-login-migration-rollback.controller.ts +++ b/apps/server/src/modules/user-login-migration/api/user-login-migration-rollback.controller.ts @@ -9,8 +9,8 @@ import { ApiUnauthorizedResponse, ApiUnprocessableEntityResponse, } from '@nestjs/swagger'; -import { UserLoginMigrationRollbackUc } from '../uc'; import { UserIdParams } from './dto'; +import { UserLoginMigrationRollbackUc } from './uc'; @ApiTags('UserLoginMigration Rollback') @Controller('user-login-migrations') diff --git a/apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts b/apps/server/src/modules/user-login-migration/api/user-login-migration.controller.ts similarity index 93% rename from apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts rename to apps/server/src/modules/user-login-migration/api/user-login-migration.controller.ts index 45030369601..f16eaae42ca 100644 --- a/apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts +++ b/apps/server/src/modules/user-login-migration/api/user-login-migration.controller.ts @@ -14,22 +14,13 @@ import { } from '@nestjs/swagger'; import { Page } from '@shared/domain/domainobject'; import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationQuery } from '../domain/interface'; import { SchoolNumberMissingLoggableException, UserLoginMigrationAlreadyClosedLoggableException, UserLoginMigrationGracePeriodExpiredLoggableException, UserLoginMigrationNotFoundLoggableException, -} from '../loggable'; -import { UserLoginMigrationMapper } from '../mapper'; -import { - CloseMigrationWizardUc, - CloseUserLoginMigrationUc, - RestartUserLoginMigrationUc, - StartUserLoginMigrationUc, - ToggleUserLoginMigrationUc, - UserLoginMigrationQuery, - UserLoginMigrationUc, -} from '../uc'; +} from '../domain/loggable'; import { ForceMigrationParams, Oauth2MigrationParams, @@ -39,6 +30,15 @@ import { UserLoginMigrationSearchListResponse, UserLoginMigrationSearchParams, } from './dto'; +import { UserLoginMigrationMapper } from './mapper'; +import { + CloseMigrationWizardUc, + CloseUserLoginMigrationUc, + RestartUserLoginMigrationUc, + StartUserLoginMigrationUc, + ToggleUserLoginMigrationUc, + UserLoginMigrationUc, +} from './uc'; @ApiTags('UserLoginMigration') @Controller('user-login-migrations') @@ -61,7 +61,7 @@ export class UserLoginMigrationController { }) @ApiOkResponse({ description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse }) @ApiInternalServerErrorResponse({ description: 'Cannot find target system information.' }) - async getMigrations( + public async getMigrations( @CurrentUser() user: ICurrentUser, @Query() params: UserLoginMigrationSearchParams ): Promise { @@ -91,7 +91,7 @@ export class UserLoginMigrationController { @ApiForbiddenResponse() @ApiOkResponse({ description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse }) @ApiNotFoundResponse({ description: 'Cannot find UserLoginMigration' }) - async findUserLoginMigrationBySchool( + public async findUserLoginMigrationBySchool( @CurrentUser() user: ICurrentUser, @Param() params: SchoolIdParams ): Promise { @@ -117,7 +117,7 @@ export class UserLoginMigrationController { }) @ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse }) @ApiForbiddenResponse() - async startMigration(@CurrentUser() currentUser: ICurrentUser): Promise { + public async startMigration(@CurrentUser() currentUser: ICurrentUser): Promise { const migrationDto: UserLoginMigrationDO = await this.startUserLoginMigrationUc.startMigration( currentUser.userId, currentUser.schoolId @@ -141,7 +141,7 @@ export class UserLoginMigrationController { @ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse }) @ApiUnauthorizedResponse() @ApiForbiddenResponse() - async restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise { + public async restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise { const migrationDto: UserLoginMigrationDO = await this.restartUserLoginMigrationUc.restartMigration( currentUser.userId, currentUser.schoolId @@ -169,7 +169,7 @@ export class UserLoginMigrationController { @ApiOkResponse({ description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse }) @ApiUnauthorizedResponse() @ApiForbiddenResponse() - async setMigrationMandatory( + public async setMigrationMandatory( @CurrentUser() currentUser: ICurrentUser, @Body() body: UserLoginMigrationMandatoryParams ): Promise { @@ -203,7 +203,9 @@ export class UserLoginMigrationController { @ApiUnauthorizedResponse() @ApiForbiddenResponse() @ApiNoContentResponse({ description: 'User login migration was reverted' }) - async closeMigration(@CurrentUser() currentUser: ICurrentUser): Promise { + public async closeMigration( + @CurrentUser() currentUser: ICurrentUser + ): Promise { const userLoginMigration: UserLoginMigrationDO | undefined = await this.closeUserLoginMigrationUc.closeMigration( currentUser.userId, currentUser.schoolId @@ -223,7 +225,7 @@ export class UserLoginMigrationController { @Post('migrate-to-oauth2') @ApiOkResponse({ description: 'The User has been successfully migrated.' }) @ApiUnprocessableEntityResponse({ description: 'The migration of the User was not possible.' }) - async migrateUserLogin( + public async migrateUserLogin( @JWT() jwt: string, @CurrentUser() currentUser: ICurrentUser, @Body() body: Oauth2MigrationParams diff --git a/apps/server/src/modules/user-login-migration/domain/do/user-login-migration.do.ts b/apps/server/src/modules/user-login-migration/domain/do/user-login-migration.do.ts index ea8f0f72ee8..9f75fb07890 100644 --- a/apps/server/src/modules/user-login-migration/domain/do/user-login-migration.do.ts +++ b/apps/server/src/modules/user-login-migration/domain/do/user-login-migration.do.ts @@ -1,4 +1,4 @@ -import { BaseDO } from '@shared/domain/domainobject/base.do'; +import { BaseDO } from '@shared/domain/domainobject'; import { EntityId } from '@shared/domain/types'; export class UserLoginMigrationDO extends BaseDO { diff --git a/apps/server/src/modules/user-login-migration/uc/dto/index.ts b/apps/server/src/modules/user-login-migration/domain/interface/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/uc/dto/index.ts rename to apps/server/src/modules/user-login-migration/domain/interface/index.ts diff --git a/apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts b/apps/server/src/modules/user-login-migration/domain/interface/user-login-migration-query.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts rename to apps/server/src/modules/user-login-migration/domain/interface/user-login-migration-query.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/index.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/debug/index.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/index.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.spec.ts similarity index 95% rename from apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.spec.ts index 43fc21a6422..cd935aefa69 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.spec.ts @@ -1,6 +1,6 @@ import { ObjectId } from '@mikro-orm/mongodb'; import { legacySchoolDoFactory } from '@modules/legacy-school/testing'; -import { userLoginMigrationDOFactory } from '../../testing'; +import { userLoginMigrationDOFactory } from '../../../testing'; import { SchoolMigrationSuccessfulLoggable } from './school-migration-successful.loggable'; describe(SchoolMigrationSuccessfulLoggable.name, () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.ts similarity index 91% rename from apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.ts index 78af4e17e56..43979d7968f 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/school-migration-successful.loggable.ts @@ -1,6 +1,6 @@ import { Loggable, LogMessage } from '@core/logger'; import { LegacySchoolDo } from '@modules/legacy-school/domain'; -import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationDO } from '../../do'; export class SchoolMigrationSuccessfulLoggable implements Loggable { constructor(private readonly school: LegacySchoolDo, private readonly userLoginMigration: UserLoginMigrationDO) {} diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.spec.ts similarity index 77% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.spec.ts index e9dfe2cf65a..19af5e434ca 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.spec.ts @@ -1,8 +1,8 @@ import { LogMessage } from '@core/logger'; import { ObjectId } from '@mikro-orm/mongodb'; -import { UserMigrationCorrectionSuccessfulLoggable } from '@modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable'; -import { UserLoginMigrationDO } from '../../domain'; -import { userLoginMigrationDOFactory } from '../../testing'; +import { userLoginMigrationDOFactory } from '../../../testing'; +import { UserLoginMigrationDO } from '../../do'; +import { UserMigrationCorrectionSuccessfulLoggable } from './user-migration-correction-successful-loggable'; describe(UserMigrationCorrectionSuccessfulLoggable.name, () => { describe('getLogMessage', () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.ts similarity index 89% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.ts index 254c650ba92..5a0c93a5e9a 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-correction-successful-loggable.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-correction-successful-loggable.ts @@ -1,6 +1,6 @@ import { LogMessage } from '@core/logger'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationDO } from '../../do'; export class UserMigrationCorrectionSuccessfulLoggable { constructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {} diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.spec.ts similarity index 93% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.spec.ts index c90d88f60b1..56f459fd689 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.spec.ts @@ -1,5 +1,5 @@ import { ObjectId } from '@mikro-orm/mongodb'; -import { userLoginMigrationDOFactory } from '../../testing'; +import { userLoginMigrationDOFactory } from '../../../testing'; import { UserMigrationStartedLoggable } from './user-migration-started.loggable'; describe(UserMigrationStartedLoggable.name, () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.ts similarity index 90% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.ts index ac0492e0d2a..2f79d0b3396 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-started.loggable.ts @@ -1,6 +1,6 @@ import { Loggable, LogMessage } from '@core/logger'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationDO } from '../../do'; export class UserMigrationStartedLoggable implements Loggable { constructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {} diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.spec.ts similarity index 93% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.spec.ts index 0c6b1384494..71ec3a63151 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.spec.ts @@ -1,5 +1,5 @@ import { ObjectId } from '@mikro-orm/mongodb'; -import { userLoginMigrationDOFactory } from '../../testing'; +import { userLoginMigrationDOFactory } from '../../../testing'; import { UserMigrationSuccessfulLoggable } from './user-migration-successful.loggable'; describe(UserMigrationSuccessfulLoggable.name, () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.ts similarity index 90% rename from apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.ts index 1d045a3973b..4828fa74116 100644 --- a/apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/debug/user-migration-successful.loggable.ts @@ -1,6 +1,6 @@ import { Loggable, LogMessage } from '@core/logger'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../../domain'; +import { UserLoginMigrationDO } from '../../do'; export class UserMigrationSuccessfulLoggable implements Loggable { constructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {} diff --git a/apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/external-school-number-missing.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/external-school-number-missing.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/external-school-number-missing.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/external-school-number-missing.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/identical-user-login-migration-system.loggable-exception.spec.ts similarity index 91% rename from apps/server/src/modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/identical-user-login-migration-system.loggable-exception.spec.ts index d81f84b7ccc..75c91cb52d6 100644 --- a/apps/server/src/modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/identical-user-login-migration-system.loggable-exception.spec.ts @@ -1,5 +1,5 @@ -import { IdenticalUserLoginMigrationSystemLoggableException } from '@modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception'; import { ObjectId } from '@mikro-orm/mongodb'; +import { IdenticalUserLoginMigrationSystemLoggableException } from './identical-user-login-migration-system.loggable-exception'; describe(IdenticalUserLoginMigrationSystemLoggableException.name, () => { describe('getLogMessage', () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/identical-user-login-migration-system.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/identical-user-login-migration-system.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/identical-user-login-migration-system.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/index.ts b/apps/server/src/modules/user-login-migration/domain/loggable/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/index.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/index.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/invalid-user-login-migration.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/invalid-user-login-migration.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/invalid-user-login-migration.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/invalid-user-login-migration.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/moin-schule-system-not-found.loggable-exception.spec.ts similarity index 79% rename from apps/server/src/modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/moin-schule-system-not-found.loggable-exception.spec.ts index fa9e4e00956..123cf472707 100644 --- a/apps/server/src/modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/moin-schule-system-not-found.loggable-exception.spec.ts @@ -1,4 +1,4 @@ -import { MoinSchuleSystemNotFoundLoggableException } from '@modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception'; +import { MoinSchuleSystemNotFoundLoggableException } from './moin-schule-system-not-found.loggable-exception'; describe(MoinSchuleSystemNotFoundLoggableException.name, () => { describe('getLogMessage', () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/moin-schule-system-not-found.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/moin-schule-system-not-found.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/moin-schule-system-not-found.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-migration-database-operation-failed.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-migration-database-operation-failed.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-migration-database-operation-failed.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-migration-database-operation-failed.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-number-mismatch.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-number-mismatch.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-number-mismatch.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-number-mismatch.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-number-missing.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-number-missing.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/school-number-missing.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/school-number-missing.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-already-closed.loggable-exception.spec.ts similarity index 91% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-already-closed.loggable-exception.spec.ts index 71fb883f944..c139b08b413 100644 --- a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-already-closed.loggable-exception.spec.ts @@ -1,5 +1,5 @@ -import { UserLoginMigrationAlreadyClosedLoggableException } from '@modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception'; import { ObjectId } from '@mikro-orm/mongodb'; +import { UserLoginMigrationAlreadyClosedLoggableException } from './user-login-migration-already-closed.loggable-exception'; describe(UserLoginMigrationAlreadyClosedLoggableException.name, () => { describe('getLogMessage', () => { diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-already-closed.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-already-closed.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-grace-period-expired-loggable.exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-grace-period-expired-loggable.exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-admin.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-admin.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-admin.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-admin.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-admin.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-admin.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-admin.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-admin.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-external-school-id.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-external-school-id.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-external-school-id.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-external-school-id.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-external-school-id.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-external-school-id.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-invalid-external-school-id.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-invalid-external-school-id.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-mandatory.loggable.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-mandatory.loggable.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-mandatory.loggable.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-mandatory.loggable.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-multiple-email-users.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-multiple-email-users.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-multiple-email-users.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-multiple-email-users.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-multiple-email-users.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-multiple-email-users.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-multiple-email-users.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-multiple-email-users.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-not-found.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-not-found.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-school-already-migrated.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-school-already-migrated.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-school-already-migrated.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-school-already-migrated.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-school-already-migrated.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-school-already-migrated.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-school-already-migrated.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-school-already-migrated.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-start.loggable.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-start.loggable.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-start.loggable.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-start.loggable.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-user-already-migrated.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-user-already-migrated.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-user-already-migrated.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-user-already-migrated.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-login-migration-user-already-migrated.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-user-already-migrated.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-login-migration-user-already-migrated.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-login-migration-user-already-migrated.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-migration-database-operation-failed.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-migration-database-operation-failed.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-migration-database-operation-failed.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-migration-database-operation-failed.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-migration-rollback-successful.loggable.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-migration-rollback-successful.loggable.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-migration-rollback-successful.loggable.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-migration-rollback-successful.loggable.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-not-migrated.loggable-exception.spec.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-not-migrated.loggable-exception.spec.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-not-migrated.loggable-exception.spec.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-not-migrated.loggable-exception.spec.ts diff --git a/apps/server/src/modules/user-login-migration/loggable/user-not-migrated.loggable-exception.ts b/apps/server/src/modules/user-login-migration/domain/loggable/user-not-migrated.loggable-exception.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/loggable/user-not-migrated.loggable-exception.ts rename to apps/server/src/modules/user-login-migration/domain/loggable/user-not-migrated.loggable-exception.ts diff --git a/apps/server/src/modules/user-login-migration/service/index.ts b/apps/server/src/modules/user-login-migration/domain/service/index.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/service/index.ts rename to apps/server/src/modules/user-login-migration/domain/service/index.ts diff --git a/apps/server/src/modules/user-login-migration/service/migration-check.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/migration-check.service.spec.ts similarity index 98% rename from apps/server/src/modules/user-login-migration/service/migration-check.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/migration-check.service.spec.ts index ece6d678110..ab20c51315a 100644 --- a/apps/server/src/modules/user-login-migration/service/migration-check.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/migration-check.service.spec.ts @@ -4,8 +4,8 @@ import { legacySchoolDoFactory } from '@modules/legacy-school/testing'; import { UserService } from '@modules/user'; import { userDoFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationRepo } from '../repo'; +import { UserLoginMigrationRepo } from '../../repo'; +import { UserLoginMigrationDO } from '../do'; import { MigrationCheckService } from './migration-check.service'; describe('MigrationCheckService', () => { diff --git a/apps/server/src/modules/user-login-migration/service/migration-check.service.ts b/apps/server/src/modules/user-login-migration/domain/service/migration-check.service.ts similarity index 93% rename from apps/server/src/modules/user-login-migration/service/migration-check.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/migration-check.service.ts index 1c9da5bffaf..abd3d2f465d 100644 --- a/apps/server/src/modules/user-login-migration/service/migration-check.service.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/migration-check.service.ts @@ -3,8 +3,8 @@ import { UserService } from '@modules/user'; import { UserDo } from '@modules/user/domain'; import { Injectable } from '@nestjs/common'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; -import { UserLoginMigrationRepo } from '../repo'; +import { UserLoginMigrationRepo } from '../../repo'; +import { UserLoginMigrationDO } from '../do'; @Injectable() export class MigrationCheckService { diff --git a/apps/server/src/modules/user-login-migration/service/school-migration.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/school-migration.service.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/service/school-migration.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/school-migration.service.spec.ts index aeffe4754f5..ce3dce8be28 100644 --- a/apps/server/src/modules/user-login-migration/service/school-migration.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/school-migration.service.spec.ts @@ -8,14 +8,14 @@ import { UserDo } from '@modules/user/domain'; import { userDoFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { Page } from '@shared/domain/domainobject'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationRepo } from '../../repo'; +import { userLoginMigrationDOFactory } from '../../testing'; import { SchoolMigrationDatabaseOperationFailedLoggableException, SchoolNumberMismatchLoggableException, } from '../loggable'; -import { UserLoginMigrationRepo } from '../repo'; -import { userLoginMigrationDOFactory } from '../testing'; import { SchoolMigrationService } from './school-migration.service'; +import { UserLoginMigrationDO } from '../do'; describe(SchoolMigrationService.name, () => { let module: TestingModule; diff --git a/apps/server/src/modules/user-login-migration/service/school-migration.service.ts b/apps/server/src/modules/user-login-migration/domain/service/school-migration.service.ts similarity index 98% rename from apps/server/src/modules/user-login-migration/service/school-migration.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/school-migration.service.ts index 79346163210..4410e545ec6 100644 --- a/apps/server/src/modules/user-login-migration/service/school-migration.service.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/school-migration.service.ts @@ -5,12 +5,12 @@ import { UserService } from '@modules/user'; import { UserDo } from '@modules/user/domain'; import { Injectable } from '@nestjs/common'; import { performance } from 'perf_hooks'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationRepo } from '../../repo'; import { SchoolMigrationDatabaseOperationFailedLoggableException, SchoolNumberMismatchLoggableException, } from '../loggable'; -import { UserLoginMigrationRepo } from '../repo'; +import { UserLoginMigrationDO } from '../do'; @Injectable() export class SchoolMigrationService { diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.spec.ts similarity index 97% rename from apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.spec.ts index 5484f07cfb7..1f7239ef9f1 100644 --- a/apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.spec.ts @@ -2,7 +2,7 @@ import { createMock, DeepMocked } from '@golevelup/ts-jest'; import { LegacySchoolService } from '@modules/legacy-school'; import { SchoolFeature } from '@modules/school/domain'; import { Test, TestingModule } from '@nestjs/testing'; -import { userLoginMigrationDOFactory } from '../testing'; +import { userLoginMigrationDOFactory } from '../../testing'; import { UserLoginMigrationRevertService } from './user-login-migration-revert.service'; import { UserLoginMigrationService } from './user-login-migration.service'; diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.ts similarity index 93% rename from apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.ts index bb6b8b44046..e3678bcec36 100644 --- a/apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-revert.service.ts @@ -1,8 +1,8 @@ import { LegacySchoolService } from '@modules/legacy-school'; import { SchoolFeature } from '@modules/school/domain'; import { Injectable } from '@nestjs/common'; -import { UserLoginMigrationDO } from '../domain'; import { UserLoginMigrationService } from './user-login-migration.service'; +import { UserLoginMigrationDO } from '../do'; @Injectable() export class UserLoginMigrationRevertService { diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration-rollback.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-rollback.service.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/service/user-login-migration-rollback.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration-rollback.service.spec.ts index aec89690811..44e36199faf 100644 --- a/apps/server/src/modules/user-login-migration/service/user-login-migration-rollback.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-rollback.service.spec.ts @@ -7,12 +7,12 @@ import { UserService } from '@modules/user'; import { UserDo } from '@modules/user/domain'; import { userDoFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; +import { userLoginMigrationDOFactory } from '../../testing'; import { UserLoginMigrationNotFoundLoggableException, UserMigrationRollbackSuccessfulLoggable, UserNotMigratedLoggableException, } from '../loggable'; -import { userLoginMigrationDOFactory } from '../testing'; import { UserLoginMigrationRollbackService } from './user-login-migration-rollback.service'; import { UserLoginMigrationService } from './user-login-migration.service'; diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration-rollback.service.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration-rollback.service.ts similarity index 100% rename from apps/server/src/modules/user-login-migration/service/user-login-migration-rollback.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration-rollback.service.ts diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/service/user-login-migration.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.spec.ts index 281e6884af0..bc9b2fbf263 100644 --- a/apps/server/src/modules/user-login-migration/service/user-login-migration.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.spec.ts @@ -10,15 +10,15 @@ import { systemFactory } from '@modules/system/testing'; import { UserService } from '@modules/user'; import { userDoFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationRepo } from '../../repo'; +import { userLoginMigrationDOFactory } from '../../testing'; +import { UserLoginMigrationDO } from '../do'; import { IdenticalUserLoginMigrationSystemLoggableException, MoinSchuleSystemNotFoundLoggableException, UserLoginMigrationAlreadyClosedLoggableException, UserLoginMigrationGracePeriodExpiredLoggableException, } from '../loggable'; -import { UserLoginMigrationRepo } from '../repo'; -import { userLoginMigrationDOFactory } from '../testing'; import { UserLoginMigrationService } from './user-login-migration.service'; describe(UserLoginMigrationService.name, () => { diff --git a/apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.ts similarity index 98% rename from apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.ts index 0b422c225e9..f928632eda0 100644 --- a/apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-login-migration.service.ts @@ -7,14 +7,14 @@ import { SystemType } from '@modules/system/domain'; import { UserService } from '@modules/user'; import { Injectable } from '@nestjs/common'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationRepo } from '../../repo'; +import { UserLoginMigrationDO } from '../do'; import { IdenticalUserLoginMigrationSystemLoggableException, MoinSchuleSystemNotFoundLoggableException, UserLoginMigrationAlreadyClosedLoggableException, UserLoginMigrationGracePeriodExpiredLoggableException, } from '../loggable'; -import { UserLoginMigrationRepo } from '../repo'; @Injectable() export class UserLoginMigrationService { diff --git a/apps/server/src/modules/user-login-migration/service/user-migration.service.spec.ts b/apps/server/src/modules/user-login-migration/domain/service/user-migration.service.spec.ts similarity index 99% rename from apps/server/src/modules/user-login-migration/service/user-migration.service.spec.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-migration.service.spec.ts index 4605005c9f4..249ec0ac764 100644 --- a/apps/server/src/modules/user-login-migration/service/user-migration.service.spec.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-migration.service.spec.ts @@ -6,12 +6,12 @@ import { UserService } from '@modules/user'; import { userDoFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { roleFactory } from '@testing/factory/role.factory'; -import { UserLoginMigrationDO } from '../domain'; +import { userLoginMigrationDOFactory } from '../../testing'; +import { UserLoginMigrationDO } from '../do'; import { UserLoginMigrationUserAlreadyMigratedLoggableException, UserMigrationDatabaseOperationFailedLoggableException, } from '../loggable'; -import { userLoginMigrationDOFactory } from '../testing'; import { UserMigrationService } from './user-migration.service'; describe(UserMigrationService.name, () => { diff --git a/apps/server/src/modules/user-login-migration/service/user-migration.service.ts b/apps/server/src/modules/user-login-migration/domain/service/user-migration.service.ts similarity index 98% rename from apps/server/src/modules/user-login-migration/service/user-migration.service.ts rename to apps/server/src/modules/user-login-migration/domain/service/user-migration.service.ts index 1d47a350083..e1ba4d6c1b5 100644 --- a/apps/server/src/modules/user-login-migration/service/user-migration.service.ts +++ b/apps/server/src/modules/user-login-migration/domain/service/user-migration.service.ts @@ -4,7 +4,7 @@ import { UserService } from '@modules/user'; import { UserDo } from '@modules/user/domain'; import { Injectable } from '@nestjs/common'; import { EntityId } from '@shared/domain/types'; -import { UserLoginMigrationDO } from '../domain'; +import { UserLoginMigrationDO } from '../do'; import { UserLoginMigrationUserAlreadyMigratedLoggableException, UserMigrationDatabaseOperationFailedLoggableException, diff --git a/apps/server/src/modules/user-login-migration/index.ts b/apps/server/src/modules/user-login-migration/index.ts index bdcddcdf0a4..0f285866461 100644 --- a/apps/server/src/modules/user-login-migration/index.ts +++ b/apps/server/src/modules/user-login-migration/index.ts @@ -1,3 +1,4 @@ -export * from './user-login-migration.module'; -export * from './service'; +export { UserLoginMigrationDO } from './domain'; +export { MigrationCheckService, UserLoginMigrationService, UserMigrationService } from './domain/service'; export { UserLoginMigrationConfig } from './user-login-migration.config'; +export * from './user-login-migration.module'; diff --git a/apps/server/src/modules/user-login-migration/repo/index.ts b/apps/server/src/modules/user-login-migration/repo/index.ts index 328597b46ac..1a275977318 100644 --- a/apps/server/src/modules/user-login-migration/repo/index.ts +++ b/apps/server/src/modules/user-login-migration/repo/index.ts @@ -1,2 +1,2 @@ +export { UserLoginMigrationEntity, UserLoginMigrationEntityProps } from './user-login-migration.entity'; export { UserLoginMigrationRepo } from './user-login-migration.repo'; -export { UserLoginMigrationEntityProps, UserLoginMigrationEntity } from './user-login-migration.entity'; diff --git a/apps/server/src/modules/user-login-migration/repo/user-login-migration.entity.ts b/apps/server/src/modules/user-login-migration/repo/user-login-migration.entity.ts index 723720f48ae..29aa822a615 100644 --- a/apps/server/src/modules/user-login-migration/repo/user-login-migration.entity.ts +++ b/apps/server/src/modules/user-login-migration/repo/user-login-migration.entity.ts @@ -29,7 +29,7 @@ export class UserLoginMigrationEntity extends BaseEntityWithTimestamps { sourceSystem?: SystemEntity; @ManyToOne(() => SystemEntity) - targetSystem: SystemEntity; + targetSystem!: SystemEntity; @Property({ nullable: true }) mandatorySince?: Date; diff --git a/apps/server/src/modules/user-login-migration/repo/user-login-migration.repo.integration.spec.ts b/apps/server/src/modules/user-login-migration/repo/user-login-migration.repo.integration.spec.ts index 2a6a4f30923..db268c87ac1 100644 --- a/apps/server/src/modules/user-login-migration/repo/user-login-migration.repo.integration.spec.ts +++ b/apps/server/src/modules/user-login-migration/repo/user-login-migration.repo.integration.spec.ts @@ -5,11 +5,11 @@ import { SchoolEntity } from '@modules/school/repo'; import { schoolEntityFactory } from '@modules/school/testing'; import { type SystemEntity } from '@modules/system/repo'; import { systemEntityFactory } from '@modules/system/testing'; -import { userLoginMigrationFactory } from '@modules/user-login-migration/testing'; import { Test, TestingModule } from '@nestjs/testing'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { UserLoginMigrationDO } from '../domain'; +import { userLoginMigrationFactory } from '../testing'; import { UserLoginMigrationEntity } from './user-login-migration.entity'; import { UserLoginMigrationRepo } from './user-login-migration.repo'; diff --git a/apps/server/src/modules/user-login-migration/service/dto/index.ts b/apps/server/src/modules/user-login-migration/service/dto/index.ts deleted file mode 100644 index bbc5344f4dd..00000000000 --- a/apps/server/src/modules/user-login-migration/service/dto/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './migration.dto'; -export * from './page-content.dto'; diff --git a/apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts b/apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts deleted file mode 100644 index 726a851f391..00000000000 --- a/apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts +++ /dev/null @@ -1,7 +0,0 @@ -export class MigrationDto { - redirect: string; - - constructor(userMigrationDto: MigrationDto) { - this.redirect = userMigrationDto.redirect; - } -} diff --git a/apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts b/apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts deleted file mode 100644 index 9759858b1ab..00000000000 --- a/apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts +++ /dev/null @@ -1,10 +0,0 @@ -export class PageContentDto { - proceedButtonUrl: string; - - cancelButtonUrl: string; - - constructor(props: PageContentDto) { - this.proceedButtonUrl = props.proceedButtonUrl; - this.cancelButtonUrl = props.cancelButtonUrl; - } -} diff --git a/apps/server/src/modules/user-login-migration/testing/index.ts b/apps/server/src/modules/user-login-migration/testing/index.ts index 343b1825184..fca962356f5 100644 --- a/apps/server/src/modules/user-login-migration/testing/index.ts +++ b/apps/server/src/modules/user-login-migration/testing/index.ts @@ -1,2 +1,3 @@ +export * from './user-login-migration-do.factory'; export * from './user-login-migration.factory'; export * from './user-login-migration-do.factory'; diff --git a/apps/server/src/modules/user-login-migration/testing/user-login-migration-do.factory.ts b/apps/server/src/modules/user-login-migration/testing/user-login-migration-do.factory.ts index 11340989261..9026267b6c6 100644 --- a/apps/server/src/modules/user-login-migration/testing/user-login-migration-do.factory.ts +++ b/apps/server/src/modules/user-login-migration/testing/user-login-migration-do.factory.ts @@ -1,4 +1,4 @@ -import { DoBaseFactory } from '@testing/factory/domainobject/do-base.factory'; +import { DoBaseFactory } from '@testing/factory/domainobject'; import { UserLoginMigrationDO } from '../domain'; export const userLoginMigrationDOFactory = DoBaseFactory.define( diff --git a/apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts b/apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts index 3946436de64..afbe443c34b 100644 --- a/apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts +++ b/apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts @@ -1,3 +1,4 @@ +import { LoggerModule } from '@core/logger'; import { AuthenticationModule } from '@modules/authentication'; import { AuthorizationModule } from '@modules/authorization'; import { LegacySchoolModule } from '@modules/legacy-school'; @@ -6,9 +7,6 @@ import { ProvisioningModule } from '@modules/provisioning'; import { UserModule } from '@modules/user'; import { ImportUserModule } from '@modules/user-import'; import { Module } from '@nestjs/common'; -import { LoggerModule } from '@core/logger'; -import { UserLoginMigrationRollbackController } from './controller/user-login-migration-rollback.controller'; -import { UserLoginMigrationController } from './controller/user-login-migration.controller'; import { CloseMigrationWizardUc, CloseUserLoginMigrationUc, @@ -17,7 +15,9 @@ import { ToggleUserLoginMigrationUc, UserLoginMigrationRollbackUc, UserLoginMigrationUc, -} from './uc'; +} from './api/uc'; +import { UserLoginMigrationRollbackController } from './api/user-login-migration-rollback.controller'; +import { UserLoginMigrationController } from './api/user-login-migration.controller'; import { UserLoginMigrationModule } from './user-login-migration.module'; @Module({ diff --git a/apps/server/src/modules/user-login-migration/user-login-migration.module.ts b/apps/server/src/modules/user-login-migration/user-login-migration.module.ts index b1660c3fade..6ac3e4b3dab 100644 --- a/apps/server/src/modules/user-login-migration/user-login-migration.module.ts +++ b/apps/server/src/modules/user-login-migration/user-login-migration.module.ts @@ -4,7 +4,6 @@ import { LegacySchoolModule } from '@modules/legacy-school'; import { SystemModule } from '@modules/system'; import { UserModule } from '@modules/user'; import { Module } from '@nestjs/common'; -import { UserLoginMigrationRepo } from './repo'; import { MigrationCheckService, SchoolMigrationService, @@ -12,7 +11,8 @@ import { UserLoginMigrationRollbackService, UserLoginMigrationService, UserMigrationService, -} from './service'; +} from './domain/service'; +import { UserLoginMigrationRepo } from './repo'; @Module({ imports: [UserModule, LegacySchoolModule, LoggerModule, AccountModule, SystemModule], From 475147618fc1ec4b3077b6ee943aecb01e36f6b6 Mon Sep 17 00:00:00 2001 From: Max Bischof <106820326+bischofmax@users.noreply.github.com> Date: Fri, 7 Mar 2025 12:50:49 +0100 Subject: [PATCH 2/2] BC-9189 - Move task things to task module (#5568) --- .../authorization-reference.module.ts | 2 +- .../domain/reference.loader.spec.ts | 2 +- .../domain/reference.loader.ts | 2 +- .../rules/lesson.rule.spec.ts | 3 +- .../rules/submission.rule.spec.ts | 5 ++- .../rules/task.rule.spec.ts | 5 ++- .../authorization-rules/rules/task.rule.ts | 2 +- .../service/authorization.helper.spec.ts | 5 ++- .../src/modules/board/board.entity.imports.ts | 2 +- .../copy-helper/mapper/copy.mapper.spec.ts | 4 +- .../modules/copy-helper/mapper/copy.mapper.ts | 6 +-- .../src/modules/course/repo/course.entity.ts | 3 +- .../modules/course/repo/coursegroup.entity.ts | 3 +- .../files-storage-client/interfaces/types.ts | 3 +- ...copy-files-of-parent-param.builder.spec.ts | 5 ++- .../mapper/files-storage-client.mapper.ts | 3 +- .../files-storage-param.builder.spec.ts | 5 ++- .../service/copy-files.service.spec.ts | 3 +- .../files-storage-client.service.spec.ts | 5 ++- .../api-test/course-rooms.api.spec.ts | 4 +- .../mapper/board-taskStatus.mapper.ts | 2 +- .../mapper/room-board-response.mapper.spec.ts | 5 ++- .../mapper/room-board-response.mapper.ts | 2 +- .../mikro-orm/legacy-board-element.entity.ts | 3 +- .../mikro-orm/legacy-board.entity.spec.ts | 5 ++- .../repo/mikro-orm/legacy-board.entity.ts | 3 +- .../repo/mikro-orm/legacy-board.repo.spec.ts | 3 +- .../mikro-orm/lesson-board-element.spec.ts | 3 +- .../mikro-orm/task-board-element.entity.ts | 2 +- .../repo/mikro-orm/task-board-element.spec.ts | 5 ++- .../service/board-copy.service.spec.ts | 5 ++- .../learnroom/service/board-copy.service.ts | 2 +- .../service/course-rooms.service.spec.ts | 5 ++- .../learnroom/testing/boardelement.factory.ts | 4 +- .../learnroom/types/learnroom.types.ts | 2 +- .../learnroom/types/room-board.types.ts | 2 +- .../uc/course-rooms.authorisation.service.ts | 2 +- .../learnroom/uc/course-rooms.uc.spec.ts | 6 +-- .../learnroom/uc/lesson-copy.uc.spec.ts | 3 +- .../uc/room-board-dto.factory.spec.ts | 5 ++- .../learnroom/uc/room-board-dto.factory.ts | 4 +- .../uc/rooms.authorisation.service.spec.ts | 5 ++- .../api-test/lesson-tasks.api.spec.ts | 2 +- .../controller/mapper/lesson.mapper.spec.ts | 5 ++- .../lesson/controller/mapper/lesson.mapper.ts | 2 +- .../lesson/repository/lesson.entity.spec.ts | 5 ++- .../lesson/repository/lesson.entity.ts | 3 +- .../lesson.repo.integration.spec.ts | 7 +-- .../service/lesson-copy.service.spec.ts | 5 ++- .../lesson/service/lesson.service.spec.ts | 5 ++- .../src/modules/lesson/uc/lesson.uc.spec.ts | 3 +- .../management/management.entity.imports.ts | 2 +- .../url-handler/course-url-handler.spec.ts | 3 +- .../url-handler/lesson-url-handler.spec.ts | 3 +- .../url-handler/task-url-handler.spec.ts | 5 ++- .../server/admin-api-server.entity.imports.ts | 2 +- .../modules/server/server.entity.imports.ts | 2 +- .../service/share-token.service.spec.ts | 7 +-- .../sharing/service/share-token.service.ts | 2 +- .../modules/sharing/uc/share-token.uc.spec.ts | 5 ++- .../task/{controller => api}/dto/index.ts | 10 +++-- .../dto/submission.response.ts | 0 .../dto/submission.url.params.ts | 0 .../dto}/task-copy-parent.params.ts | 0 .../dto/task-copy.params.ts | 0 .../dto/task-create.params.ts | 3 +- .../dto/task-status.response.ts | 0 .../dto/task-update.params.ts | 3 +- .../{controller => api}/dto/task.response.ts | 0 .../dto/task.url.params.ts | 0 .../src/modules/task/{uc => api}/index.ts | 8 ++-- .../modules/task/{ => api}/mapper/index.ts | 0 .../mapper/submission.mapper.spec.ts | 5 ++- .../{ => api}/mapper/submission.mapper.ts | 2 +- .../{ => api}/mapper/task-status.mapper.ts | 4 +- .../task/{ => api}/mapper/task.mapper.spec.ts | 10 +++-- .../task/{ => api}/mapper/task.mapper.ts | 7 +-- .../submission.controller.ts | 4 +- .../task/{uc => api}/submission.uc.spec.ts | 7 +-- .../modules/task/{uc => api}/submission.uc.ts | 2 +- .../task/{uc => api}/task-copy.uc.spec.ts | 10 ++--- .../modules/task/{uc => api}/task-copy.uc.ts | 7 ++- .../task.controller.spec.ts | 3 +- .../{controller => api}/task.controller.ts | 9 ++-- .../modules/task/{uc => api}/task.uc.spec.ts | 9 ++-- .../src/modules/task/{uc => api}/task.uc.ts | 8 ++-- .../test}/submission.api.spec.ts | 4 +- .../test}/task-copy-timeout.api.spec.ts | 2 +- .../test}/task-delete.api.spec.ts | 2 +- .../test}/task-finish.api.spec.ts | 2 +- .../test}/task-finished.api.spec.ts | 2 +- .../test}/task-restore.api.spec.ts | 2 +- .../test}/task-revert-published.api.spec.ts | 2 +- .../api-test => api/test}/task.api.spec.ts | 4 +- .../src/modules/task/controller/index.ts | 2 - apps/server/src/modules/task/domain/index.ts | 2 + .../modules/task/domain/interface/index.ts | 1 + .../task/domain/interface/task.types.ts | 28 ++++++++++++ .../task/{ => domain}/service/index.ts | 0 .../service/submission.service.spec.ts | 5 ++- .../service/submission.service.ts | 0 .../service/task-copy.service.spec.ts | 6 +-- .../{ => domain}/service/task-copy.service.ts | 3 +- .../{ => domain}/service/task.service.spec.ts | 6 +-- .../task/{ => domain}/service/task.service.ts | 3 +- apps/server/src/modules/task/index.ts | 4 +- apps/server/src/modules/task/repo/index.ts | 3 ++ .../task/repo}/task-scope.spec.ts | 6 +-- .../task => modules/task/repo}/task-scope.ts | 4 +- .../task/repo}/task.entity.spec.ts | 5 +-- .../task/repo}/task.entity.ts | 21 ++++++--- .../task/repo}/task.repo.integration.spec.ts | 7 +-- .../task => modules/task/repo}/task.repo.ts | 4 +- .../src/modules/task/task-api.module.ts | 6 +-- apps/server/src/modules/task/task.module.ts | 4 +- apps/server/src/modules/task/testing/index.ts | 1 + .../task/testing}/task.factory.ts | 9 +--- apps/server/src/modules/task/types/index.ts | 1 - .../common/uc/tool-permission-helper.spec.ts | 3 +- .../context-external-tool.rule.spec.ts | 3 +- apps/server/src/shared/domain/entity/index.ts | 1 - .../domain/entity/submission.entity.spec.ts | 5 ++- .../shared/domain/entity/submission.entity.ts | 2 +- apps/server/src/shared/domain/types/index.ts | 1 - .../src/shared/domain/types/task.types.ts | 45 ------------------- .../submission.repo.integration.spec.ts | 5 ++- apps/server/src/shared/repo/task/index.ts | 1 - .../src/testing/factory/submission.factory.ts | 3 +- 128 files changed, 291 insertions(+), 258 deletions(-) rename apps/server/src/modules/task/{controller => api}/dto/index.ts (76%) rename apps/server/src/modules/task/{controller => api}/dto/submission.response.ts (100%) rename apps/server/src/modules/task/{controller => api}/dto/submission.url.params.ts (100%) rename apps/server/src/modules/task/{types => api/dto}/task-copy-parent.params.ts (100%) rename apps/server/src/modules/task/{controller => api}/dto/task-copy.params.ts (100%) rename apps/server/src/modules/task/{controller => api}/dto/task-create.params.ts (92%) rename apps/server/src/modules/task/{controller => api}/dto/task-status.response.ts (100%) rename apps/server/src/modules/task/{controller => api}/dto/task-update.params.ts (92%) rename apps/server/src/modules/task/{controller => api}/dto/task.response.ts (100%) rename apps/server/src/modules/task/{controller => api}/dto/task.url.params.ts (100%) rename apps/server/src/modules/task/{uc => api}/index.ts (54%) rename apps/server/src/modules/task/{ => api}/mapper/index.ts (100%) rename apps/server/src/modules/task/{ => api}/mapper/submission.mapper.spec.ts (89%) rename apps/server/src/modules/task/{ => api}/mapper/submission.mapper.ts (88%) rename apps/server/src/modules/task/{ => api}/mapper/task-status.mapper.ts (56%) rename apps/server/src/modules/task/{ => api}/mapper/task.mapper.spec.ts (93%) rename apps/server/src/modules/task/{ => api}/mapper/task.mapper.ts (91%) rename apps/server/src/modules/task/{controller => api}/submission.controller.ts (92%) rename apps/server/src/modules/task/{uc => api}/submission.uc.spec.ts (97%) rename apps/server/src/modules/task/{uc => api}/submission.uc.ts (97%) rename apps/server/src/modules/task/{uc => api}/task-copy.uc.spec.ts (97%) rename apps/server/src/modules/task/{uc => api}/task-copy.uc.ts (96%) rename apps/server/src/modules/task/{controller => api}/task.controller.spec.ts (96%) rename apps/server/src/modules/task/{controller => api}/task.controller.ts (92%) rename apps/server/src/modules/task/{uc => api}/task.uc.spec.ts (99%) rename apps/server/src/modules/task/{uc => api}/task.uc.ts (97%) rename apps/server/src/modules/task/{controller/api-test => api/test}/submission.api.spec.ts (98%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-copy-timeout.api.spec.ts (97%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-delete.api.spec.ts (98%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-finish.api.spec.ts (97%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-finished.api.spec.ts (99%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-restore.api.spec.ts (97%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task-revert-published.api.spec.ts (97%) rename apps/server/src/modules/task/{controller/api-test => api/test}/task.api.spec.ts (99%) delete mode 100644 apps/server/src/modules/task/controller/index.ts create mode 100644 apps/server/src/modules/task/domain/index.ts create mode 100644 apps/server/src/modules/task/domain/interface/index.ts create mode 100644 apps/server/src/modules/task/domain/interface/task.types.ts rename apps/server/src/modules/task/{ => domain}/service/index.ts (100%) rename apps/server/src/modules/task/{ => domain}/service/submission.service.spec.ts (99%) rename apps/server/src/modules/task/{ => domain}/service/submission.service.ts (100%) rename apps/server/src/modules/task/{ => domain}/service/task-copy.service.spec.ts (98%) rename apps/server/src/modules/task/{ => domain}/service/task-copy.service.ts (96%) rename apps/server/src/modules/task/{ => domain}/service/task.service.spec.ts (98%) rename apps/server/src/modules/task/{ => domain}/service/task.service.ts (98%) create mode 100644 apps/server/src/modules/task/repo/index.ts rename apps/server/src/{shared/repo/task => modules/task/repo}/task-scope.spec.ts (92%) rename apps/server/src/{shared/repo/task => modules/task/repo}/task-scope.ts (96%) rename apps/server/src/{shared/domain/entity => modules/task/repo}/task.entity.spec.ts (99%) rename apps/server/src/{shared/domain/entity => modules/task/repo}/task.entity.ts (94%) rename apps/server/src/{shared/repo/task => modules/task/repo}/task.repo.integration.spec.ts (99%) rename apps/server/src/{shared/repo/task => modules/task/repo}/task.repo.ts (98%) create mode 100644 apps/server/src/modules/task/testing/index.ts rename apps/server/src/{testing/factory => modules/task/testing}/task.factory.ts (75%) delete mode 100644 apps/server/src/modules/task/types/index.ts delete mode 100644 apps/server/src/shared/domain/types/task.types.ts delete mode 100644 apps/server/src/shared/repo/task/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 621a5ab7cd6..e614a26210e 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,10 @@ 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 { UserModule } from '@modules/user'; import { Module } from '@nestjs/common'; import { SubmissionRepo } from '@shared/repo/submission'; -import { TaskRepo } from '@shared/repo/task'; 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 bf0384766c6..fdd8c2496df 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,13 @@ 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 { 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 { TaskRepo } from '@shared/repo/task'; 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 7f08beb9750..01b915b4211 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,12 @@ import { } from '@modules/authorization'; import { InstanceService } from '@modules/instance'; import { LegacySchoolRepo } from '@modules/legacy-school/repo'; +import { 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'; -import { TaskRepo } from '@shared/repo/task'; @Injectable() export class ReferenceLoader { 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 0461559a28a..425dfbd162d 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,11 +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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 521e573623a..4d7991e5637 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,16 +7,17 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 { taskFactory } from '@testing/factory/task.factory'; import { CourseGroupRule } from './course-group.rule'; import { CourseRule } from './course.rule'; import { LessonRule } from './lesson.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 9a5464984e4..76c2ae127c4 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,14 +4,15 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { Permission, RoleName } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { CourseGroupRule } from './course-group.rule'; import { CourseRule } from './course.rule'; import { LessonRule } from './lesson.rule'; diff --git a/apps/server/src/modules/authorization-rules/rules/task.rule.ts b/apps/server/src/modules/authorization-rules/rules/task.rule.ts index aafebbd509f..b9cc08dcb8e 100644 --- a/apps/server/src/modules/authorization-rules/rules/task.rule.ts +++ b/apps/server/src/modules/authorization-rules/rules/task.rule.ts @@ -5,9 +5,9 @@ import { AuthorizationInjectionService, Rule, } from '@modules/authorization'; +import { Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; -import { Task } from '@shared/domain/entity'; import { CourseRule } from './course.rule'; import { LessonRule } from './lesson.rule'; 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 20892ceaad8..56d147937e4 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,13 +1,14 @@ 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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { Permission, RoleName } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { AuthorizationHelper } from './authorization.helper'; describe('AuthorizationHelper', () => { diff --git a/apps/server/src/modules/board/board.entity.imports.ts b/apps/server/src/modules/board/board.entity.imports.ts index 9c0ed45caf0..bd653af461b 100644 --- a/apps/server/src/modules/board/board.entity.imports.ts +++ b/apps/server/src/modules/board/board.entity.imports.ts @@ -36,6 +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 { 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 +49,6 @@ import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/ne 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 { Task } from '@shared/domain/entity/task.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/copy-helper/mapper/copy.mapper.spec.ts b/apps/server/src/modules/copy-helper/mapper/copy.mapper.spec.ts index 82a5ba873a1..2dba5a82c32 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.spec.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.spec.ts @@ -2,11 +2,11 @@ import { ObjectId } from '@mikro-orm/mongodb'; import { CopyElementType, CopyStatusEnum } from '@modules/copy-helper'; import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params'; import { LessonCopyParentParams } from '@modules/lesson'; -import { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params'; -import { TaskCopyParentParams } from '@modules/task/types'; +import { TaskCopyApiParams } from '@modules/task/api/dto/task-copy.params'; import { Test, TestingModule } from '@nestjs/testing'; import { CopyApiResponse } from '../dto/copy.response'; import { CopyMapper } from './copy.mapper'; +import { TaskCopyParentParams } from '@modules/task/api/dto'; describe('copy mapper', () => { let module: TestingModule; diff --git a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts index a0beab1a1c3..ed330c38d83 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts @@ -2,9 +2,9 @@ import { ColumnBoard } from '@modules/board/domain/colum-board.do'; import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params'; import { LessonEntity } from '@modules/lesson/repository'; import { LessonCopyParentParams } from '@modules/lesson/types/lesson-copy-parent.params'; -import { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params'; -import { TaskCopyParentParams } from '@modules/task/types/task-copy-parent.params'; -import { Task } from '@shared/domain/entity/task.entity'; +import { TaskCopyParentParams } from '@modules/task/api/dto/task-copy-parent.params'; +import { TaskCopyApiParams } from '@modules/task/api/dto/task-copy.params'; +import { Task } from '@modules/task/repo'; import { EntityId } from '@shared/domain/types'; import { CopyApiResponse } from '../dto/copy.response'; import { CopyStatus, CopyStatusEnum } from '../types/copy.types'; diff --git a/apps/server/src/modules/course/repo/course.entity.ts b/apps/server/src/modules/course/repo/course.entity.ts index bc531ff510f..e95dc827eda 100644 --- a/apps/server/src/modules/course/repo/course.entity.ts +++ b/apps/server/src/modules/course/repo/course.entity.ts @@ -3,9 +3,10 @@ import { ClassEntity } from '@modules/class/entity/class.entity'; import { GroupEntity } from '@modules/group/entity/group.entity'; import { LessonParent } from '@modules/lesson/repository'; import { SchoolEntity } from '@modules/school/repo'; +import { TaskParent } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception'; -import { BaseEntityWithTimestamps, TaskParent } from '@shared/domain/entity'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; import { EntityWithSchool } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; // eslint-disable-next-line import/no-cycle diff --git a/apps/server/src/modules/course/repo/coursegroup.entity.ts b/apps/server/src/modules/course/repo/coursegroup.entity.ts index 3b9e03fe3fe..eb5fa383f47 100644 --- a/apps/server/src/modules/course/repo/coursegroup.entity.ts +++ b/apps/server/src/modules/course/repo/coursegroup.entity.ts @@ -1,8 +1,9 @@ import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core'; import { LessonParent } from '@modules/lesson/repository'; import { SchoolEntity } from '@modules/school/repo'; +import { TaskParent } from '@modules/task/repo'; import { User } from '@modules/user/repo'; -import { BaseEntityWithTimestamps, TaskParent } from '@shared/domain/entity'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; import { EntityWithSchool } from '@shared/domain/interface'; import { EntityId } from '@shared/domain/types'; // eslint-disable-next-line import/no-cycle 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 a0d4b7c179d..4814372f152 100644 --- a/apps/server/src/modules/files-storage-client/interfaces/types.ts +++ b/apps/server/src/modules/files-storage-client/interfaces/types.ts @@ -1,5 +1,6 @@ import { LessonEntity } from '@modules/lesson/repository'; -import { Submission, Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; +import { Submission } from '@shared/domain/entity'; 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 bf7dd0bc47e..13b969b192d 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,11 @@ 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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; 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 6ec87d860ff..c1ec2f4d124 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,6 +1,7 @@ import { FileRecordParentType } from '@infra/rabbitmq'; import { LessonEntity } from '@modules/lesson/repository'; -import { Submission, Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; +import { Submission } from '@shared/domain/entity'; 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 a2b47854335..7defbe398ff 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,11 @@ 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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { FileParamBuilder } from './files-storage-param.builder'; describe('FileParamBuilder', () => { 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 b5e49d56778..31d795bab90 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,9 +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 { User } from '@modules/user/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 afc7178c128..654afdea146 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,13 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { FileParamBuilder, FilesStorageClientMapper } from '../mapper'; import { CopyFilesOfParentParamBuilder } from '../mapper/copy-files-of-parent-param.builder'; import { FilesStorageClientAdapterService } from './files-storage-client.service'; diff --git a/apps/server/src/modules/learnroom/controller/api-test/course-rooms.api.spec.ts b/apps/server/src/modules/learnroom/controller/api-test/course-rooms.api.spec.ts index adbb566a54c..896f526a4ff 100644 --- a/apps/server/src/modules/learnroom/controller/api-test/course-rooms.api.spec.ts +++ b/apps/server/src/modules/learnroom/controller/api-test/course-rooms.api.spec.ts @@ -10,11 +10,11 @@ import { LegacyBoard } from '@modules/learnroom/repo'; import { boardFactory } from '@modules/learnroom/testing'; import { lessonFactory } from '@modules/lesson/testing'; import { ServerTestModule } from '@modules/server/server.app.module'; +import { Task } from '@modules/task/repo'; +import { taskFactory } from '@modules/task/testing'; import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { Task } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; diff --git a/apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts b/apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts index 7a90f5f9d59..429a2ec6b5c 100644 --- a/apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts +++ b/apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts @@ -1,4 +1,4 @@ -import { TaskStatus } from '@shared/domain/types'; +import { TaskStatus } from '@modules/task'; import { BoardTaskStatusResponse } from '../controller/dto'; export class BoardTaskStatusMapper { 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 4cfe2a125c3..49123598f20 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,11 @@ 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 { taskFactory } from '@modules/task/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { BoardElementResponse, SingleColumnBoardResponse } from '../controller/dto'; import { ColumnBoardMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types'; import { RoomBoardResponseMapper } from './room-board-response.mapper'; diff --git a/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts b/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts index a2f05c88fbe..8cd6aeee61f 100644 --- a/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts +++ b/apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts @@ -1,6 +1,6 @@ import { CourseEntity } from '@modules/course/repo'; +import { TaskWithStatusVo } from '@modules/task/repo'; import { Injectable } from '@nestjs/common'; -import { TaskWithStatusVo } from '@shared/domain/entity'; import { BoardElementResponse, BoardLessonResponse, diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board-element.entity.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board-element.entity.ts index 86683f925ae..4307d5e7100 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board-element.entity.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board-element.entity.ts @@ -1,6 +1,7 @@ import { Entity, Enum } from '@mikro-orm/core'; import { LessonEntity } from '@modules/lesson/repository'; -import { BaseEntityWithTimestamps, Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { ColumnBoardNode } from './column-board-node.entity'; 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 0ae80345763..14ece8d731c 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,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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { BadRequestException } from '@nestjs/common'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { boardFactory, columnboardBoardElementFactory, diff --git a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.ts index 8c8f673667e..4586bca87e6 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/legacy-board.entity.ts @@ -1,8 +1,9 @@ import { Collection, Entity, IdentifiedReference, ManyToMany, OneToOne, wrap } from '@mikro-orm/core'; import { CourseEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; +import { Task } from '@modules/task/repo'; import { BadRequestException, NotFoundException } from '@nestjs/common'; -import { BaseEntityWithTimestamps, Task } from '@shared/domain/entity'; +import { BaseEntityWithTimestamps } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { LearnroomElement } from '../../types'; import { ColumnBoardBoardElement } from './column-board-board-element.entity'; 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 26be41ba5d0..758e2b9db42 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,8 +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 { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 12f3c3ad239..64df7cdd882 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,7 +1,8 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; +import { Material, Submission } 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.entity.ts b/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.entity.ts index b39c4391ecd..6d5d905031c 100644 --- a/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.entity.ts +++ b/apps/server/src/modules/learnroom/repo/mikro-orm/task-board-element.entity.ts @@ -1,5 +1,5 @@ import { Entity, ManyToOne } from '@mikro-orm/core'; -import { Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; import { LegacyBoardElement, LegacyBoardElementType } from './legacy-board-element.entity'; @Entity({ discriminatorValue: LegacyBoardElementType.Task }) 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 e3c34f8f9b8..ad9568352f4 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,10 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; +import { Task } from '@modules/task/repo'; +import { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; 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 277cfaf8d08..5b99b38552b 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,14 +12,15 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { ColumnBoardNodeRepo, LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; import { boardFactory, diff --git a/apps/server/src/modules/learnroom/service/board-copy.service.ts b/apps/server/src/modules/learnroom/service/board-copy.service.ts index a0fc334486c..de3c0c2098e 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.ts @@ -6,10 +6,10 @@ import { StorageLocation } from '@modules/files-storage/interface'; import { LessonCopyService } from '@modules/lesson'; import { isLesson, LessonEntity } from '@modules/lesson/repository'; import { TaskCopyService } from '@modules/task'; +import { isTask, Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; import { getResolvedValues } from '@shared/common/utils/promise'; -import { isTask, Task } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { sortBy } from 'lodash'; import { 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 c6b3030865b..842fc1c9a60 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,13 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { ColumnBoardNodeRepo, LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; import { boardFactory, columnBoardNodeFactory } from '../testing'; import { CourseRoomsService } from './course-rooms.service'; diff --git a/apps/server/src/modules/learnroom/testing/boardelement.factory.ts b/apps/server/src/modules/learnroom/testing/boardelement.factory.ts index f5ecc22b988..412f330931a 100644 --- a/apps/server/src/modules/learnroom/testing/boardelement.factory.ts +++ b/apps/server/src/modules/learnroom/testing/boardelement.factory.ts @@ -1,8 +1,8 @@ import { LessonEntity } from '@modules/lesson/repository'; import { lessonFactory } from '@modules/lesson/testing'; -import { Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; +import { taskFactory } from '@modules/task/testing'; import { BaseFactory } from '@testing/factory/base.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { ColumnBoardBoardElement, ColumnBoardNode, LessonBoardElement, TaskBoardElement } from '../repo'; import { columnBoardNodeFactory } from './column-board-node.factory'; diff --git a/apps/server/src/modules/learnroom/types/learnroom.types.ts b/apps/server/src/modules/learnroom/types/learnroom.types.ts index ef800da3210..0979dcea2a2 100644 --- a/apps/server/src/modules/learnroom/types/learnroom.types.ts +++ b/apps/server/src/modules/learnroom/types/learnroom.types.ts @@ -1,6 +1,6 @@ import { CourseEntity, CourseMetadata, CourseType } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; import type { ColumnBoardNode } from '../repo'; export type Learnroom = CourseEntity; diff --git a/apps/server/src/modules/learnroom/types/room-board.types.ts b/apps/server/src/modules/learnroom/types/room-board.types.ts index 493894e3f55..bdf47165e71 100644 --- a/apps/server/src/modules/learnroom/types/room-board.types.ts +++ b/apps/server/src/modules/learnroom/types/room-board.types.ts @@ -1,5 +1,5 @@ import { BoardLayout } from '@modules/board'; -import { TaskWithStatusVo } from '@shared/domain/entity'; +import { TaskWithStatusVo } from '@modules/task/repo'; import { EntityId } from '@shared/domain/types'; export type RoomBoardDTO = { diff --git a/apps/server/src/modules/learnroom/uc/course-rooms.authorisation.service.ts b/apps/server/src/modules/learnroom/uc/course-rooms.authorisation.service.ts index f12a8a40dd1..16332c43c1c 100644 --- a/apps/server/src/modules/learnroom/uc/course-rooms.authorisation.service.ts +++ b/apps/server/src/modules/learnroom/uc/course-rooms.authorisation.service.ts @@ -1,8 +1,8 @@ import { CourseEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; +import { Task } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { Injectable, NotImplementedException } from '@nestjs/common'; -import { Task } from '@shared/domain/entity'; export enum TaskParentPermission { read, 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 2b98d6b09dc..519b4e7f743 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,15 +4,15 @@ 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 { 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, Task } from '@shared/domain/entity'; -import { TaskRepo } from '@shared/repo/task'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { LegacyBoard, LegacyBoardElement, LegacyBoardRepo } from '../repo'; import { CourseRoomsService } from '../service/course-rooms.service'; import { boardFactory } from '../testing'; 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 ee1c925eb22..92c65b53eab 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,11 +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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 705ad5fbf93..e1e6a8cd5ea 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,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, 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, Task, TaskWithStatusVo } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { LegacyBoard, LegacyBoardElement } from '../repo'; import { boardFactory, columnboardBoardElementFactory, lessonBoardElementFactory } from '../testing'; import { LessonMetaData } from '../types'; diff --git a/apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts b/apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts index 960893c8507..d6b3a9efe10 100644 --- a/apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts +++ b/apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts @@ -2,11 +2,11 @@ import { Configuration } from '@hpi-schul-cloud/commons/lib'; import { Action, AuthorizationService } from '@modules/authorization'; import { CourseEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; +import { TaskStatus } from '@modules/task'; +import { Task, TaskWithStatusVo } from '@modules/task/repo'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; -import { Task, TaskWithStatusVo } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; -import { TaskStatus } from '@shared/domain/types'; import { ColumnBoardBoardElement, ColumnBoardNode, 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 ccf31f9c8ed..218dbe390ba 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,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 } 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { CourseRoomsAuthorisationService } from './course-rooms.authorisation.service'; describe('rooms authorisation service', () => { diff --git a/apps/server/src/modules/lesson/controller/api-test/lesson-tasks.api.spec.ts b/apps/server/src/modules/lesson/controller/api-test/lesson-tasks.api.spec.ts index 33aee704791..cf2b928b571 100644 --- a/apps/server/src/modules/lesson/controller/api-test/lesson-tasks.api.spec.ts +++ b/apps/server/src/modules/lesson/controller/api-test/lesson-tasks.api.spec.ts @@ -2,9 +2,9 @@ import { EntityManager } from '@mikro-orm/core'; import { courseEntityFactory } from '@modules/course/testing'; import { lessonFactory } from '@modules/lesson/testing'; import { ServerTestModule } from '@modules/server'; +import { taskFactory } from '@modules/task/testing'; import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; 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 e51f6a24ea7..ffce956dd9e 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,11 +1,12 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; +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 { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { LessonLinkedTaskResponse } from '../dto/lesson-linked-task.response'; import { LessonMapper } from './lesson.mapper'; diff --git a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.ts b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.ts index 9d75c801ea1..12fe91c2a68 100644 --- a/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.ts +++ b/apps/server/src/modules/lesson/controller/mapper/lesson.mapper.ts @@ -1,5 +1,5 @@ import { LessonEntity } from '@modules/lesson/repository'; -import { Task } from '@shared/domain/entity'; +import { Task } from '@modules/task/repo'; import { LessonMetadataResponse } from '../dto'; 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 2f03de7adc8..865bcbf7001 100644 --- a/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts +++ b/apps/server/src/modules/lesson/repository/lesson.entity.spec.ts @@ -3,11 +3,12 @@ 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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { lessonFactory } from '../testing'; import { ComponentProperties, ComponentType, LessonEntity } from './lesson.entity'; diff --git a/apps/server/src/modules/lesson/repository/lesson.entity.ts b/apps/server/src/modules/lesson/repository/lesson.entity.ts index 49168257e3f..b15830ef3ce 100644 --- a/apps/server/src/modules/lesson/repository/lesson.entity.ts +++ b/apps/server/src/modules/lesson/repository/lesson.entity.ts @@ -1,8 +1,9 @@ import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core'; import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LernstoreResources } from '@modules/lesson/controller'; +import { TaskParent, Task } from '@modules/task/repo'; import { InternalServerErrorException } from '@nestjs/common'; -import { BaseEntityWithTimestamps, Material, Task, TaskParent } from '@shared/domain/entity'; +import { BaseEntityWithTimestamps, Material } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; export interface LessonProperties { 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 c1d921abaf5..ff6c1ed1081 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,15 +1,16 @@ 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 { taskFactory } from '@modules/task/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; -import { taskFactory } from '@testing/factory/task.factory'; +import { lessonFactory } from '../testing'; import { ComponentProperties, ComponentType, LessonEntity } from './lesson.entity'; import { LessonRepo } from './lesson.repo'; -import { lessonFactory } from '../testing'; describe('LessonRepo', () => { let module: TestingModule; 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 a070aed072b..83aaf6a5978 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,15 +5,16 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { BaseEntity, Material, Submission } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; import { materialFactory } from '@testing/factory/material.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { ComponentEtherpadProperties, ComponentGeogebraProperties, 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 8cc7d8dd882..76002bf7278 100644 --- a/apps/server/src/modules/lesson/service/lesson.service.spec.ts +++ b/apps/server/src/modules/lesson/service/lesson.service.spec.ts @@ -13,13 +13,14 @@ 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 { EventBus } from '@nestjs/cqrs'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { ComponentProperties, ComponentType, LessonEntity, LessonRepo } from '../repository'; -import { LessonService } from './lesson.service'; import { lessonFactory } from '../testing'; +import { LessonService } from './lesson.service'; describe('LessonService', () => { let lessonService: LessonService; 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 0cb8d597cc9..d08c3c6944a 100644 --- a/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts +++ b/apps/server/src/modules/lesson/uc/lesson.uc.spec.ts @@ -3,10 +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 { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 526b86d95ea..4b6fb357d35 100644 --- a/apps/server/src/modules/management/management.entity.imports.ts +++ b/apps/server/src/modules/management/management.entity.imports.ts @@ -38,6 +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 { 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 +51,6 @@ import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/ne 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 { Task } from '@shared/domain/entity/task.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 c02e25eb0cf..ad77f94a29f 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,8 +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 { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 4463fd7ad1e..f67fa0df616 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,8 +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 { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 6f2c1826607..b113ce73028 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,12 @@ 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 { taskFactory } from '@modules/task/testing'; import { User } from '@modules/user/repo'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { ObjectId } from 'bson'; import { MetaDataEntityType } from '../../types'; import { TaskUrlHandler } from './task-url-handler'; 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 d6f3bfb3920..4a3afc1bff5 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,6 +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 { 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 +26,6 @@ import { SchoolNews, StorageProviderEntity, Submission, - Task, 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 805925e56e9..5c901a82b61 100644 --- a/apps/server/src/modules/server/server.entity.imports.ts +++ b/apps/server/src/modules/server/server.entity.imports.ts @@ -36,6 +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 { 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 +49,6 @@ import { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity/ne 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 { Task } from '@shared/domain/entity/task.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 9498cb5f417..960e13df4b9 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 @@ -8,13 +8,14 @@ import { courseEntityFactory } from '@modules/course/testing'; import { LessonEntity } from '@modules/lesson/repository'; import { LessonService } from '@modules/lesson/service'; import { lessonFactory } from '@modules/lesson/testing'; -import { TaskService } from '@modules/task/service'; +import { TaskService } from '@modules/task'; +import { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { ShareTokenContextType, ShareTokenParentType } from '../domainobject/share-token.do'; import { ShareTokenRepo } from '../repo/share-token.repo'; import { shareTokenDOFactory } from '../testing/share-token.do.factory'; diff --git a/apps/server/src/modules/sharing/service/share-token.service.ts b/apps/server/src/modules/sharing/service/share-token.service.ts index be4eef037a9..498df298546 100644 --- a/apps/server/src/modules/sharing/service/share-token.service.ts +++ b/apps/server/src/modules/sharing/service/share-token.service.ts @@ -1,7 +1,7 @@ import { ColumnBoardService } from '@modules/board'; import { CourseService } from '@modules/course'; import { LessonService } from '@modules/lesson/service'; -import { TaskService } from '@modules/task/service'; +import { TaskService } from '@modules/task'; import { Injectable, UnprocessableEntityException } from '@nestjs/common'; import { ShareTokenContext, 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 5d4277d01fd..964e1439756 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,15 +19,16 @@ 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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { Permission } from '@shared/domain/interface'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; import { ShareTokenContextType, ShareTokenParentType, ShareTokenPayload } from '../domainobject/share-token.do'; import { ShareTokenService } from '../service'; import { shareTokenDOFactory } from '../testing/share-token.do.factory'; diff --git a/apps/server/src/modules/task/controller/dto/index.ts b/apps/server/src/modules/task/api/dto/index.ts similarity index 76% rename from apps/server/src/modules/task/controller/dto/index.ts rename to apps/server/src/modules/task/api/dto/index.ts index 8f267ca4e85..062156277fd 100644 --- a/apps/server/src/modules/task/controller/dto/index.ts +++ b/apps/server/src/modules/task/api/dto/index.ts @@ -1,7 +1,9 @@ +export * from './submission.response'; +export * from './submission.url.params'; +export * from './task-copy-parent.params'; +export * from './task-copy.params'; +export * from './task-create.params'; export * from './task-status.response'; +export * from './task-update.params'; export * from './task.response'; export * from './task.url.params'; -export * from './task-create.params'; -export * from './task-update.params'; -export * from './submission.response'; -export * from './submission.url.params'; diff --git a/apps/server/src/modules/task/controller/dto/submission.response.ts b/apps/server/src/modules/task/api/dto/submission.response.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/submission.response.ts rename to apps/server/src/modules/task/api/dto/submission.response.ts diff --git a/apps/server/src/modules/task/controller/dto/submission.url.params.ts b/apps/server/src/modules/task/api/dto/submission.url.params.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/submission.url.params.ts rename to apps/server/src/modules/task/api/dto/submission.url.params.ts diff --git a/apps/server/src/modules/task/types/task-copy-parent.params.ts b/apps/server/src/modules/task/api/dto/task-copy-parent.params.ts similarity index 100% rename from apps/server/src/modules/task/types/task-copy-parent.params.ts rename to apps/server/src/modules/task/api/dto/task-copy-parent.params.ts diff --git a/apps/server/src/modules/task/controller/dto/task-copy.params.ts b/apps/server/src/modules/task/api/dto/task-copy.params.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/task-copy.params.ts rename to apps/server/src/modules/task/api/dto/task-copy.params.ts diff --git a/apps/server/src/modules/task/controller/dto/task-create.params.ts b/apps/server/src/modules/task/api/dto/task-create.params.ts similarity index 92% rename from apps/server/src/modules/task/controller/dto/task-create.params.ts rename to apps/server/src/modules/task/api/dto/task-create.params.ts index 5761fa02604..9a8997ed328 100644 --- a/apps/server/src/modules/task/controller/dto/task-create.params.ts +++ b/apps/server/src/modules/task/api/dto/task-create.params.ts @@ -1,6 +1,7 @@ +import { TaskCreate } from '@modules/task'; import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { SanitizeHtml } from '@shared/controller/transformer'; -import { InputFormat, TaskCreate } from '@shared/domain/types'; +import { InputFormat } from '@shared/domain/types'; import { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator'; export class TaskCreateParams implements TaskCreate { diff --git a/apps/server/src/modules/task/controller/dto/task-status.response.ts b/apps/server/src/modules/task/api/dto/task-status.response.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/task-status.response.ts rename to apps/server/src/modules/task/api/dto/task-status.response.ts diff --git a/apps/server/src/modules/task/controller/dto/task-update.params.ts b/apps/server/src/modules/task/api/dto/task-update.params.ts similarity index 92% rename from apps/server/src/modules/task/controller/dto/task-update.params.ts rename to apps/server/src/modules/task/api/dto/task-update.params.ts index 5a6574d0cb7..9e58c3a510c 100644 --- a/apps/server/src/modules/task/controller/dto/task-update.params.ts +++ b/apps/server/src/modules/task/api/dto/task-update.params.ts @@ -1,7 +1,8 @@ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { SanitizeHtml } from '@shared/controller/transformer'; -import { InputFormat, TaskUpdate } from '@shared/domain/types'; +import { InputFormat } from '@shared/domain/types'; import { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator'; +import { TaskUpdate } from '../../domain'; export class TaskUpdateParams implements TaskUpdate { @IsString() diff --git a/apps/server/src/modules/task/controller/dto/task.response.ts b/apps/server/src/modules/task/api/dto/task.response.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/task.response.ts rename to apps/server/src/modules/task/api/dto/task.response.ts diff --git a/apps/server/src/modules/task/controller/dto/task.url.params.ts b/apps/server/src/modules/task/api/dto/task.url.params.ts similarity index 100% rename from apps/server/src/modules/task/controller/dto/task.url.params.ts rename to apps/server/src/modules/task/api/dto/task.url.params.ts diff --git a/apps/server/src/modules/task/uc/index.ts b/apps/server/src/modules/task/api/index.ts similarity index 54% rename from apps/server/src/modules/task/uc/index.ts rename to apps/server/src/modules/task/api/index.ts index 6c185cde264..aec6f3108fc 100644 --- a/apps/server/src/modules/task/uc/index.ts +++ b/apps/server/src/modules/task/api/index.ts @@ -1,3 +1,5 @@ -export * from './submission.uc'; -export * from './task-copy.uc'; -export * from './task.uc'; +export * from './submission.controller'; +export * from './submission.uc'; +export * from './task-copy.uc'; +export * from './task.controller'; +export * from './task.uc'; diff --git a/apps/server/src/modules/task/mapper/index.ts b/apps/server/src/modules/task/api/mapper/index.ts similarity index 100% rename from apps/server/src/modules/task/mapper/index.ts rename to apps/server/src/modules/task/api/mapper/index.ts diff --git a/apps/server/src/modules/task/mapper/submission.mapper.spec.ts b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts similarity index 89% rename from apps/server/src/modules/task/mapper/submission.mapper.spec.ts rename to apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts index ae1a8ff838b..9a80a7dabae 100644 --- a/apps/server/src/modules/task/mapper/submission.mapper.spec.ts +++ b/apps/server/src/modules/task/api/mapper/submission.mapper.spec.ts @@ -1,10 +1,11 @@ import { CourseEntity, CourseGroupEntity } from '@modules/course/repo'; import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; -import { Material, Submission, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { SubmissionStatusResponse } from '../controller/dto'; +import { Task } from '../../repo'; +import { SubmissionStatusResponse } from '../dto'; import { SubmissionMapper } from './submission.mapper'; describe('Submission Mapper', () => { diff --git a/apps/server/src/modules/task/mapper/submission.mapper.ts b/apps/server/src/modules/task/api/mapper/submission.mapper.ts similarity index 88% rename from apps/server/src/modules/task/mapper/submission.mapper.ts rename to apps/server/src/modules/task/api/mapper/submission.mapper.ts index bbfdf5a7494..f5031deb1f6 100644 --- a/apps/server/src/modules/task/mapper/submission.mapper.ts +++ b/apps/server/src/modules/task/api/mapper/submission.mapper.ts @@ -1,5 +1,5 @@ import { Submission } from '@shared/domain/entity'; -import { SubmissionStatusResponse } from '../controller/dto'; +import { SubmissionStatusResponse } from '../dto'; export class SubmissionMapper { static mapToStatusResponse(submission: Submission): SubmissionStatusResponse { diff --git a/apps/server/src/modules/task/mapper/task-status.mapper.ts b/apps/server/src/modules/task/api/mapper/task-status.mapper.ts similarity index 56% rename from apps/server/src/modules/task/mapper/task-status.mapper.ts rename to apps/server/src/modules/task/api/mapper/task-status.mapper.ts index 03b169f075d..13b6b547757 100644 --- a/apps/server/src/modules/task/mapper/task-status.mapper.ts +++ b/apps/server/src/modules/task/api/mapper/task-status.mapper.ts @@ -1,5 +1,5 @@ -import { TaskStatus } from '@shared/domain/types'; -import { TaskStatusResponse } from '../controller/dto/task-status.response'; +import { TaskStatus } from '../../domain'; +import { TaskStatusResponse } from '../dto'; export class TaskStatusMapper { static mapToResponse(status: TaskStatus): TaskStatusResponse { diff --git a/apps/server/src/modules/task/mapper/task.mapper.spec.ts b/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts similarity index 93% rename from apps/server/src/modules/task/mapper/task.mapper.spec.ts rename to apps/server/src/modules/task/api/mapper/task.mapper.spec.ts index cffcfc2bb39..0a0471adbc8 100644 --- a/apps/server/src/modules/task/mapper/task.mapper.spec.ts +++ b/apps/server/src/modules/task/api/mapper/task.mapper.spec.ts @@ -2,11 +2,13 @@ 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, Task, TaskParentDescriptions } from '@shared/domain/entity'; -import { InputFormat, TaskStatus, TaskUpdate } from '@shared/domain/types'; +import { Material, Submission } from '@shared/domain/entity'; +import { InputFormat } from '@shared/domain/types'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; -import { TaskCreateParams, TaskResponse, TaskStatusResponse, TaskUpdateParams } from '../controller/dto'; +import { TaskStatus, TaskUpdate } from '../../domain'; +import { Task, TaskParentDescriptions } from '../../repo'; +import { taskFactory } from '../../testing'; +import { TaskCreateParams, TaskResponse, TaskStatusResponse, TaskUpdateParams } from '../dto'; import { TaskMapper } from './task.mapper'; const createExpectedResponse = (task: Task, status: TaskStatus, descriptions: TaskParentDescriptions): TaskResponse => { diff --git a/apps/server/src/modules/task/mapper/task.mapper.ts b/apps/server/src/modules/task/api/mapper/task.mapper.ts similarity index 91% rename from apps/server/src/modules/task/mapper/task.mapper.ts rename to apps/server/src/modules/task/api/mapper/task.mapper.ts index e527c7bd1b3..15704e4b8e6 100644 --- a/apps/server/src/modules/task/mapper/task.mapper.ts +++ b/apps/server/src/modules/task/api/mapper/task.mapper.ts @@ -1,6 +1,7 @@ -import { TaskWithStatusVo } from '@shared/domain/entity'; -import { InputFormat, RichText, TaskCreate, TaskUpdate } from '@shared/domain/types'; -import { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../controller/dto'; +import { InputFormat, RichText } from '@shared/domain/types'; +import { TaskCreate, TaskUpdate } from '../../domain'; +import { TaskWithStatusVo } from '../../repo'; +import { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../dto'; import { TaskStatusMapper } from './task-status.mapper'; export class TaskMapper { diff --git a/apps/server/src/modules/task/controller/submission.controller.ts b/apps/server/src/modules/task/api/submission.controller.ts similarity index 92% rename from apps/server/src/modules/task/controller/submission.controller.ts rename to apps/server/src/modules/task/api/submission.controller.ts index 8eb5c91f270..454a8ba6034 100644 --- a/apps/server/src/modules/task/controller/submission.controller.ts +++ b/apps/server/src/modules/task/api/submission.controller.ts @@ -1,9 +1,9 @@ import { CurrentUser, ICurrentUser, JwtAuthentication } from '@infra/auth-guard'; import { Controller, Delete, Get, Param } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; -import { SubmissionMapper } from '../mapper'; -import { SubmissionUc } from '../uc'; import { SubmissionStatusListResponse, SubmissionUrlParams, TaskUrlParams } from './dto'; +import { SubmissionMapper } from './mapper'; +import { SubmissionUc } from './submission.uc'; @ApiTags('Submission') @JwtAuthentication() diff --git a/apps/server/src/modules/task/uc/submission.uc.spec.ts b/apps/server/src/modules/task/api/submission.uc.spec.ts similarity index 97% rename from apps/server/src/modules/task/uc/submission.uc.spec.ts rename to apps/server/src/modules/task/api/submission.uc.spec.ts index 65186711167..2cce5e2c4d8 100644 --- a/apps/server/src/modules/task/uc/submission.uc.spec.ts +++ b/apps/server/src/modules/task/api/submission.uc.spec.ts @@ -5,13 +5,14 @@ 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 { taskFactory } from '@testing/factory/task.factory'; -import { SubmissionService } from '../service/submission.service'; +import { SubmissionService } from '../domain'; +import { Task } from '../repo'; +import { taskFactory } from '../testing'; import { SubmissionUc } from './submission.uc'; describe('Submission Uc', () => { diff --git a/apps/server/src/modules/task/uc/submission.uc.ts b/apps/server/src/modules/task/api/submission.uc.ts similarity index 97% rename from apps/server/src/modules/task/uc/submission.uc.ts rename to apps/server/src/modules/task/api/submission.uc.ts index a327ec68d35..e3de6e35db8 100644 --- a/apps/server/src/modules/task/uc/submission.uc.ts +++ b/apps/server/src/modules/task/api/submission.uc.ts @@ -4,7 +4,7 @@ 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 '../service'; +import { SubmissionService } from '../domain'; @Injectable() export class SubmissionUc { diff --git a/apps/server/src/modules/task/uc/task-copy.uc.spec.ts b/apps/server/src/modules/task/api/task-copy.uc.spec.ts similarity index 97% rename from apps/server/src/modules/task/uc/task-copy.uc.spec.ts rename to apps/server/src/modules/task/api/task-copy.uc.spec.ts index f5b76dcab5d..6734d9cd31e 100644 --- a/apps/server/src/modules/task/uc/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, Task } from '@shared/domain/entity'; -import { TaskRepo } from '@shared/repo/task'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; -import { taskFactory } from '@testing/factory/task.factory'; -import { TaskCopyService } from '../service'; -import { TaskCopyParentParams } from '../types'; +import { Task, TaskRepo } from '../repo'; +import { taskFactory } from '../testing'; import { TaskCopyUC } from './task-copy.uc'; +import { TaskCopyService } from '../domain'; +import { TaskCopyParentParams } from './dto'; describe('task copy uc', () => { let uc: TaskCopyUC; diff --git a/apps/server/src/modules/task/uc/task-copy.uc.ts b/apps/server/src/modules/task/api/task-copy.uc.ts similarity index 96% rename from apps/server/src/modules/task/uc/task-copy.uc.ts rename to apps/server/src/modules/task/api/task-copy.uc.ts index c875ea2a91e..801d006e432 100644 --- a/apps/server/src/modules/task/uc/task-copy.uc.ts +++ b/apps/server/src/modules/task/api/task-copy.uc.ts @@ -7,11 +7,10 @@ import { LessonService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; import { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common'; -import { Task } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; -import { TaskRepo } from '@shared/repo/task'; -import { TaskCopyService } from '../service'; -import { TaskCopyParentParams } from '../types'; +import { TaskCopyService } from '../domain'; +import { Task, TaskRepo } from '../repo'; +import { TaskCopyParentParams } from './dto'; @Injectable() export class TaskCopyUC { diff --git a/apps/server/src/modules/task/controller/task.controller.spec.ts b/apps/server/src/modules/task/api/task.controller.spec.ts similarity index 96% rename from apps/server/src/modules/task/controller/task.controller.spec.ts rename to apps/server/src/modules/task/api/task.controller.spec.ts index 14a9ad526cd..cb97b23987e 100644 --- a/apps/server/src/modules/task/controller/task.controller.spec.ts +++ b/apps/server/src/modules/task/api/task.controller.spec.ts @@ -3,8 +3,9 @@ import { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helpe import { CopyApiResponse } from '@modules/copy-helper/dto/copy.response'; import { Test, TestingModule } from '@nestjs/testing'; import { currentUserFactory } from '@testing/factory/currentuser.factory'; -import { TaskCopyUC, TaskUC } from '../uc'; +import { TaskCopyUC } from './task-copy.uc'; import { TaskController } from './task.controller'; +import { TaskUC } from './task.uc'; describe('TaskController', () => { let module: TestingModule; diff --git a/apps/server/src/modules/task/controller/task.controller.ts b/apps/server/src/modules/task/api/task.controller.ts similarity index 92% rename from apps/server/src/modules/task/controller/task.controller.ts rename to apps/server/src/modules/task/api/task.controller.ts index 63532bef430..f118373a18f 100644 --- a/apps/server/src/modules/task/controller/task.controller.ts +++ b/apps/server/src/modules/task/api/task.controller.ts @@ -4,11 +4,10 @@ import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestj import { ApiTags } from '@nestjs/swagger'; import { RequestTimeout } from '@shared/common/decorators'; import { PaginationParams } from '@shared/controller/dto'; -import { TaskMapper } from '../mapper'; -import { TaskCopyUC } from '../uc/task-copy.uc'; -import { TaskUC } from '../uc/task.uc'; -import { TaskListResponse, TaskResponse, TaskUrlParams } from './dto'; -import { TaskCopyApiParams } from './dto/task-copy.params'; +import { TaskCopyApiParams, TaskListResponse, TaskResponse, TaskUrlParams } from './dto'; +import { TaskMapper } from './mapper'; +import { TaskCopyUC } from './task-copy.uc'; +import { TaskUC } from './task.uc'; @ApiTags('Task') @JwtAuthentication() diff --git a/apps/server/src/modules/task/uc/task.uc.spec.ts b/apps/server/src/modules/task/api/task.uc.spec.ts similarity index 99% rename from apps/server/src/modules/task/uc/task.uc.spec.ts rename to apps/server/src/modules/task/api/task.uc.spec.ts index 7c92cd30442..cb11d376f6c 100644 --- a/apps/server/src/modules/task/uc/task.uc.spec.ts +++ b/apps/server/src/modules/task/api/task.uc.spec.ts @@ -11,15 +11,14 @@ 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, Task } from '@shared/domain/entity'; +import { Material, Submission } from '@shared/domain/entity'; import { Permission, SortOrder } from '@shared/domain/interface'; -import { TaskStatus } from '@shared/domain/types'; -import { TaskRepo } from '@shared/repo/task'; import { setupEntities } from '@testing/database'; import { roleFactory } from '@testing/factory/role.factory'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; -import { TaskService } from '../service'; +import { TaskService, TaskStatus } from '../domain'; +import { Task, TaskRepo } from '../repo'; +import { taskFactory } from '../testing'; import { TaskUC } from './task.uc'; describe('TaskUC', () => { diff --git a/apps/server/src/modules/task/uc/task.uc.ts b/apps/server/src/modules/task/api/task.uc.ts similarity index 97% rename from apps/server/src/modules/task/uc/task.uc.ts rename to apps/server/src/modules/task/api/task.uc.ts index b3c2bed1dc1..f774006e7e8 100644 --- a/apps/server/src/modules/task/uc/task.uc.ts +++ b/apps/server/src/modules/task/api/task.uc.ts @@ -5,12 +5,10 @@ import { LessonService } from '@modules/lesson'; import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; import { Injectable, UnauthorizedException } from '@nestjs/common'; -import { TaskWithStatusVo } from '@shared/domain/entity'; import { Pagination, Permission, SortOrder } from '@shared/domain/interface'; -import { Counted, EntityId, TaskStatus } from '@shared/domain/types'; -import { TaskRepo } from '@shared/repo/task'; -import { TaskService } from '../service'; - +import { Counted, EntityId } from '@shared/domain/types'; +import { TaskService, TaskStatus } from '../domain'; +import { TaskRepo, TaskWithStatusVo } from '../repo'; @Injectable() export class TaskUC { constructor( diff --git a/apps/server/src/modules/task/controller/api-test/submission.api.spec.ts b/apps/server/src/modules/task/api/test/submission.api.spec.ts similarity index 98% rename from apps/server/src/modules/task/controller/api-test/submission.api.spec.ts rename to apps/server/src/modules/task/api/test/submission.api.spec.ts index fc1044566ef..3db9afbd3c3 100644 --- a/apps/server/src/modules/task/controller/api-test/submission.api.spec.ts +++ b/apps/server/src/modules/task/api/test/submission.api.spec.ts @@ -3,16 +3,16 @@ import { EntityManager } from '@mikro-orm/mongodb'; import { courseEntityFactory, courseGroupEntityFactory } from '@modules/course/testing'; import { FilesStorageClientAdapterService } from '@modules/files-storage-client'; import { ServerTestModule } from '@modules/server/server.app.module'; -import { SubmissionStatusListResponse } from '@modules/task/controller/dto/submission.response'; 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 { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; +import { SubmissionStatusListResponse } from '../dto'; describe('Submission Controller (API)', () => { describe('find statuses by task', () => { diff --git a/apps/server/src/modules/task/controller/api-test/task-copy-timeout.api.spec.ts b/apps/server/src/modules/task/api/test/task-copy-timeout.api.spec.ts similarity index 97% rename from apps/server/src/modules/task/controller/api-test/task-copy-timeout.api.spec.ts rename to apps/server/src/modules/task/api/test/task-copy-timeout.api.spec.ts index 895f8b50f94..cdace9c9334 100644 --- a/apps/server/src/modules/task/controller/api-test/task-copy-timeout.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-copy-timeout.api.spec.ts @@ -7,9 +7,9 @@ import { FilesStorageClientAdapterService } from '@modules/files-storage-client' import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; // config must be set outside before the server module is imported, otherwise the configuration is already set Configuration.set('FEATURE_COPY_SERVICE_ENABLED', true); Configuration.set('INCOMING_REQUEST_TIMEOUT_COPY_API', 1); diff --git a/apps/server/src/modules/task/controller/api-test/task-delete.api.spec.ts b/apps/server/src/modules/task/api/test/task-delete.api.spec.ts similarity index 98% rename from apps/server/src/modules/task/controller/api-test/task-delete.api.spec.ts rename to apps/server/src/modules/task/api/test/task-delete.api.spec.ts index 994a0e4b82e..b5c4c88af38 100644 --- a/apps/server/src/modules/task/controller/api-test/task-delete.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-delete.api.spec.ts @@ -7,9 +7,9 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; const createStudent = () => { const { studentAccount, studentUser } = UserAndAccountTestFactory.buildStudent({}, [ diff --git a/apps/server/src/modules/task/controller/api-test/task-finish.api.spec.ts b/apps/server/src/modules/task/api/test/task-finish.api.spec.ts similarity index 97% rename from apps/server/src/modules/task/controller/api-test/task-finish.api.spec.ts rename to apps/server/src/modules/task/api/test/task-finish.api.spec.ts index 66e758b7618..e8f2a0bdd9d 100644 --- a/apps/server/src/modules/task/controller/api-test/task-finish.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-finish.api.spec.ts @@ -5,9 +5,9 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; const createStudent = () => { const { studentAccount, studentUser } = UserAndAccountTestFactory.buildStudent({}, [ diff --git a/apps/server/src/modules/task/controller/api-test/task-finished.api.spec.ts b/apps/server/src/modules/task/api/test/task-finished.api.spec.ts similarity index 99% rename from apps/server/src/modules/task/controller/api-test/task-finished.api.spec.ts rename to apps/server/src/modules/task/api/test/task-finished.api.spec.ts index 6e2c934d7ce..2b4b7e0706a 100644 --- a/apps/server/src/modules/task/controller/api-test/task-finished.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-finished.api.spec.ts @@ -5,9 +5,9 @@ import { ServerTestModule } from '@modules/server/server.app.module'; import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; import { TaskListResponse } from '../dto/task.response'; describe('Task controller (API)', () => { diff --git a/apps/server/src/modules/task/controller/api-test/task-restore.api.spec.ts b/apps/server/src/modules/task/api/test/task-restore.api.spec.ts similarity index 97% rename from apps/server/src/modules/task/controller/api-test/task-restore.api.spec.ts rename to apps/server/src/modules/task/api/test/task-restore.api.spec.ts index 28dcf82578e..6d43e886405 100644 --- a/apps/server/src/modules/task/controller/api-test/task-restore.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-restore.api.spec.ts @@ -5,9 +5,9 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; const createStudent = () => { const { studentAccount, studentUser } = UserAndAccountTestFactory.buildStudent({}, [ diff --git a/apps/server/src/modules/task/controller/api-test/task-revert-published.api.spec.ts b/apps/server/src/modules/task/api/test/task-revert-published.api.spec.ts similarity index 97% rename from apps/server/src/modules/task/controller/api-test/task-revert-published.api.spec.ts rename to apps/server/src/modules/task/api/test/task-revert-published.api.spec.ts index eefe0afa34c..7f6d1d1163b 100644 --- a/apps/server/src/modules/task/controller/api-test/task-revert-published.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task-revert-published.api.spec.ts @@ -5,9 +5,9 @@ import { INestApplication } from '@nestjs/common'; import { Test, TestingModule } from '@nestjs/testing'; import { Permission } from '@shared/domain/interface'; import { cleanupCollections } from '@testing/cleanup-collections'; -import { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; const createStudent = () => { const { studentAccount, studentUser } = UserAndAccountTestFactory.buildStudent({}, [ diff --git a/apps/server/src/modules/task/controller/api-test/task.api.spec.ts b/apps/server/src/modules/task/api/test/task.api.spec.ts similarity index 99% rename from apps/server/src/modules/task/controller/api-test/task.api.spec.ts rename to apps/server/src/modules/task/api/test/task.api.spec.ts index bed5f831132..bba43413555 100644 --- a/apps/server/src/modules/task/controller/api-test/task.api.spec.ts +++ b/apps/server/src/modules/task/api/test/task.api.spec.ts @@ -1,16 +1,16 @@ import { EntityManager } from '@mikro-orm/mongodb'; import { courseEntityFactory } from '@modules/course/testing'; import { ServerTestModule } from '@modules/server/server.app.module'; -import { TaskListResponse } from '@modules/task/controller/dto'; +import { TaskListResponse } from '@modules/task/api/dto'; import { INestApplication } from '@nestjs/common'; 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 { taskFactory } from '@testing/factory/task.factory'; import { UserAndAccountTestFactory } from '@testing/factory/user-and-account.test.factory'; import { TestApiClient } from '@testing/test-api-client'; +import { taskFactory } from '../../testing'; const tomorrow = new Date(Date.now() + 86400000); diff --git a/apps/server/src/modules/task/controller/index.ts b/apps/server/src/modules/task/controller/index.ts deleted file mode 100644 index e28f36d9ace..00000000000 --- a/apps/server/src/modules/task/controller/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './task.controller'; -export * from './submission.controller'; diff --git a/apps/server/src/modules/task/domain/index.ts b/apps/server/src/modules/task/domain/index.ts new file mode 100644 index 00000000000..9cd1d26e142 --- /dev/null +++ b/apps/server/src/modules/task/domain/index.ts @@ -0,0 +1,2 @@ +export * from './interface'; +export * from './service'; diff --git a/apps/server/src/modules/task/domain/interface/index.ts b/apps/server/src/modules/task/domain/interface/index.ts new file mode 100644 index 00000000000..5ca7d525d2c --- /dev/null +++ b/apps/server/src/modules/task/domain/interface/index.ts @@ -0,0 +1 @@ +export * from './task.types'; diff --git a/apps/server/src/modules/task/domain/interface/task.types.ts b/apps/server/src/modules/task/domain/interface/task.types.ts new file mode 100644 index 00000000000..d3a7594d552 --- /dev/null +++ b/apps/server/src/modules/task/domain/interface/task.types.ts @@ -0,0 +1,28 @@ +import { InputFormat } from '@shared/domain/types'; + +export interface ITask { + name: string; + description?: string; + descriptionInputFormat?: InputFormat; + availableDate?: Date; + dueDate?: Date; +} + +export interface TaskUpdate extends ITask { + courseId?: string; + lessonId?: string; +} + +export interface TaskCreate extends ITask { + courseId?: string; + lessonId?: string; +} + +export interface TaskStatus { + submitted: number; + maxSubmissions: number; + graded: number; + isDraft: boolean; + isSubstitutionTeacher: boolean; + isFinished: boolean; +} diff --git a/apps/server/src/modules/task/service/index.ts b/apps/server/src/modules/task/domain/service/index.ts similarity index 100% rename from apps/server/src/modules/task/service/index.ts rename to apps/server/src/modules/task/domain/service/index.ts diff --git a/apps/server/src/modules/task/service/submission.service.spec.ts b/apps/server/src/modules/task/domain/service/submission.service.spec.ts similarity index 99% rename from apps/server/src/modules/task/service/submission.service.spec.ts rename to apps/server/src/modules/task/domain/service/submission.service.spec.ts index 8d89c75c7e9..a6b0047bc94 100644 --- a/apps/server/src/modules/task/service/submission.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/submission.service.spec.ts @@ -17,13 +17,14 @@ 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 { taskFactory } from '@testing/factory/task.factory'; import { ObjectId } from 'bson'; +import { Task } from '../../repo'; +import { taskFactory } from '../../testing'; import { SubmissionService } from './submission.service'; describe('Submission Service', () => { diff --git a/apps/server/src/modules/task/service/submission.service.ts b/apps/server/src/modules/task/domain/service/submission.service.ts similarity index 100% rename from apps/server/src/modules/task/service/submission.service.ts rename to apps/server/src/modules/task/domain/service/submission.service.ts diff --git a/apps/server/src/modules/task/service/task-copy.service.spec.ts b/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts similarity index 98% rename from apps/server/src/modules/task/service/task-copy.service.spec.ts rename to apps/server/src/modules/task/domain/service/task-copy.service.spec.ts index ce5ca7b8722..a055e38b294 100644 --- a/apps/server/src/modules/task/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/task-copy.service.spec.ts @@ -9,11 +9,11 @@ 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, Task } from '@shared/domain/entity'; -import { TaskRepo } from '@shared/repo/task'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { legacyFileEntityMockFactory } from '@testing/factory/legacy-file-entity-mock.factory'; -import { taskFactory } from '@testing/factory/task.factory'; +import { Task, TaskRepo } from '../../repo'; +import { taskFactory } from '../../testing'; import { TaskCopyService } from './task-copy.service'; describe('task copy service', () => { diff --git a/apps/server/src/modules/task/service/task-copy.service.ts b/apps/server/src/modules/task/domain/service/task-copy.service.ts similarity index 96% rename from apps/server/src/modules/task/service/task-copy.service.ts rename to apps/server/src/modules/task/domain/service/task-copy.service.ts index e23741a54a4..da09f5cd35b 100644 --- a/apps/server/src/modules/task/service/task-copy.service.ts +++ b/apps/server/src/modules/task/domain/service/task-copy.service.ts @@ -4,9 +4,8 @@ import { CopyFilesService, FileUrlReplacement } from '@modules/files-storage-cli import { LessonEntity } from '@modules/lesson/repository'; import { User } from '@modules/user/repo'; import { Injectable } from '@nestjs/common'; -import { Task } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; -import { TaskRepo } from '@shared/repo/task'; +import { Task, TaskRepo } from '../../repo'; type TaskCopyParams = { originalTaskId: EntityId; diff --git a/apps/server/src/modules/task/service/task.service.spec.ts b/apps/server/src/modules/task/domain/service/task.service.spec.ts similarity index 98% rename from apps/server/src/modules/task/service/task.service.spec.ts rename to apps/server/src/modules/task/domain/service/task.service.spec.ts index a2b3ae270ff..ba7c652a1a9 100644 --- a/apps/server/src/modules/task/service/task.service.spec.ts +++ b/apps/server/src/modules/task/domain/service/task.service.spec.ts @@ -17,12 +17,12 @@ 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, Task } from '@shared/domain/entity'; -import { TaskRepo } from '@shared/repo/task'; +import { Material, Submission } from '@shared/domain/entity'; import { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; import { ObjectId } from 'bson'; +import { 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/service/task.service.ts b/apps/server/src/modules/task/domain/service/task.service.ts similarity index 98% rename from apps/server/src/modules/task/service/task.service.ts rename to apps/server/src/modules/task/domain/service/task.service.ts index a119a350174..d4f3ab85be4 100644 --- a/apps/server/src/modules/task/service/task.service.ts +++ b/apps/server/src/modules/task/domain/service/task.service.ts @@ -16,10 +16,9 @@ import { import { FilesStorageClientAdapterService } from '@modules/files-storage-client'; import { Injectable } from '@nestjs/common'; import { EventBus, EventsHandler, IEventHandler } from '@nestjs/cqrs'; -import { Task } from '@shared/domain/entity'; import { IFindOptions } from '@shared/domain/interface'; import { Counted, EntityId } from '@shared/domain/types'; -import { TaskRepo } from '@shared/repo/task'; +import { Task, TaskRepo } from '../../repo'; import { SubmissionService } from './submission.service'; @Injectable() diff --git a/apps/server/src/modules/task/index.ts b/apps/server/src/modules/task/index.ts index 8734b0eb623..0fbad81b960 100644 --- a/apps/server/src/modules/task/index.ts +++ b/apps/server/src/modules/task/index.ts @@ -1,4 +1,2 @@ -export * from './service/submission.service'; -export * from './service/task-copy.service'; -export * from './service/task.service'; +export { TaskCopyService, TaskCreate, TaskService, TaskStatus, TaskUpdate } from './domain'; export * from './task.module'; diff --git a/apps/server/src/modules/task/repo/index.ts b/apps/server/src/modules/task/repo/index.ts new file mode 100644 index 00000000000..8544269fd77 --- /dev/null +++ b/apps/server/src/modules/task/repo/index.ts @@ -0,0 +1,3 @@ +export * from './task-scope'; +export * from './task.entity'; +export * from './task.repo'; diff --git a/apps/server/src/shared/repo/task/task-scope.spec.ts b/apps/server/src/modules/task/repo/task-scope.spec.ts similarity index 92% rename from apps/server/src/shared/repo/task/task-scope.spec.ts rename to apps/server/src/modules/task/repo/task-scope.spec.ts index 9fe21d66fd0..4e02e36a670 100644 --- a/apps/server/src/shared/repo/task/task-scope.spec.ts +++ b/apps/server/src/modules/task/repo/task-scope.spec.ts @@ -1,8 +1,8 @@ -import { ObjectId } from '@mikro-orm/mongodb'; import { FilterQuery } from '@mikro-orm/core'; -import { Task } from '@shared/domain/entity'; -import { EmptyResultQuery } from '../query'; +import { ObjectId } from '@mikro-orm/mongodb'; +import { EmptyResultQuery } from '@shared/repo/query'; import { TaskScope } from './task-scope'; +import { Task } from './task.entity'; describe(TaskScope.name, () => { describe('when build scope query', () => { diff --git a/apps/server/src/shared/repo/task/task-scope.ts b/apps/server/src/modules/task/repo/task-scope.ts similarity index 96% rename from apps/server/src/shared/repo/task/task-scope.ts rename to apps/server/src/modules/task/repo/task-scope.ts index 0b6446f0953..095e773385b 100644 --- a/apps/server/src/shared/repo/task/task-scope.ts +++ b/apps/server/src/modules/task/repo/task-scope.ts @@ -1,7 +1,7 @@ import { FilterQuery } from '@mikro-orm/core'; -import { Task } from '@shared/domain/entity'; import { EntityId } from '@shared/domain/types'; -import { Scope } from '../scope'; +import { Scope } from '@shared/repo/scope'; +import { Task } from './task.entity'; export class TaskScope extends Scope { byFinished(userId: EntityId, value: boolean): TaskScope { diff --git a/apps/server/src/shared/domain/entity/task.entity.spec.ts b/apps/server/src/modules/task/repo/task.entity.spec.ts similarity index 99% rename from apps/server/src/shared/domain/entity/task.entity.spec.ts rename to apps/server/src/modules/task/repo/task.entity.spec.ts index aa1991f94e5..337662fd8ef 100644 --- a/apps/server/src/shared/domain/entity/task.entity.spec.ts +++ b/apps/server/src/modules/task/repo/task.entity.spec.ts @@ -6,11 +6,10 @@ 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 { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; -import { Material } from './materials.entity'; -import { Submission } from './submission.entity'; +import { taskFactory } from '../testing'; import { Task } from './task.entity'; describe('Task Entity', () => { diff --git a/apps/server/src/shared/domain/entity/task.entity.ts b/apps/server/src/modules/task/repo/task.entity.ts similarity index 94% rename from apps/server/src/shared/domain/entity/task.entity.ts rename to apps/server/src/modules/task/repo/task.entity.ts index 9224e33d6c8..8f20f263fed 100644 --- a/apps/server/src/shared/domain/entity/task.entity.ts +++ b/apps/server/src/modules/task/repo/task.entity.ts @@ -4,12 +4,11 @@ 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 { EntityWithSchool } from '@shared/domain/interface'; +import { EntityId } from '@shared/domain/types'; import { InputFormat } from '@shared/domain/types/input-format.types'; -import type { EntityWithSchool } from '../interface'; -import type { EntityId } from '../types/entity-id'; -import type { TaskProperties, TaskStatus } from '../types/task.types'; -import { BaseEntityWithTimestamps } from './base.entity'; -import type { Submission } from './submission.entity'; +import { ITask, TaskStatus } from '../domain'; export class TaskWithStatusVo { task!: Task; @@ -34,6 +33,18 @@ export interface TaskParent { getStudentIds(): EntityId[]; } +export interface TaskProperties extends ITask { + course?: CourseEntity; + lesson?: LessonEntity; + creator: User; + school: SchoolEntity; + finished?: User[]; + private?: boolean; + submissions?: Submission[]; + publicSubmissions?: boolean; + teamSubmissions?: boolean; +} + @Entity({ tableName: 'homeworks' }) @Index({ properties: ['private', 'dueDate', 'finished'] }) @Index({ properties: ['id', 'private'] }) diff --git a/apps/server/src/shared/repo/task/task.repo.integration.spec.ts b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts similarity index 99% rename from apps/server/src/shared/repo/task/task.repo.integration.spec.ts rename to apps/server/src/modules/task/repo/task.repo.integration.spec.ts index a34195d5ea8..8e7da0183bf 100644 --- a/apps/server/src/shared/repo/task/task.repo.integration.spec.ts +++ b/apps/server/src/modules/task/repo/task.repo.integration.spec.ts @@ -5,13 +5,14 @@ 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 { 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/factory/task.factory'; -import { Material, Submission, Task } from '../../domain/entity'; -import { SortOrder } from '../../domain/interface'; +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/shared/repo/task/task.repo.ts b/apps/server/src/modules/task/repo/task.repo.ts similarity index 98% rename from apps/server/src/shared/repo/task/task.repo.ts rename to apps/server/src/modules/task/repo/task.repo.ts index b3e9d415d64..ca0ff67b9b7 100644 --- a/apps/server/src/shared/repo/task/task.repo.ts +++ b/apps/server/src/modules/task/repo/task.repo.ts @@ -1,10 +1,10 @@ import { FilterQuery } from '@mikro-orm/core'; import { Injectable } from '@nestjs/common'; -import { Task } from '@shared/domain/entity'; import { IFindOptions, SortOrder } from '@shared/domain/interface'; import { Counted, EntityId } from '@shared/domain/types'; -import { BaseRepo } from '../base.repo'; +import { BaseRepo } from '@shared/repo/base.repo'; import { TaskScope } from './task-scope'; +import { Task } from './task.entity'; @Injectable() export class TaskRepo extends BaseRepo { diff --git a/apps/server/src/modules/task/task-api.module.ts b/apps/server/src/modules/task/task-api.module.ts index 68bda20405e..ef4ab4e1418 100644 --- a/apps/server/src/modules/task/task-api.module.ts +++ b/apps/server/src/modules/task/task-api.module.ts @@ -3,11 +3,9 @@ import { CopyHelperModule } from '@modules/copy-helper/copy-helper.module'; import { CourseModule } from '@modules/course'; import { LessonModule } from '@modules/lesson'; import { Module } from '@nestjs/common'; -import { TaskRepo } from '@shared/repo/task'; -import { SubmissionController, TaskController } from './controller'; +import { SubmissionController, SubmissionUc, TaskController, TaskCopyUC, TaskUC } from './api'; +import { TaskRepo } from './repo'; import { TaskModule } from './task.module'; -import { SubmissionUc, TaskCopyUC, TaskUC } from './uc'; - @Module({ imports: [AuthorizationModule, CopyHelperModule, TaskModule, LessonModule, CourseModule], controllers: [TaskController, SubmissionController], diff --git a/apps/server/src/modules/task/task.module.ts b/apps/server/src/modules/task/task.module.ts index e26b2ba8e66..b713cd9d72b 100644 --- a/apps/server/src/modules/task/task.module.ts +++ b/apps/server/src/modules/task/task.module.ts @@ -4,8 +4,8 @@ import { FilesStorageClientModule } from '@modules/files-storage-client'; import { Module } from '@nestjs/common'; import { CqrsModule } from '@nestjs/cqrs'; import { SubmissionRepo } from '@shared/repo/submission'; -import { TaskRepo } from '@shared/repo/task'; -import { SubmissionService, TaskCopyService, TaskService } from './service'; +import { SubmissionService, TaskCopyService, TaskService } from './domain'; +import { TaskRepo } from './repo'; @Module({ imports: [FilesStorageClientModule, CopyHelperModule, CqrsModule, LoggerModule], diff --git a/apps/server/src/modules/task/testing/index.ts b/apps/server/src/modules/task/testing/index.ts new file mode 100644 index 00000000000..0fe785527cb --- /dev/null +++ b/apps/server/src/modules/task/testing/index.ts @@ -0,0 +1 @@ +export * from './task.factory'; diff --git a/apps/server/src/testing/factory/task.factory.ts b/apps/server/src/modules/task/testing/task.factory.ts similarity index 75% rename from apps/server/src/testing/factory/task.factory.ts rename to apps/server/src/modules/task/testing/task.factory.ts index 5e0fa5c73a7..ea4fb92e969 100644 --- a/apps/server/src/testing/factory/task.factory.ts +++ b/apps/server/src/modules/task/testing/task.factory.ts @@ -1,14 +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 { User } from '@modules/user/repo'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports import { userFactory } from '@modules/user/testing'; -import { Task } from '@shared/domain/entity'; -import { TaskProperties } from '@shared/domain/types'; +import { BaseFactory } from '@testing/factory/base.factory'; import { DeepPartial } from 'fishery'; -import { BaseFactory } from './base.factory'; +import { Task, TaskProperties } from '../repo'; const yesterday = new Date(Date.now() - 86400000); diff --git a/apps/server/src/modules/task/types/index.ts b/apps/server/src/modules/task/types/index.ts deleted file mode 100644 index e5b32b91729..00000000000 --- a/apps/server/src/modules/task/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './task-copy-parent.params'; 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 213e52776ca..b0543e6ac21 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,11 +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 { 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, Task } from '@shared/domain/entity'; +import { Material, Submission } 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 ded48bb886d..5dc1eaa39ce 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,10 +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 { User } from '@modules/user/repo'; import { userFactory } from '@modules/user/testing'; import { Test, TestingModule } from '@nestjs/testing'; -import { Material, Role, Submission, Task } from '@shared/domain/entity'; +import { Material, Role, Submission } 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 a72fc2c1ae6..1d78f3058b8 100644 --- a/apps/server/src/shared/domain/entity/index.ts +++ b/apps/server/src/shared/domain/entity/index.ts @@ -5,6 +5,5 @@ export * from './news.entity'; export * from './role.entity'; export * from './storageprovider.entity'; export * from './submission.entity'; -export * from './task.entity'; export * from './team.entity'; export * from './video-conference.entity'; diff --git a/apps/server/src/shared/domain/entity/submission.entity.spec.ts b/apps/server/src/shared/domain/entity/submission.entity.spec.ts index 3a18d87799b..dab0efd014f 100644 --- a/apps/server/src/shared/domain/entity/submission.entity.spec.ts +++ b/apps/server/src/shared/domain/entity/submission.entity.spec.ts @@ -3,13 +3,14 @@ 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 { setupEntities } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; -import { Material, Task } from '.'; +import { Material } from './materials.entity'; import { Submission } from './submission.entity'; describe('Submission entity', () => { diff --git a/apps/server/src/shared/domain/entity/submission.entity.ts b/apps/server/src/shared/domain/entity/submission.entity.ts index 09b5e67c6ce..3d708431480 100644 --- a/apps/server/src/shared/domain/entity/submission.entity.ts +++ b/apps/server/src/shared/domain/entity/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 type { Task } from './task.entity'; export interface SubmissionProperties { school: SchoolEntity; diff --git a/apps/server/src/shared/domain/types/index.ts b/apps/server/src/shared/domain/types/index.ts index ef157d4c673..facb637ee1a 100644 --- a/apps/server/src/shared/domain/types/index.ts +++ b/apps/server/src/shared/domain/types/index.ts @@ -6,5 +6,4 @@ export * from './news.types'; export * from './rich-text.types'; export * from './schulcloud-theme.enum'; export * from './system.type'; -export * from './task.types'; export * from './value-of'; diff --git a/apps/server/src/shared/domain/types/task.types.ts b/apps/server/src/shared/domain/types/task.types.ts deleted file mode 100644 index fd5f53a73e8..00000000000 --- a/apps/server/src/shared/domain/types/task.types.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { CourseEntity } from '@modules/course/repo'; -import { LessonEntity } from '@modules/lesson/repository'; -import type { SchoolEntity } from '@modules/school/repo'; -import { User } from '@modules/user/repo'; -import type { Submission } from '../entity'; -import type { InputFormat } from './input-format.types'; - -interface ITask { - name: string; - description?: string; - descriptionInputFormat?: InputFormat; - availableDate?: Date; - dueDate?: Date; -} - -export interface TaskUpdate extends ITask { - courseId?: string; - lessonId?: string; -} - -export interface TaskCreate extends ITask { - courseId?: string; - lessonId?: string; -} - -export interface TaskProperties extends ITask { - course?: CourseEntity; - lesson?: LessonEntity; - creator: User; - school: SchoolEntity; - finished?: User[]; - private?: boolean; - submissions?: Submission[]; - publicSubmissions?: boolean; - teamSubmissions?: boolean; -} - -export interface TaskStatus { - submitted: number; - maxSubmissions: number; - graded: number; - isDraft: boolean; - isSubstitutionTeacher: boolean; - isFinished: boolean; -} diff --git a/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts b/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts index f93f36a29db..10dac9a5902 100644 --- a/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts +++ b/apps/server/src/shared/repo/submission/submission.repo.integration.spec.ts @@ -3,13 +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 { cleanupCollections } from '@testing/cleanup-collections'; import { MongoMemoryDatabaseModule } from '@testing/database'; import { submissionFactory } from '@testing/factory/submission.factory'; -import { taskFactory } from '@testing/factory/task.factory'; -import { Material, Submission, Task } from '../../domain/entity'; +import { Material, Submission } from '../../domain/entity'; import { SubmissionRepo } from './submission.repo'; describe('submission repo', () => { diff --git a/apps/server/src/shared/repo/task/index.ts b/apps/server/src/shared/repo/task/index.ts deleted file mode 100644 index 90fb94ada4e..00000000000 --- a/apps/server/src/shared/repo/task/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './task.repo'; diff --git a/apps/server/src/testing/factory/submission.factory.ts b/apps/server/src/testing/factory/submission.factory.ts index 1c45c5670fc..dcb2529fff0 100644 --- a/apps/server/src/testing/factory/submission.factory.ts +++ b/apps/server/src/testing/factory/submission.factory.ts @@ -2,11 +2,12 @@ // 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 { Submission, SubmissionProperties } from '@shared/domain/entity'; import { DeepPartial } from 'fishery'; import { BaseFactory } from './base.factory'; -import { taskFactory } from './task.factory'; class SubmissionFactory extends BaseFactory { graded(): this {