From a545fe5214dc49e3106c6e05e52eccad1c02a732 Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Fri, 31 Jan 2025 13:34:33 +0100 Subject: [PATCH 1/9] update board node copy svc --- .../internal/board-node-copy.service.ts | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index 5c30de96d48..7aafb5eea46 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -44,7 +44,7 @@ export class BoardNodeCopyService { private readonly copyHelperService: CopyHelperService ) {} - async copy(boardNode: AnyBoardNode, context: CopyContext): Promise { + public async copy(boardNode: AnyBoardNode, context: CopyContext): Promise { const type = getBoardNodeType(boardNode); let result!: CopyStatus; @@ -106,7 +106,7 @@ export class BoardNodeCopyService { return result; } - async copyColumnBoard(original: ColumnBoard, context: CopyContext): Promise { + public async copyColumnBoard(original: ColumnBoard, context: CopyContext): Promise { const childrenResults = await this.copyChildrenOf(original, context); const childrenCopyStatus = this.copyHelperService.deriveStatusFromElements(childrenResults); @@ -125,7 +125,7 @@ export class BoardNodeCopyService { return result; } - async copyColumn(original: Column, context: CopyContext): Promise { + public async copyColumn(original: Column, context: CopyContext): Promise { const childrenResults = await this.copyChildrenOf(original, context); const copy = new Column({ @@ -138,12 +138,13 @@ export class BoardNodeCopyService { type: CopyElementType.COLUMN, status: CopyStatusEnum.SUCCESS, elements: childrenResults, + originalEntity: original, }; return result; } - async copyCard(original: Card, context: CopyContext): Promise { + public async copyCard(original: Card, context: CopyContext): Promise { const childrenResults = await this.copyChildrenOf(original, context); const copy = new Card({ @@ -156,12 +157,13 @@ export class BoardNodeCopyService { type: CopyElementType.CARD, status: CopyStatusEnum.SUCCESS, elements: childrenResults, + originalEntity: original, }; return result; } - async copyFileElement(original: FileElement, context: CopyContext): Promise { + public async copyFileElement(original: FileElement, context: CopyContext): Promise { const copy = new FileElement({ ...original.getProps(), ...this.buildSpecificProps([]), @@ -182,13 +184,14 @@ export class BoardNodeCopyService { type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, + originalEntity: original, }; return result; } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyLinkElement(original: LinkElement, context: CopyContext): Promise { + public async copyLinkElement(original: LinkElement, context: CopyContext): Promise { const copy = new LinkElement({ ...original.getProps(), ...this.buildSpecificProps([]), @@ -198,6 +201,7 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.LINK_ELEMENT, status: CopyStatusEnum.SUCCESS, + originalEntity: original, }; if (original.imageUrl) { @@ -227,7 +231,7 @@ export class BoardNodeCopyService { } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyRichTextElement(original: RichTextElement, context: CopyContext): Promise { + public async copyRichTextElement(original: RichTextElement, context: CopyContext): Promise { const copy = new RichTextElement({ ...original.getProps(), ...this.buildSpecificProps([]), @@ -237,13 +241,14 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, + originalEntity: original, }; return Promise.resolve(result); } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyDrawingElement(original: DrawingElement, context: CopyContext): Promise { + public async copyDrawingElement(original: DrawingElement, context: CopyContext): Promise { const copy = new DrawingElement({ ...original.getProps(), ...this.buildSpecificProps([]), @@ -253,12 +258,13 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, + originalEntity: original, }; return Promise.resolve(result); } - async copySubmissionContainerElement( + public async copySubmissionContainerElement( original: SubmissionContainerElement, context: CopyContext ): Promise { @@ -274,22 +280,24 @@ export class BoardNodeCopyService { type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, + originalEntity: original, }; return Promise.resolve(result); } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copySubmissionItem(original: SubmissionItem, context: CopyContext): Promise { + public async copySubmissionItem(original: SubmissionItem, context: CopyContext): Promise { const result: CopyStatus = { type: CopyElementType.SUBMISSION_ITEM, status: CopyStatusEnum.NOT_DOING, + originalEntity: original, }; return Promise.resolve(result); } - async copyExternalToolElement(original: ExternalToolElement, context: CopyContext): Promise { + public async copyExternalToolElement(original: ExternalToolElement, context: CopyContext): Promise { let copy: ExternalToolElement | DeletedElement; copy = new ExternalToolElement({ ...original.getProps(), @@ -301,6 +309,7 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, + originalEntity: original, }; return Promise.resolve(copyStatus); @@ -312,6 +321,7 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, + originalEntity: original, }; return copyStatus; @@ -343,12 +353,13 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, + originalEntity: original, }; return Promise.resolve(result); } - async copyCollaborativeTextEditorElement( + public async copyCollaborativeTextEditorElement( original: CollaborativeTextEditorElement, // eslint-disable-next-line @typescript-eslint/no-unused-vars context: CopyContext @@ -362,56 +373,61 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, + originalEntity: original, }; return Promise.resolve(result); } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyVideoConferenceElement(original: VideoConferenceElement, context: CopyContext): Promise { + public async copyVideoConferenceElement(original: VideoConferenceElement, context: CopyContext): Promise { const result: CopyStatus = { type: CopyElementType.VIDEO_CONFERENCE_ELEMENT, status: CopyStatusEnum.NOT_DOING, + originalEntity: original, }; return Promise.resolve(result); } - async copyMediaBoard(original: MediaBoard, context: CopyContext): Promise { + public async copyMediaBoard(original: MediaBoard, context: CopyContext): Promise { const childrenResults = await this.copyChildrenOf(original, context); const result: CopyStatus = { type: CopyElementType.MEDIA_BOARD, status: CopyStatusEnum.NOT_DOING, elements: childrenResults, + originalEntity: original, }; return Promise.resolve(result); } - async copyMediaLine(original: MediaLine, context: CopyContext): Promise { + public async copyMediaLine(original: MediaLine, context: CopyContext): Promise { const childrenResults = await this.copyChildrenOf(original, context); const result: CopyStatus = { type: CopyElementType.MEDIA_LINE, status: CopyStatusEnum.NOT_DOING, elements: childrenResults, + originalEntity: original, }; return Promise.resolve(result); } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyMediaExternalToolElement(original: MediaExternalToolElement, context: CopyContext): Promise { + public async copyMediaExternalToolElement(original: MediaExternalToolElement, context: CopyContext): Promise { const result: CopyStatus = { type: CopyElementType.MEDIA_EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.NOT_DOING, + originalEntity: original, }; return Promise.resolve(result); } // eslint-disable-next-line @typescript-eslint/no-unused-vars - async copyDeletedElement(original: DeletedElement, context: CopyContext): Promise { + public copyDeletedElement(original: DeletedElement, context: CopyContext): Promise { const copy = new DeletedElement({ ...original.getProps(), ...this.buildSpecificProps([]), @@ -421,13 +437,12 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, + originalEntity: original, }; return Promise.resolve(result); } - // ---- - private async copyChildrenOf(boardNode: AnyBoardNode, context: CopyContext): Promise { const allSettled = await Promise.allSettled( boardNode.children.map(async (child) => { From 4031955688a5a94e224647bc25506bac48a8890c Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Fri, 31 Jan 2025 14:45:46 +0100 Subject: [PATCH 2/9] fix linting err --- .../board/service/internal/board-node-copy.service.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index 7aafb5eea46..8f4dec79ea3 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -416,7 +416,11 @@ export class BoardNodeCopyService { } // eslint-disable-next-line @typescript-eslint/no-unused-vars - public async copyMediaExternalToolElement(original: MediaExternalToolElement, context: CopyContext): Promise { + public async copyMediaExternalToolElement( + original: MediaExternalToolElement, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + context: CopyContext + ): Promise { const result: CopyStatus = { type: CopyElementType.MEDIA_EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.NOT_DOING, From b9d2fb3ff0df226fe501fdcd10856d28b168c99a Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 3 Feb 2025 10:47:03 +0100 Subject: [PATCH 3/9] update board node copy service --- .../service/internal/board-node-copy.service.ts | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index 8f4dec79ea3..f8aca132a07 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -120,6 +120,7 @@ export class BoardNodeCopyService { type: CopyElementType.COLUMNBOARD, status: childrenCopyStatus, elements: childrenResults, + originalEntity: original, }; return result; @@ -184,7 +185,6 @@ export class BoardNodeCopyService { type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, - originalEntity: original, }; return result; @@ -241,7 +241,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, - originalEntity: original, }; return Promise.resolve(result); @@ -258,7 +257,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, - originalEntity: original, }; return Promise.resolve(result); @@ -280,7 +278,6 @@ export class BoardNodeCopyService { type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - originalEntity: original, }; return Promise.resolve(result); @@ -291,7 +288,6 @@ export class BoardNodeCopyService { const result: CopyStatus = { type: CopyElementType.SUBMISSION_ITEM, status: CopyStatusEnum.NOT_DOING, - originalEntity: original, }; return Promise.resolve(result); @@ -309,7 +305,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, - originalEntity: original, }; return Promise.resolve(copyStatus); @@ -321,7 +316,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, - originalEntity: original, }; return copyStatus; @@ -353,7 +347,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, - originalEntity: original, }; return Promise.resolve(result); @@ -373,7 +366,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, - originalEntity: original, }; return Promise.resolve(result); } @@ -383,7 +375,6 @@ export class BoardNodeCopyService { const result: CopyStatus = { type: CopyElementType.VIDEO_CONFERENCE_ELEMENT, status: CopyStatusEnum.NOT_DOING, - originalEntity: original, }; return Promise.resolve(result); @@ -396,7 +387,6 @@ export class BoardNodeCopyService { type: CopyElementType.MEDIA_BOARD, status: CopyStatusEnum.NOT_DOING, elements: childrenResults, - originalEntity: original, }; return Promise.resolve(result); @@ -409,7 +399,6 @@ export class BoardNodeCopyService { type: CopyElementType.MEDIA_LINE, status: CopyStatusEnum.NOT_DOING, elements: childrenResults, - originalEntity: original, }; return Promise.resolve(result); @@ -417,6 +406,7 @@ export class BoardNodeCopyService { // eslint-disable-next-line @typescript-eslint/no-unused-vars public async copyMediaExternalToolElement( + // eslint-disable-next-line @typescript-eslint/no-unused-vars original: MediaExternalToolElement, // eslint-disable-next-line @typescript-eslint/no-unused-vars context: CopyContext @@ -424,7 +414,6 @@ export class BoardNodeCopyService { const result: CopyStatus = { type: CopyElementType.MEDIA_EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.NOT_DOING, - originalEntity: original, }; return Promise.resolve(result); @@ -441,7 +430,6 @@ export class BoardNodeCopyService { copyEntity: copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, - originalEntity: original, }; return Promise.resolve(result); From 8261b60545f3058a25d6fe549f6e2304f1218ece Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 3 Feb 2025 11:14:50 +0100 Subject: [PATCH 4/9] add tests --- .../board-node-copy-specific.service.spec.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index 000a6ee0944..d2d35fbbc47 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -135,6 +135,14 @@ describe(BoardNodeCopyService.name, () => { expect(result.copyEntity).toBeInstanceOf(ColumnBoard); }); + it('should copy the original node', async () => { + const { copyContext, columnBoard } = setup(); + + const result = await service.copyColumnBoard(columnBoard, copyContext); + + expect(result.originalEntity).toBeInstanceOf(ColumnBoard); + }); + it('should copy the children', async () => { const { copyContext, columnBoard } = setup(); @@ -168,6 +176,14 @@ describe(BoardNodeCopyService.name, () => { expect(result.copyEntity).toBeInstanceOf(Column); }); + it('should copy the original node', async () => { + const { copyContext, column } = setup(); + + const result = await service.copyColumn(column, copyContext); + + expect(result.originalEntity).toBeInstanceOf(Column); + }); + it('should copy the children', async () => { const { copyContext, column } = setup(); @@ -193,6 +209,13 @@ describe(BoardNodeCopyService.name, () => { expect(result.copyEntity).toBeInstanceOf(Card); }); + it('should copy the node', async () => { + const { copyContext, card } = setup(); + + const result = await service.copyCard(card, copyContext); + + expect(result.originalEntity).toBeInstanceOf(Card); + }); it('should copy the children', async () => { const { copyContext, card } = setup(); @@ -264,6 +287,14 @@ describe(BoardNodeCopyService.name, () => { expect(result.copyEntity).toBeInstanceOf(LinkElement); }); + it('should copy the original node', async () => { + const { copyContext, linkElement } = setup(); + + const result = await service.copyLinkElement(linkElement, copyContext); + + expect(result.originalEntity).toBeInstanceOf(LinkElement); + }); + it('should copy the files', async () => { const { copyContext, linkElement, fileCopyStatus } = setup(); From f7fc1a74d6283d81e8537965acfcee92460a4b6a Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 3 Feb 2025 11:19:00 +0100 Subject: [PATCH 5/9] fix test typo --- .../service/internal/board-node-copy-specific.service.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index d2d35fbbc47..5be37c0ab41 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -209,7 +209,7 @@ describe(BoardNodeCopyService.name, () => { expect(result.copyEntity).toBeInstanceOf(Card); }); - it('should copy the node', async () => { + it('should copy the original node', async () => { const { copyContext, card } = setup(); const result = await service.copyCard(card, copyContext); From a895211889a7c0c2248d1eebcfae51b8da11fb49 Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Thu, 6 Feb 2025 17:38:25 +0100 Subject: [PATCH 6/9] refactor CopyStatus type - rename fields; update filename column-board.do --- .../board/domain/board-node.factory.ts | 2 +- .../{colum-board.do.ts => column-board.do.ts} | 0 apps/server/src/modules/board/domain/index.ts | 2 +- .../src/modules/board/domain/type-mapping.ts | 2 +- .../board/domain/types/any-board-node.ts | 2 +- .../board-node-copy-specific.service.spec.ts | 54 +++++++++--------- .../internal/board-node-copy.service.ts | 36 ++++++------ .../column-board-copy.service.spec.ts | 8 +-- .../internal/column-board-copy.service.ts | 14 ++--- .../modules/copy-helper/mapper/copy.mapper.ts | 6 +- .../service/copy-helper.service.spec.ts | 4 +- .../service/copy-helper.service.ts | 4 +- .../modules/copy-helper/types/copy.types.ts | 4 +- .../service/board-copy.service.spec.ts | 34 +++++------ .../learnroom/service/board-copy.service.ts | 28 +++++----- .../service/course-copy.service.spec.ts | 36 ++++++------ .../service/lesson-copy.service.spec.ts | 56 +++++++++---------- .../lesson/service/lesson-copy.service.ts | 10 ++-- .../controller/share-token.controller.spec.ts | 4 +- .../modules/sharing/uc/share-token.uc.spec.ts | 12 ++-- .../task/service/task-copy.service.spec.ts | 32 +++++------ .../modules/task/service/task-copy.service.ts | 4 +- 22 files changed, 177 insertions(+), 177 deletions(-) rename apps/server/src/modules/board/domain/{colum-board.do.ts => column-board.do.ts} (100%) diff --git a/apps/server/src/modules/board/domain/board-node.factory.ts b/apps/server/src/modules/board/domain/board-node.factory.ts index fe219b3c8e6..85d4ec5a458 100644 --- a/apps/server/src/modules/board/domain/board-node.factory.ts +++ b/apps/server/src/modules/board/domain/board-node.factory.ts @@ -3,7 +3,7 @@ import { Injectable, NotImplementedException, UnprocessableEntityException } fro import { EntityId, InputFormat } from '@shared/domain/types'; import { Card } from './card.do'; import { CollaborativeTextEditorElement } from './collaborative-text-editor.do'; -import { ColumnBoard } from './colum-board.do'; +import { ColumnBoard } from './column-board.do'; import { Column } from './column.do'; import { DrawingElement } from './drawing-element.do'; import { ExternalToolElement } from './external-tool-element.do'; diff --git a/apps/server/src/modules/board/domain/colum-board.do.ts b/apps/server/src/modules/board/domain/column-board.do.ts similarity index 100% rename from apps/server/src/modules/board/domain/colum-board.do.ts rename to apps/server/src/modules/board/domain/column-board.do.ts diff --git a/apps/server/src/modules/board/domain/index.ts b/apps/server/src/modules/board/domain/index.ts index e2c2cd5895c..de490800d09 100644 --- a/apps/server/src/modules/board/domain/index.ts +++ b/apps/server/src/modules/board/domain/index.ts @@ -4,7 +4,7 @@ export * from './board-node.factory'; export * from './collaborative-text-editor.do'; export * from './card.do'; export * from './column.do'; -export * from './colum-board.do'; +export * from './column-board.do'; export * from './drawing-element.do'; export * from './external-tool-element.do'; export * from './file-element.do'; diff --git a/apps/server/src/modules/board/domain/type-mapping.ts b/apps/server/src/modules/board/domain/type-mapping.ts index c22feec4d40..fb5ccd9495b 100644 --- a/apps/server/src/modules/board/domain/type-mapping.ts +++ b/apps/server/src/modules/board/domain/type-mapping.ts @@ -1,7 +1,7 @@ import { NotImplementedException } from '@nestjs/common'; import { Card } from './card.do'; import { CollaborativeTextEditorElement } from './collaborative-text-editor.do'; -import { ColumnBoard } from './colum-board.do'; +import { ColumnBoard } from './column-board.do'; import { Column } from './column.do'; import { DeletedElement } from './deleted-element.do'; import { DrawingElement } from './drawing-element.do'; diff --git a/apps/server/src/modules/board/domain/types/any-board-node.ts b/apps/server/src/modules/board/domain/types/any-board-node.ts index c0abefb6b3b..3a6957e24d6 100644 --- a/apps/server/src/modules/board/domain/types/any-board-node.ts +++ b/apps/server/src/modules/board/domain/types/any-board-node.ts @@ -1,6 +1,6 @@ import type { Card } from '../card.do'; import type { CollaborativeTextEditorElement } from '../collaborative-text-editor.do'; -import type { ColumnBoard } from '../colum-board.do'; +import type { ColumnBoard } from '../column-board.do'; import type { Column } from '../column.do'; import type { AnyMediaBoardNode } from '../media-board'; import type { SubmissionItem } from '../submission-item.do'; diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index 5be37c0ab41..c65265a6699 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -132,7 +132,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.copyEntity).toBeInstanceOf(ColumnBoard); + expect(result.copy).toBeInstanceOf(ColumnBoard); }); it('should copy the original node', async () => { @@ -140,7 +140,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.originalEntity).toBeInstanceOf(ColumnBoard); + expect(result.original).toBeInstanceOf(ColumnBoard); }); it('should copy the children', async () => { @@ -148,7 +148,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(Column); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(Column); }); it('should use the service to derive status from children', async () => { @@ -173,7 +173,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.copyEntity).toBeInstanceOf(Column); + expect(result.copy).toBeInstanceOf(Column); }); it('should copy the original node', async () => { @@ -181,7 +181,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.originalEntity).toBeInstanceOf(Column); + expect(result.original).toBeInstanceOf(Column); }); it('should copy the children', async () => { @@ -189,7 +189,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(Card); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(Card); }); }); @@ -206,7 +206,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.copyEntity).toBeInstanceOf(Card); + expect(result.copy).toBeInstanceOf(Card); }); it('should copy the original node', async () => { @@ -214,14 +214,14 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.originalEntity).toBeInstanceOf(Card); + expect(result.original).toBeInstanceOf(Card); }); it('should copy the children', async () => { const { copyContext, card } = setup(); const result = await service.copyCard(card, copyContext); - expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(RichTextElement); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(RichTextElement); }); }); @@ -244,7 +244,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(FileElement); + expect(result.copy).toBeInstanceOf(FileElement); }); it('should copy the files', async () => { @@ -252,7 +252,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copyEntity?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copy?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); }); @@ -284,7 +284,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(LinkElement); + expect(result.copy).toBeInstanceOf(LinkElement); }); it('should copy the original node', async () => { @@ -292,7 +292,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.originalEntity).toBeInstanceOf(LinkElement); + expect(result.original).toBeInstanceOf(LinkElement); }); it('should copy the files', async () => { @@ -300,7 +300,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copyEntity?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copy?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); @@ -311,7 +311,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copyEntity as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); + expect((result.copy as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); }); }); @@ -322,7 +322,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElementWithoutId, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copyEntity as LinkElement).imageUrl).toBe(''); + expect((result.copy as LinkElement).imageUrl).toBe(''); }); }); @@ -338,7 +338,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect((result.copyEntity as LinkElement).imageUrl).toBe(''); + expect((result.copy as LinkElement).imageUrl).toBe(''); }); }); }); @@ -356,7 +356,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyRichTextElement(richTextElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(RichTextElement); + expect(result.copy).toBeInstanceOf(RichTextElement); }); }); @@ -373,7 +373,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDrawingElement(drawingElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(DrawingElement); + expect(result.copy).toBeInstanceOf(DrawingElement); }); }); @@ -392,7 +392,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copySubmissionContainerElement(submissionContainerElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(SubmissionContainerElement); + expect(result.copy).toBeInstanceOf(SubmissionContainerElement); }); it('should copy the children', async () => { @@ -444,7 +444,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyExternalToolElement(externalToolElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(ExternalToolElement); + expect(result.copy).toBeInstanceOf(ExternalToolElement); }); describe('when ctl tools copy is enabled', () => { @@ -484,11 +484,11 @@ describe(BoardNodeCopyService.name, () => { expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( contextTool, - result.copyEntity?.id, + result.copy?.id, copyContext.targetSchoolId ); - expect(result.copyEntity instanceof ExternalToolElement).toEqual(true); - expect((result.copyEntity as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); + expect(result.copy instanceof ExternalToolElement).toEqual(true); + expect((result.copy as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.SUCCESS); }); @@ -518,7 +518,7 @@ describe(BoardNodeCopyService.name, () => { expect.any(String), copyContext.targetSchoolId ); - expect(result.copyEntity instanceof DeletedElement).toEqual(true); + expect(result.copy instanceof DeletedElement).toEqual(true); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.FAIL); }); @@ -594,7 +594,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCollaborativeTextEditorElement(collaborativeTextEditor, copyContext); - expect(result.copyEntity).toBeInstanceOf(CollaborativeTextEditorElement); + expect(result.copy).toBeInstanceOf(CollaborativeTextEditorElement); }); it('should return the correct type and status', async () => { @@ -709,7 +709,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDeletedElement(deletedElement, copyContext); - expect(result.copyEntity).toBeInstanceOf(DeletedElement); + expect(result.copy).toBeInstanceOf(DeletedElement); }); }); diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index f8aca132a07..d7d493a83fe 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -116,11 +116,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.COLUMNBOARD, status: childrenCopyStatus, elements: childrenResults, - originalEntity: original, + original, }; return result; @@ -135,11 +135,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.COLUMN, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - originalEntity: original, + original, }; return result; @@ -154,11 +154,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.CARD, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - originalEntity: original, + original, }; return result; @@ -181,7 +181,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, @@ -198,10 +198,10 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.LINK_ELEMENT, status: CopyStatusEnum.SUCCESS, - originalEntity: original, + original, }; if (original.imageUrl) { @@ -238,7 +238,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -254,7 +254,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -274,7 +274,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, @@ -302,7 +302,7 @@ export class BoardNodeCopyService { if (!this.configService.get('FEATURE_CTL_TOOLS_COPY_ENABLED') || !original.contextExternalToolId) { const copyStatus: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -313,7 +313,7 @@ export class BoardNodeCopyService { const linkedTool = await this.contextExternalToolService.findById(original.contextExternalToolId); if (!linkedTool) { const copyStatus: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, }; @@ -344,7 +344,7 @@ export class BoardNodeCopyService { } const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, }; @@ -363,7 +363,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -427,7 +427,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyEntity: copy, + copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -473,7 +473,7 @@ export class BoardNodeCopyService { id: new ObjectId().toHexString(), createdAt: new Date(), updatedAt: new Date(), - children: childrenResults.map((r) => r.copyEntity).filter((c) => c !== undefined) as AnyBoardNode[], + children: childrenResults.map((r) => r.copy).filter((c) => c !== undefined) as AnyBoardNode[], }; } } diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts index d199c41db18..4d189f0c0e3 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts @@ -76,7 +76,7 @@ describe(ColumnBoardCopyService.name, () => { context: { id: course.id, type: BoardExternalReferenceType.Course }, }); const status: CopyStatus = { - copyEntity: boardCopy, + copy: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; @@ -155,14 +155,14 @@ describe(ColumnBoardCopyService.name, () => { const copyStatus = await service.copyColumnBoard(copyParams); expect(copyStatus).toBeDefined(); - expect(copyStatus.copyEntity).toBeDefined(); + expect(copyStatus.copy).toBeDefined(); }); it('should not affect the original board', async () => { const { copyParams, originalBoard } = setup(); const copyStatus = await service.copyColumnBoard(copyParams); - expect(copyStatus.originalEntity).toBe(originalBoard); + expect(copyStatus.original).toBe(originalBoard); }); }); @@ -194,7 +194,7 @@ describe(ColumnBoardCopyService.name, () => { const boardCopy = { ...originalBoard, id: new ObjectId().toHexString(), type: 'not-a-column-board' }; const status: CopyStatus = { - copyEntity: boardCopy, + copy: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts index 6c5b4a31b01..268c58e5e2a 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts @@ -43,22 +43,22 @@ export class ColumnBoardCopyService { const copyStatus = await this.boardNodeCopyService.copy(originalBoard, copyContext); /* istanbul ignore next */ - if (!isColumnBoard(copyStatus.copyEntity)) { + if (!isColumnBoard(copyStatus.copy)) { throw new InternalServerErrorException('expected copy of columnboard to be a columnboard'); } if (params.copyTitle) { - copyStatus.copyEntity.title = params.copyTitle; + copyStatus.copy.title = params.copyTitle; } else { - copyStatus.copyEntity.title = await this.columnBoardTitleService.deriveColumnBoardTitle( + copyStatus.copy.title = await this.columnBoardTitleService.deriveColumnBoardTitle( originalBoard.title, params.targetExternalReference ); } - copyStatus.copyEntity.context = params.targetExternalReference; - copyStatus.copyEntity.isVisible = false; - await this.boardNodeService.addRoot(copyStatus.copyEntity); - copyStatus.originalEntity = originalBoard; + copyStatus.copy.context = params.targetExternalReference; + copyStatus.copy.isVisible = false; + await this.boardNodeService.addRoot(copyStatus.copy); + copyStatus.original = originalBoard; return copyStatus; } 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 aa5e8d44af0..031b5531385 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts @@ -5,7 +5,7 @@ import { TaskCopyParentParams } from '@modules/task/types/task-copy-parent.param import { LessonEntity } from '@shared/domain/entity/lesson.entity'; import { Task } from '@shared/domain/entity/task.entity'; import { EntityId } from '@shared/domain/types'; -import { ColumnBoard } from '@modules/board/domain/colum-board.do'; +import { ColumnBoard } from '@modules/board/domain/column-board.do'; import { CopyApiResponse } from '../dto/copy.response'; import { CopyStatus, CopyStatusEnum } from '../types/copy.types'; @@ -17,8 +17,8 @@ export class CopyMapper { status: copyStatus.status, }); - if (copyStatus.copyEntity) { - const copyEntity = copyStatus.copyEntity as LessonEntity | Task; + if (copyStatus.copy) { + const copyEntity = copyStatus.copy as LessonEntity | Task; dto.id = copyEntity.id; if (copyEntity instanceof LessonEntity || copyEntity instanceof Task) { dto.destinationId = copyEntity.course?.id; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts index 0115d9f65b7..e1addef3900 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts @@ -286,8 +286,8 @@ describe('copy helper service', () => { { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - originalEntity, - copyEntity, + original: originalEntity, + copy: copyEntity, }, ], }; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts index d56608596f2..11153d0f342 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts @@ -53,8 +53,8 @@ export class CopyHelperService { status.elements?.forEach((elementStatus: CopyStatus) => { this.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el)); }); - if (status.originalEntity && status.copyEntity) { - map.set(status.originalEntity.id, status.copyEntity); + if (status.original && status.copy) { + map.set(status.original.id, status.copy); } return map; } diff --git a/apps/server/src/modules/copy-helper/types/copy.types.ts b/apps/server/src/modules/copy-helper/types/copy.types.ts index 70d64443b17..23875bd46f2 100644 --- a/apps/server/src/modules/copy-helper/types/copy.types.ts +++ b/apps/server/src/modules/copy-helper/types/copy.types.ts @@ -7,8 +7,8 @@ export type CopyStatus = { type: CopyElementType; status: CopyStatusEnum; elements?: CopyStatus[]; - copyEntity?: AuthorizableObject; - originalEntity?: AuthorizableObject; + copy?: AuthorizableObject; + original?: AuthorizableObject; }; export enum CopyElementType { 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 9c1207415c3..3da7dcdff85 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 @@ -128,7 +128,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - expect(status.originalEntity).toEqual(originalBoard); + expect(status.original).toEqual(originalBoard); }); it('should create a copy', async () => { @@ -140,7 +140,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.id).not.toEqual(originalBoard.id); }); @@ -153,7 +153,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.course.id).toEqual(destinationCourse.id); }); }); @@ -171,7 +171,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyEntity: taskCopy, + copy: taskCopy, }); return { destinationCourse, originalBoard, user, originalTask }; @@ -204,7 +204,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -237,7 +237,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyEntity: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -265,7 +265,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -299,8 +299,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyEntity: copyOfColumnBoard, - originalEntity: originalColumnBoard, + copy: copyOfColumnBoard, + original: originalColumnBoard, title: copyOfColumnBoard.title, }); @@ -334,7 +334,7 @@ describe('board copy service', () => { user, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -362,7 +362,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyEntity: taskCopy, + copy: taskCopy, }); const originalLesson = lessonFactory.buildWithId(); @@ -372,7 +372,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyEntity: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -386,8 +386,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyEntity: columnBoardCopy, - originalEntity: originalColumnBoard, + copy: columnBoardCopy, + original: originalColumnBoard, title: columnBoardCopy.title, }); @@ -508,7 +508,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyEntity: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -524,7 +524,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyEntity as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.references).toHaveLength(0); }); @@ -543,7 +543,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyEntity: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); boardRepo.save.mockRejectedValue(new Error()); 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 1808a2eca1b..07bd17f46cf 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.ts @@ -59,14 +59,14 @@ export class BoardCopyService { title: 'board', type: CopyElementType.BOARD, status: this.copyHelperService.deriveStatusFromElements(elements), - copyEntity: boardCopy, - originalEntity: params.originalBoard, + copy: boardCopy, + original: params.originalBoard, elements, }; status = this.updateCopiedEmbeddedTasksOfLessons(status); - if (status.copyEntity) { - boardCopy = status.copyEntity as LegacyBoard; + if (status.copy) { + boardCopy = status.copy as LegacyBoard; } status = await this.swapLinkedIdsInBoards(status); @@ -161,18 +161,18 @@ export class BoardCopyService { const references: LegacyBoardElement[] = []; for (const status of statuses) { // statuses.forEach((status) => { - if (status.copyEntity instanceof Task) { - const taskElement = new TaskBoardElement({ target: status.copyEntity }); + if (status.copy instanceof Task) { + const taskElement = new TaskBoardElement({ target: status.copy }); references.push(taskElement); } - if (status.copyEntity instanceof LessonEntity) { - const lessonElement = new LessonBoardElement({ target: status.copyEntity }); + if (status.copy instanceof LessonEntity) { + const lessonElement = new LessonBoardElement({ target: status.copy }); references.push(lessonElement); } - if (status.copyEntity instanceof ColumnBoard) { + if (status.copy instanceof ColumnBoard) { // TODO comment this, legacy! // eslint-disable-next-line no-await-in-loop - const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copyEntity.id); + const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copy.id); const columnBoardElement = new ColumnboardBoardElement({ target: columnBoardNode, }); @@ -200,15 +200,15 @@ export class BoardCopyService { const copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus); copyDict.forEach((value, key) => map.set(key, value.id)); - if (copyStatus.copyEntity instanceof LegacyBoard && copyStatus.originalEntity instanceof LegacyBoard) { - map.set(copyStatus.originalEntity.course.id, copyStatus.copyEntity.course.id); + if (copyStatus.copy instanceof LegacyBoard && copyStatus.original instanceof LegacyBoard) { + map.set(copyStatus.original.course.id, copyStatus.copy.course.id); } const elements = copyStatus.elements ?? []; const updatedElements = await Promise.all( elements.map(async (el) => { - if (el.type === CopyElementType.COLUMNBOARD && el.copyEntity) { - el.copyEntity = await this.columnBoardService.swapLinkedIds(el.copyEntity?.id, map); + if (el.type === CopyElementType.COLUMNBOARD && el.copy) { + el.copy = await this.columnBoardService.swapLinkedIds(el.copy?.id, map); } return el; }) diff --git a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts index d129517cacd..e8742e4edfd 100644 --- a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts @@ -244,7 +244,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.originalEntity).toEqual(course); + expect(status.original).toEqual(course); }); it('should set status to success', async () => { @@ -258,7 +258,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.title).toEqual((status.copyEntity as Course).name); + expect(status.title).toEqual((status.copy as Course).name); }); it('should set static statuses (metadata, ltitools, usergroup, timegroup)', async () => { @@ -294,7 +294,7 @@ describe('course copy service', () => { it('should assign user as teacher', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers ?? []).toContain(user); }); @@ -307,7 +307,7 @@ describe('course copy service', () => { userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.school.name).toEqual(targetUser.school.name); }); @@ -315,7 +315,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -324,7 +324,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(undefined); expect(courseCopy.untilDate).toEqual(undefined); @@ -333,7 +333,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -341,7 +341,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -359,7 +359,7 @@ describe('course copy service', () => { it('should copy all ctl tools', async () => { const { course, user, tools } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( tools[0], @@ -562,7 +562,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers).toContain(targetUser); }); @@ -573,7 +573,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.school.name).toEqual(destinationSchool.name); }); @@ -581,7 +581,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -590,7 +590,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toBeUndefined(); expect(courseCopy.untilDate).toBeUndefined(); @@ -599,7 +599,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -607,7 +607,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -642,7 +642,7 @@ describe('course copy service', () => { it('should not set any students in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.students.length).toEqual(0); }); @@ -650,7 +650,7 @@ describe('course copy service', () => { it('should not set any additional teachers', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers.length).toEqual(1); }); @@ -658,7 +658,7 @@ describe('course copy service', () => { it('should not set any substitution Teachers in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyEntity as Course; + const courseCopy = status.copy as Course; expect(courseCopy.substitutionTeachers.length).toEqual(0); }); 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 32e0f9afd04..173f40affbe 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 @@ -110,7 +110,7 @@ describe('lesson copy service', () => { user, copyName, }); - const lesson = response.copyEntity as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.name).toEqual(copyName); }); @@ -123,7 +123,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyEntity as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.name).toEqual(originalLesson.name); }); @@ -135,7 +135,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyEntity as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -148,7 +148,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyEntity as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.position).toEqual(originalLesson.position); }); @@ -161,7 +161,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyEntity as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.hidden).toEqual(true); }); @@ -202,7 +202,7 @@ describe('lesson copy service', () => { user, }); - expect(status.originalEntity).toEqual(originalLesson); + expect(status.original).toEqual(originalLesson); }); it('should set lesson status', async () => { @@ -246,7 +246,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = status.copyEntity as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -274,7 +274,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyEntity as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents.length).toEqual(0); }); @@ -339,7 +339,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyEntity as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents.length).toEqual(2); expect(lesson.contents).toEqual(originalLesson.contents); @@ -356,7 +356,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyEntity as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents[0].hidden).toEqual(true); expect(lesson.contents[1].hidden).toEqual(false); @@ -454,7 +454,7 @@ describe('lesson copy service', () => { user, }); - const lessonCopy = status.copyEntity as LessonEntity; + const lessonCopy = status.copy as LessonEntity; const contentsStatus = status.elements?.find((el) => el.type === CopyElementType.LESSON_CONTENT_GROUP); expect(contentsStatus).toBeDefined(); expect((lessonCopy.contents[0].content as ComponentTextProperties).text).not.toContain(FILE_ID_TO_BE_REPLACED); @@ -500,7 +500,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -549,7 +549,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -601,7 +601,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; const geoGebraContent = lessonContents[0].content as ComponentGeogebraProperties; expect(geoGebraContent.materialId).toEqual(''); @@ -616,7 +616,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(lessonContents[0].hidden).toEqual(true); }); @@ -849,7 +849,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(configurationSpy).toHaveBeenCalledWith('FEATURE_ETHERPAD_ENABLED'); expect(etherpadService.createEtherpad).not.toHaveBeenCalled(); expect(lessonContents).toEqual([]); @@ -887,7 +887,7 @@ describe('lesson copy service', () => { } expect(contentStatus).toEqual(CopyStatusEnum.FAIL); - const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(lessonContents.length).toEqual(0); }); @@ -901,7 +901,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; const copiedEtherpad = copiedLessonContents[0].content as ComponentEtherpadProperties; expect(copiedEtherpad.url).toEqual('http://pad.uri/abc'); }); @@ -975,7 +975,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = copyStatus.copyEntity as LessonEntity; + const lesson = copyStatus.copy as LessonEntity; const embeddedTaskLink = lesson.contents.find((el) => el.component === ComponentType.INTERNAL); expect(embeddedTaskLink).toEqual(embeddedTaskContent); @@ -1070,7 +1070,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLesson = copyStatus.copyEntity as LessonEntity; + const copiedLesson = copyStatus.copy as LessonEntity; const copiedMaterial = copiedLesson.materials[0]; expect(copiedLesson.materials.length).toEqual(1); expect(copiedMaterial.title).toEqual(originalMaterial.title); @@ -1110,7 +1110,7 @@ describe('lesson copy service', () => { expect(materialStatus).toBeDefined(); expect(materialStatus?.title).toEqual(mockedMaterialStatus.title); expect(materialStatus?.status).toEqual(mockedMaterialStatus.status); - const material = materialStatus?.copyEntity as Material; + const material = materialStatus?.copy as Material; expect(material?.description).toEqual(mockedMaterialStatus?.copyEntity?.description); }); }); @@ -1214,14 +1214,14 @@ describe('lesson copy service', () => { const copyStatus: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - originalEntity: originalLesson, - copyEntity: copiedLesson, + original: originalLesson, + copy: copiedLesson, elements: [ { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - originalEntity: originalTask, - copyEntity: copiedTask, + original: originalTask, + copy: copiedTask, }, { type: CopyElementType.LESSON_CONTENT_GROUP, @@ -1253,7 +1253,7 @@ describe('lesson copy service', () => { const { copyStatus, originalTask, copiedTask } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyEntity as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1266,7 +1266,7 @@ describe('lesson copy service', () => { const { copyStatus } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyEntity as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1278,7 +1278,7 @@ describe('lesson copy service', () => { copyHelperService.buildCopyEntityDict.mockReturnValue(new Map()); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyEntity as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } diff --git a/apps/server/src/modules/lesson/service/lesson-copy.service.ts b/apps/server/src/modules/lesson/service/lesson-copy.service.ts index 6d1408a8530..412bfce0a6f 100644 --- a/apps/server/src/modules/lesson/service/lesson-copy.service.ts +++ b/apps/server/src/modules/lesson/service/lesson-copy.service.ts @@ -91,15 +91,15 @@ export class LessonCopyService { title: lessonCopy.name, type: CopyElementType.LESSON, status: this.copyHelperService.deriveStatusFromElements(elements), - copyEntity: lessonCopy, - originalEntity: originalLesson, + copy: lessonCopy, + original: originalLesson, elements, }; return { status, elements }; } updateCopiedEmbeddedTasks(lessonStatus: CopyStatus, copyDict: CopyDictionary): CopyStatus { - const copiedLesson = lessonStatus.copyEntity as LessonEntity; + const copiedLesson = lessonStatus.copy as LessonEntity; if (copiedLesson?.contents === undefined) { return lessonStatus; @@ -109,7 +109,7 @@ export class LessonCopyService { this.updateCopiedEmbeddedTaskId(value, copyDict) ); - lessonStatus.copyEntity = copiedLesson; + lessonStatus.copy = copiedLesson; return lessonStatus; } @@ -334,7 +334,7 @@ export class LessonCopyService { title: element.title, type: CopyElementType.LERNSTORE_MATERIAL, status: CopyStatusEnum.SUCCESS, - copyEntity: material, + copy: material, }; elementsStatus.push(status); }); diff --git a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts index 24e6ee646d0..3d81d482854 100644 --- a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts +++ b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts @@ -120,7 +120,7 @@ describe('ShareTokenController', () => { title: 'Spanisch', type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyEntity: course, + copy: course, }; uc.importShareToken.mockResolvedValue(status); const newName = 'NewName'; @@ -142,7 +142,7 @@ describe('ShareTokenController', () => { const result = await controller.importShareToken(currentUser, { token }, { newName }); expect(result).toEqual({ - id: status.copyEntity?.id, + id: status.copy?.id, title: status.title, type: status.type, status: status.status, 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 15349ed0f7b..081b06343e6 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 @@ -850,7 +850,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyEntity: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -919,7 +919,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyEntity: lesson, + copy: lesson, }; lessonCopyService.copyLesson.mockResolvedValueOnce(status); @@ -1005,7 +1005,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyEntity: task, + copy: task, }; taskCopyService.copyTask.mockResolvedValueOnce(status); @@ -1145,7 +1145,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyEntity: columnBoard, + copy: columnBoard, }; columnBoardService.copyColumnBoard.mockResolvedValueOnce(status); const newName = 'NewName'; @@ -1196,7 +1196,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyEntity: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -1233,7 +1233,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyEntity: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); diff --git a/apps/server/src/modules/task/service/task-copy.service.spec.ts b/apps/server/src/modules/task/service/task-copy.service.spec.ts index 9b07850ceca..ae29ea2f338 100644 --- a/apps/server/src/modules/task/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/service/task-copy.service.spec.ts @@ -84,7 +84,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.creator).toEqual(user); }); @@ -98,7 +98,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.school).toEqual(school); }); @@ -112,7 +112,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.private).toEqual(true); expect(task.availableDate).not.toBeDefined(); }); @@ -128,7 +128,7 @@ describe('task copy service', () => { copyName, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.name).toEqual(copyName); }); @@ -141,7 +141,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.name).toEqual(originalTask.name); }); @@ -155,7 +155,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.course).toEqual(destinationCourse); }); @@ -169,7 +169,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.lesson).toEqual(destinationLesson); }); @@ -183,7 +183,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.description).toEqual(originalTask.description); }); @@ -198,7 +198,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.teamSubmissions).toEqual(originalTask.teamSubmissions); }); @@ -212,7 +212,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(status.title).toEqual(task.name); }); @@ -239,7 +239,7 @@ describe('task copy service', () => { user, }); - expect(status.originalEntity).toEqual(originalTask); + expect(status.original).toEqual(originalTask); }); it('should set status of metadata', async () => { @@ -310,7 +310,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.school).toEqual(destinationSchool); }); }); @@ -336,7 +336,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.course).toEqual(destinationCourse); }); @@ -350,7 +350,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task.lesson).toEqual(destinationLesson); }); }); @@ -365,7 +365,7 @@ describe('task copy service', () => { user, }); - const task = status.copyEntity as Task; + const task = status.copy as Task; expect(task).toBeDefined(); expect(task.course).toBeUndefined(); expect(task.lesson).toBeUndefined(); @@ -448,7 +448,7 @@ describe('task copy service', () => { user, }); - const { description } = status.copyEntity as Task; + const { description } = status.copy as Task; expect(description).not.toContain(file1.id); expect(description).not.toContain(file2.id); expect(description).toContain(replacement1); diff --git a/apps/server/src/modules/task/service/task-copy.service.ts b/apps/server/src/modules/task/service/task-copy.service.ts index b3d7f04dd5f..1a0c6cdc6bb 100644 --- a/apps/server/src/modules/task/service/task-copy.service.ts +++ b/apps/server/src/modules/task/service/task-copy.service.ts @@ -87,8 +87,8 @@ export class TaskCopyService { title: taskCopy.name, type: CopyElementType.TASK, status: this.copyHelperService.deriveStatusFromElements(elements), - copyEntity: taskCopy, - originalEntity: originalTask, + copy: taskCopy, + original: originalTask, elements, }; return status; From 50fd4865eee6e59f9e8c5e23662cf86d46a2d3d4 Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 10 Feb 2025 10:08:01 +0100 Subject: [PATCH 7/9] rename fields in CopyStatus --- .../board-node-copy-specific.service.spec.ts | 54 +++++++++--------- .../internal/board-node-copy.service.ts | 36 ++++++------ .../column-board-copy.service.spec.ts | 8 +-- .../internal/column-board-copy.service.ts | 14 ++--- .../modules/copy-helper/mapper/copy.mapper.ts | 4 +- .../service/copy-helper.service.spec.ts | 4 +- .../service/copy-helper.service.ts | 4 +- .../modules/copy-helper/types/copy.types.ts | 4 +- .../service/board-copy.service.spec.ts | 34 +++++------ .../learnroom/service/board-copy.service.ts | 28 +++++----- .../service/course-copy.service.spec.ts | 36 ++++++------ .../service/lesson-copy.service.spec.ts | 56 +++++++++---------- .../lesson/service/lesson-copy.service.ts | 10 ++-- .../controller/share-token.controller.spec.ts | 4 +- .../modules/sharing/uc/share-token.uc.spec.ts | 12 ++-- .../task/service/task-copy.service.spec.ts | 32 +++++------ .../modules/task/service/task-copy.service.ts | 4 +- 17 files changed, 172 insertions(+), 172 deletions(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index 93722a0c938..4a54d146cd6 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -130,7 +130,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.copy).toBeInstanceOf(ColumnBoard); + expect(result.copyObject).toBeInstanceOf(ColumnBoard); }); it('should copy the original node', async () => { @@ -138,7 +138,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.original).toBeInstanceOf(ColumnBoard); + expect(result.originalObject).toBeInstanceOf(ColumnBoard); }); it('should copy the children', async () => { @@ -146,7 +146,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(Column); + expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(Column); }); it('should use the service to derive status from children', async () => { @@ -171,7 +171,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.copy).toBeInstanceOf(Column); + expect(result.copyObject).toBeInstanceOf(Column); }); it('should copy the original node', async () => { @@ -179,7 +179,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.original).toBeInstanceOf(Column); + expect(result.originalObject).toBeInstanceOf(Column); }); it('should copy the children', async () => { @@ -187,7 +187,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(Card); + expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(Card); }); }); @@ -204,7 +204,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.copy).toBeInstanceOf(Card); + expect(result.copyObject).toBeInstanceOf(Card); }); it('should copy the original node', async () => { @@ -212,14 +212,14 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.original).toBeInstanceOf(Card); + expect(result.originalObject).toBeInstanceOf(Card); }); it('should copy the children', async () => { const { copyContext, card } = setup(); const result = await service.copyCard(card, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(RichTextElement); + expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(RichTextElement); }); }); @@ -242,7 +242,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(result.copy).toBeInstanceOf(FileElement); + expect(result.copyObject).toBeInstanceOf(FileElement); }); it('should copy the files', async () => { @@ -250,7 +250,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copy?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copyObject?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); }); @@ -282,7 +282,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.copy).toBeInstanceOf(LinkElement); + expect(result.copyObject).toBeInstanceOf(LinkElement); }); it('should copy the original node', async () => { @@ -290,7 +290,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.original).toBeInstanceOf(LinkElement); + expect(result.originalObject).toBeInstanceOf(LinkElement); }); it('should copy the files', async () => { @@ -298,7 +298,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copy?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copyObject?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); @@ -309,7 +309,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copy as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); + expect((result.copyObject as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); }); }); @@ -320,7 +320,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElementWithoutId, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copy as LinkElement).imageUrl).toBe(''); + expect((result.copyObject as LinkElement).imageUrl).toBe(''); }); }); @@ -336,7 +336,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect((result.copy as LinkElement).imageUrl).toBe(''); + expect((result.copyObject as LinkElement).imageUrl).toBe(''); }); }); }); @@ -354,7 +354,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyRichTextElement(richTextElement, copyContext); - expect(result.copy).toBeInstanceOf(RichTextElement); + expect(result.copyObject).toBeInstanceOf(RichTextElement); }); }); @@ -371,7 +371,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDrawingElement(drawingElement, copyContext); - expect(result.copy).toBeInstanceOf(DrawingElement); + expect(result.copyObject).toBeInstanceOf(DrawingElement); }); }); @@ -390,7 +390,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copySubmissionContainerElement(submissionContainerElement, copyContext); - expect(result.copy).toBeInstanceOf(SubmissionContainerElement); + expect(result.copyObject).toBeInstanceOf(SubmissionContainerElement); }); it('should copy the children', async () => { @@ -442,7 +442,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyExternalToolElement(externalToolElement, copyContext); - expect(result.copy).toBeInstanceOf(ExternalToolElement); + expect(result.copyObject).toBeInstanceOf(ExternalToolElement); }); describe('when ctl tools copy is enabled', () => { @@ -482,11 +482,11 @@ describe(BoardNodeCopyService.name, () => { expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( contextTool, - result.copy?.id, + result.copyObject?.id, copyContext.targetSchoolId ); - expect(result.copy instanceof ExternalToolElement).toEqual(true); - expect((result.copy as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); + expect(result.copyObject instanceof ExternalToolElement).toEqual(true); + expect((result.copyObject as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.SUCCESS); }); @@ -516,7 +516,7 @@ describe(BoardNodeCopyService.name, () => { expect.any(String), copyContext.targetSchoolId ); - expect(result.copy instanceof DeletedElement).toEqual(true); + expect(result.copyObject instanceof DeletedElement).toEqual(true); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.FAIL); }); @@ -592,7 +592,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCollaborativeTextEditorElement(collaborativeTextEditor, copyContext); - expect(result.copy).toBeInstanceOf(CollaborativeTextEditorElement); + expect(result.copyObject).toBeInstanceOf(CollaborativeTextEditorElement); }); it('should return the correct type and status', async () => { @@ -707,7 +707,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDeletedElement(deletedElement, copyContext); - expect(result.copy).toBeInstanceOf(DeletedElement); + expect(result.copyObject).toBeInstanceOf(DeletedElement); }); }); diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index d7d493a83fe..b38601fe290 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -116,11 +116,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.COLUMNBOARD, status: childrenCopyStatus, elements: childrenResults, - original, + originalObject: original, }; return result; @@ -135,11 +135,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.COLUMN, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - original, + originalObject: original, }; return result; @@ -154,11 +154,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.CARD, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - original, + originalObject: original, }; return result; @@ -181,7 +181,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, @@ -198,10 +198,10 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.LINK_ELEMENT, status: CopyStatusEnum.SUCCESS, - original, + originalObject: original, }; if (original.imageUrl) { @@ -238,7 +238,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -254,7 +254,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -274,7 +274,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, @@ -302,7 +302,7 @@ export class BoardNodeCopyService { if (!this.configService.get('FEATURE_CTL_TOOLS_COPY_ENABLED') || !original.contextExternalToolId) { const copyStatus: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -313,7 +313,7 @@ export class BoardNodeCopyService { const linkedTool = await this.contextExternalToolService.findById(original.contextExternalToolId); if (!linkedTool) { const copyStatus: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, }; @@ -344,7 +344,7 @@ export class BoardNodeCopyService { } const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, }; @@ -363,7 +363,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -427,7 +427,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyObject: copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -473,7 +473,7 @@ export class BoardNodeCopyService { id: new ObjectId().toHexString(), createdAt: new Date(), updatedAt: new Date(), - children: childrenResults.map((r) => r.copy).filter((c) => c !== undefined) as AnyBoardNode[], + children: childrenResults.map((r) => r.copyObject).filter((c) => c !== undefined) as AnyBoardNode[], }; } } diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts index 4d189f0c0e3..6a6e0b543f2 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts @@ -76,7 +76,7 @@ describe(ColumnBoardCopyService.name, () => { context: { id: course.id, type: BoardExternalReferenceType.Course }, }); const status: CopyStatus = { - copy: boardCopy, + copyObject: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; @@ -155,14 +155,14 @@ describe(ColumnBoardCopyService.name, () => { const copyStatus = await service.copyColumnBoard(copyParams); expect(copyStatus).toBeDefined(); - expect(copyStatus.copy).toBeDefined(); + expect(copyStatus.copyObject).toBeDefined(); }); it('should not affect the original board', async () => { const { copyParams, originalBoard } = setup(); const copyStatus = await service.copyColumnBoard(copyParams); - expect(copyStatus.original).toBe(originalBoard); + expect(copyStatus.originalObject).toBe(originalBoard); }); }); @@ -194,7 +194,7 @@ describe(ColumnBoardCopyService.name, () => { const boardCopy = { ...originalBoard, id: new ObjectId().toHexString(), type: 'not-a-column-board' }; const status: CopyStatus = { - copy: boardCopy, + copyObject: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts index 268c58e5e2a..6205119bf07 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts @@ -43,22 +43,22 @@ export class ColumnBoardCopyService { const copyStatus = await this.boardNodeCopyService.copy(originalBoard, copyContext); /* istanbul ignore next */ - if (!isColumnBoard(copyStatus.copy)) { + if (!isColumnBoard(copyStatus.copyObject)) { throw new InternalServerErrorException('expected copy of columnboard to be a columnboard'); } if (params.copyTitle) { - copyStatus.copy.title = params.copyTitle; + copyStatus.copyObject.title = params.copyTitle; } else { - copyStatus.copy.title = await this.columnBoardTitleService.deriveColumnBoardTitle( + copyStatus.copyObject.title = await this.columnBoardTitleService.deriveColumnBoardTitle( originalBoard.title, params.targetExternalReference ); } - copyStatus.copy.context = params.targetExternalReference; - copyStatus.copy.isVisible = false; - await this.boardNodeService.addRoot(copyStatus.copy); - copyStatus.original = originalBoard; + copyStatus.copyObject.context = params.targetExternalReference; + copyStatus.copyObject.isVisible = false; + await this.boardNodeService.addRoot(copyStatus.copyObject); + copyStatus.originalObject = originalBoard; return copyStatus; } 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 031b5531385..5db0f48ccbb 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts @@ -17,8 +17,8 @@ export class CopyMapper { status: copyStatus.status, }); - if (copyStatus.copy) { - const copyEntity = copyStatus.copy as LessonEntity | Task; + if (copyStatus.copyObject) { + const copyEntity = copyStatus.copyObject as LessonEntity | Task; dto.id = copyEntity.id; if (copyEntity instanceof LessonEntity || copyEntity instanceof Task) { dto.destinationId = copyEntity.course?.id; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts index e1addef3900..317d1abdc23 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts @@ -286,8 +286,8 @@ describe('copy helper service', () => { { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - original: originalEntity, - copy: copyEntity, + originalObject: originalEntity, + copyObject: copyEntity, }, ], }; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts index 11153d0f342..a802ad032fb 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts @@ -53,8 +53,8 @@ export class CopyHelperService { status.elements?.forEach((elementStatus: CopyStatus) => { this.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el)); }); - if (status.original && status.copy) { - map.set(status.original.id, status.copy); + if (status.originalObject && status.copyObject) { + map.set(status.originalObject.id, status.copyObject); } return map; } diff --git a/apps/server/src/modules/copy-helper/types/copy.types.ts b/apps/server/src/modules/copy-helper/types/copy.types.ts index e776c743cb3..dd5b434dead 100644 --- a/apps/server/src/modules/copy-helper/types/copy.types.ts +++ b/apps/server/src/modules/copy-helper/types/copy.types.ts @@ -7,8 +7,8 @@ export type CopyStatus = { type: CopyElementType; status: CopyStatusEnum; elements?: CopyStatus[]; - copy?: AuthorizableObject; - original?: AuthorizableObject; + copyObject?: AuthorizableObject; + originalObject?: AuthorizableObject; }; export enum CopyElementType { 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 3da7dcdff85..3d6e7a7108e 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 @@ -128,7 +128,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - expect(status.original).toEqual(originalBoard); + expect(status.originalObject).toEqual(originalBoard); }); it('should create a copy', async () => { @@ -140,7 +140,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.id).not.toEqual(originalBoard.id); }); @@ -153,7 +153,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.course.id).toEqual(destinationCourse.id); }); }); @@ -171,7 +171,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: taskCopy, + copyObject: taskCopy, }); return { destinationCourse, originalBoard, user, originalTask }; @@ -204,7 +204,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -237,7 +237,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyObject: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -265,7 +265,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -299,8 +299,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: copyOfColumnBoard, - original: originalColumnBoard, + copyObject: copyOfColumnBoard, + originalObject: originalColumnBoard, title: copyOfColumnBoard.title, }); @@ -334,7 +334,7 @@ describe('board copy service', () => { user, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -362,7 +362,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: taskCopy, + copyObject: taskCopy, }); const originalLesson = lessonFactory.buildWithId(); @@ -372,7 +372,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyObject: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -386,8 +386,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: columnBoardCopy, - original: originalColumnBoard, + copyObject: columnBoardCopy, + originalObject: originalColumnBoard, title: columnBoardCopy.title, }); @@ -508,7 +508,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyObject: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -524,7 +524,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyObject as LegacyBoard; expect(board.references).toHaveLength(0); }); @@ -543,7 +543,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyObject: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); boardRepo.save.mockRejectedValue(new Error()); 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 07bd17f46cf..2bb3c5b4115 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.ts @@ -59,14 +59,14 @@ export class BoardCopyService { title: 'board', type: CopyElementType.BOARD, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: boardCopy, - original: params.originalBoard, + copyObject: boardCopy, + originalObject: params.originalBoard, elements, }; status = this.updateCopiedEmbeddedTasksOfLessons(status); - if (status.copy) { - boardCopy = status.copy as LegacyBoard; + if (status.copyObject) { + boardCopy = status.copyObject as LegacyBoard; } status = await this.swapLinkedIdsInBoards(status); @@ -161,18 +161,18 @@ export class BoardCopyService { const references: LegacyBoardElement[] = []; for (const status of statuses) { // statuses.forEach((status) => { - if (status.copy instanceof Task) { - const taskElement = new TaskBoardElement({ target: status.copy }); + if (status.copyObject instanceof Task) { + const taskElement = new TaskBoardElement({ target: status.copyObject }); references.push(taskElement); } - if (status.copy instanceof LessonEntity) { - const lessonElement = new LessonBoardElement({ target: status.copy }); + if (status.copyObject instanceof LessonEntity) { + const lessonElement = new LessonBoardElement({ target: status.copyObject }); references.push(lessonElement); } - if (status.copy instanceof ColumnBoard) { + if (status.copyObject instanceof ColumnBoard) { // TODO comment this, legacy! // eslint-disable-next-line no-await-in-loop - const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copy.id); + const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copyObject.id); const columnBoardElement = new ColumnboardBoardElement({ target: columnBoardNode, }); @@ -200,15 +200,15 @@ export class BoardCopyService { const copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus); copyDict.forEach((value, key) => map.set(key, value.id)); - if (copyStatus.copy instanceof LegacyBoard && copyStatus.original instanceof LegacyBoard) { - map.set(copyStatus.original.course.id, copyStatus.copy.course.id); + if (copyStatus.copyObject instanceof LegacyBoard && copyStatus.originalObject instanceof LegacyBoard) { + map.set(copyStatus.originalObject.course.id, copyStatus.copyObject.course.id); } const elements = copyStatus.elements ?? []; const updatedElements = await Promise.all( elements.map(async (el) => { - if (el.type === CopyElementType.COLUMNBOARD && el.copy) { - el.copy = await this.columnBoardService.swapLinkedIds(el.copy?.id, map); + if (el.type === CopyElementType.COLUMNBOARD && el.copyObject) { + el.copyObject = await this.columnBoardService.swapLinkedIds(el.copyObject?.id, map); } return el; }) diff --git a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts index 62b72921cdf..d1e44478338 100644 --- a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts @@ -244,7 +244,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.original).toEqual(course); + expect(status.originalObject).toEqual(course); }); it('should set status to success', async () => { @@ -258,7 +258,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.title).toEqual((status.copy as Course).name); + expect(status.title).toEqual((status.copyObject as Course).name); }); it('should set static statuses (metadata, usergroup, timegroup)', async () => { @@ -292,7 +292,7 @@ describe('course copy service', () => { it('should assign user as teacher', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.teachers ?? []).toContain(user); }); @@ -305,7 +305,7 @@ describe('course copy service', () => { userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.school.name).toEqual(targetUser.school.name); }); @@ -313,7 +313,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -322,7 +322,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.startDate).toEqual(undefined); expect(courseCopy.untilDate).toEqual(undefined); @@ -331,7 +331,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -339,7 +339,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -357,7 +357,7 @@ describe('course copy service', () => { it('should copy all ctl tools', async () => { const { course, user, tools } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( tools[0], @@ -560,7 +560,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.teachers).toContain(targetUser); }); @@ -571,7 +571,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.school.name).toEqual(destinationSchool.name); }); @@ -579,7 +579,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -588,7 +588,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.startDate).toBeUndefined(); expect(courseCopy.untilDate).toBeUndefined(); @@ -597,7 +597,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -605,7 +605,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -640,7 +640,7 @@ describe('course copy service', () => { it('should not set any students in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.students.length).toEqual(0); }); @@ -648,7 +648,7 @@ describe('course copy service', () => { it('should not set any additional teachers', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.teachers.length).toEqual(1); }); @@ -656,7 +656,7 @@ describe('course copy service', () => { it('should not set any substitution Teachers in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyObject as Course; expect(courseCopy.substitutionTeachers.length).toEqual(0); }); 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 173f40affbe..e124e64996b 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 @@ -110,7 +110,7 @@ describe('lesson copy service', () => { user, copyName, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyObject as LessonEntity; expect(lesson.name).toEqual(copyName); }); @@ -123,7 +123,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyObject as LessonEntity; expect(lesson.name).toEqual(originalLesson.name); }); @@ -135,7 +135,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyObject as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -148,7 +148,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyObject as LessonEntity; expect(lesson.position).toEqual(originalLesson.position); }); @@ -161,7 +161,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyObject as LessonEntity; expect(lesson.hidden).toEqual(true); }); @@ -202,7 +202,7 @@ describe('lesson copy service', () => { user, }); - expect(status.original).toEqual(originalLesson); + expect(status.originalObject).toEqual(originalLesson); }); it('should set lesson status', async () => { @@ -246,7 +246,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyObject as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -274,7 +274,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyObject as LessonEntity; expect(lesson.contents.length).toEqual(0); }); @@ -339,7 +339,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyObject as LessonEntity; expect(lesson.contents.length).toEqual(2); expect(lesson.contents).toEqual(originalLesson.contents); @@ -356,7 +356,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyObject as LessonEntity; expect(lesson.contents[0].hidden).toEqual(true); expect(lesson.contents[1].hidden).toEqual(false); @@ -454,7 +454,7 @@ describe('lesson copy service', () => { user, }); - const lessonCopy = status.copy as LessonEntity; + const lessonCopy = status.copyObject as LessonEntity; const contentsStatus = status.elements?.find((el) => el.type === CopyElementType.LESSON_CONTENT_GROUP); expect(contentsStatus).toBeDefined(); expect((lessonCopy.contents[0].content as ComponentTextProperties).text).not.toContain(FILE_ID_TO_BE_REPLACED); @@ -500,7 +500,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -549,7 +549,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -601,7 +601,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; const geoGebraContent = lessonContents[0].content as ComponentGeogebraProperties; expect(geoGebraContent.materialId).toEqual(''); @@ -616,7 +616,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; expect(lessonContents[0].hidden).toEqual(true); }); @@ -849,7 +849,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; expect(configurationSpy).toHaveBeenCalledWith('FEATURE_ETHERPAD_ENABLED'); expect(etherpadService.createEtherpad).not.toHaveBeenCalled(); expect(lessonContents).toEqual([]); @@ -887,7 +887,7 @@ describe('lesson copy service', () => { } expect(contentStatus).toEqual(CopyStatusEnum.FAIL); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; expect(lessonContents.length).toEqual(0); }); @@ -901,7 +901,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; const copiedEtherpad = copiedLessonContents[0].content as ComponentEtherpadProperties; expect(copiedEtherpad.url).toEqual('http://pad.uri/abc'); }); @@ -975,7 +975,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = copyStatus.copy as LessonEntity; + const lesson = copyStatus.copyObject as LessonEntity; const embeddedTaskLink = lesson.contents.find((el) => el.component === ComponentType.INTERNAL); expect(embeddedTaskLink).toEqual(embeddedTaskContent); @@ -1070,7 +1070,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLesson = copyStatus.copy as LessonEntity; + const copiedLesson = copyStatus.copyObject as LessonEntity; const copiedMaterial = copiedLesson.materials[0]; expect(copiedLesson.materials.length).toEqual(1); expect(copiedMaterial.title).toEqual(originalMaterial.title); @@ -1110,7 +1110,7 @@ describe('lesson copy service', () => { expect(materialStatus).toBeDefined(); expect(materialStatus?.title).toEqual(mockedMaterialStatus.title); expect(materialStatus?.status).toEqual(mockedMaterialStatus.status); - const material = materialStatus?.copy as Material; + const material = materialStatus?.copyObject as Material; expect(material?.description).toEqual(mockedMaterialStatus?.copyEntity?.description); }); }); @@ -1214,14 +1214,14 @@ describe('lesson copy service', () => { const copyStatus: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - original: originalLesson, - copy: copiedLesson, + originalObject: originalLesson, + copyObject: copiedLesson, elements: [ { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - original: originalTask, - copy: copiedTask, + originalObject: originalTask, + copyObject: copiedTask, }, { type: CopyElementType.LESSON_CONTENT_GROUP, @@ -1253,7 +1253,7 @@ describe('lesson copy service', () => { const { copyStatus, originalTask, copiedTask } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyObject as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1266,7 +1266,7 @@ describe('lesson copy service', () => { const { copyStatus } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyObject as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1278,7 +1278,7 @@ describe('lesson copy service', () => { copyHelperService.buildCopyEntityDict.mockReturnValue(new Map()); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyObject as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } diff --git a/apps/server/src/modules/lesson/service/lesson-copy.service.ts b/apps/server/src/modules/lesson/service/lesson-copy.service.ts index 412bfce0a6f..1b96dcaf7cb 100644 --- a/apps/server/src/modules/lesson/service/lesson-copy.service.ts +++ b/apps/server/src/modules/lesson/service/lesson-copy.service.ts @@ -91,15 +91,15 @@ export class LessonCopyService { title: lessonCopy.name, type: CopyElementType.LESSON, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: lessonCopy, - original: originalLesson, + copyObject: lessonCopy, + originalObject: originalLesson, elements, }; return { status, elements }; } updateCopiedEmbeddedTasks(lessonStatus: CopyStatus, copyDict: CopyDictionary): CopyStatus { - const copiedLesson = lessonStatus.copy as LessonEntity; + const copiedLesson = lessonStatus.copyObject as LessonEntity; if (copiedLesson?.contents === undefined) { return lessonStatus; @@ -109,7 +109,7 @@ export class LessonCopyService { this.updateCopiedEmbeddedTaskId(value, copyDict) ); - lessonStatus.copy = copiedLesson; + lessonStatus.copyObject = copiedLesson; return lessonStatus; } @@ -334,7 +334,7 @@ export class LessonCopyService { title: element.title, type: CopyElementType.LERNSTORE_MATERIAL, status: CopyStatusEnum.SUCCESS, - copy: material, + copyObject: material, }; elementsStatus.push(status); }); diff --git a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts index 3d81d482854..5b26d68ef31 100644 --- a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts +++ b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts @@ -120,7 +120,7 @@ describe('ShareTokenController', () => { title: 'Spanisch', type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyObject: course, }; uc.importShareToken.mockResolvedValue(status); const newName = 'NewName'; @@ -142,7 +142,7 @@ describe('ShareTokenController', () => { const result = await controller.importShareToken(currentUser, { token }, { newName }); expect(result).toEqual({ - id: status.copy?.id, + id: status.copyObject?.id, title: status.title, type: status.type, status: status.status, 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 081b06343e6..db01ec95af5 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 @@ -850,7 +850,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyObject: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -919,7 +919,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lesson, + copyObject: lesson, }; lessonCopyService.copyLesson.mockResolvedValueOnce(status); @@ -1005,7 +1005,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: task, + copyObject: task, }; taskCopyService.copyTask.mockResolvedValueOnce(status); @@ -1145,7 +1145,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: columnBoard, + copyObject: columnBoard, }; columnBoardService.copyColumnBoard.mockResolvedValueOnce(status); const newName = 'NewName'; @@ -1196,7 +1196,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyObject: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -1233,7 +1233,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyObject: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); diff --git a/apps/server/src/modules/task/service/task-copy.service.spec.ts b/apps/server/src/modules/task/service/task-copy.service.spec.ts index ae29ea2f338..a416a26677a 100644 --- a/apps/server/src/modules/task/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/service/task-copy.service.spec.ts @@ -84,7 +84,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.creator).toEqual(user); }); @@ -98,7 +98,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.school).toEqual(school); }); @@ -112,7 +112,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.private).toEqual(true); expect(task.availableDate).not.toBeDefined(); }); @@ -128,7 +128,7 @@ describe('task copy service', () => { copyName, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.name).toEqual(copyName); }); @@ -141,7 +141,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.name).toEqual(originalTask.name); }); @@ -155,7 +155,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.course).toEqual(destinationCourse); }); @@ -169,7 +169,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.lesson).toEqual(destinationLesson); }); @@ -183,7 +183,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.description).toEqual(originalTask.description); }); @@ -198,7 +198,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.teamSubmissions).toEqual(originalTask.teamSubmissions); }); @@ -212,7 +212,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(status.title).toEqual(task.name); }); @@ -239,7 +239,7 @@ describe('task copy service', () => { user, }); - expect(status.original).toEqual(originalTask); + expect(status.originalObject).toEqual(originalTask); }); it('should set status of metadata', async () => { @@ -310,7 +310,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.school).toEqual(destinationSchool); }); }); @@ -336,7 +336,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.course).toEqual(destinationCourse); }); @@ -350,7 +350,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task.lesson).toEqual(destinationLesson); }); }); @@ -365,7 +365,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyObject as Task; expect(task).toBeDefined(); expect(task.course).toBeUndefined(); expect(task.lesson).toBeUndefined(); @@ -448,7 +448,7 @@ describe('task copy service', () => { user, }); - const { description } = status.copy as Task; + const { description } = status.copyObject as Task; expect(description).not.toContain(file1.id); expect(description).not.toContain(file2.id); expect(description).toContain(replacement1); diff --git a/apps/server/src/modules/task/service/task-copy.service.ts b/apps/server/src/modules/task/service/task-copy.service.ts index 1a0c6cdc6bb..3a6736c4b23 100644 --- a/apps/server/src/modules/task/service/task-copy.service.ts +++ b/apps/server/src/modules/task/service/task-copy.service.ts @@ -87,8 +87,8 @@ export class TaskCopyService { title: taskCopy.name, type: CopyElementType.TASK, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: taskCopy, - original: originalTask, + copyObject: taskCopy, + originalObject: originalTask, elements, }; return status; From 414a2a8397c4fa93057d0b1d833aee6bd5bc8c5d Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 10 Feb 2025 10:22:41 +0100 Subject: [PATCH 8/9] Revert "rename fields in CopyStatus" This reverts commit 50fd4865eee6e59f9e8c5e23662cf86d46a2d3d4. --- .../board-node-copy-specific.service.spec.ts | 54 +++++++++--------- .../internal/board-node-copy.service.ts | 36 ++++++------ .../column-board-copy.service.spec.ts | 8 +-- .../internal/column-board-copy.service.ts | 14 ++--- .../modules/copy-helper/mapper/copy.mapper.ts | 4 +- .../service/copy-helper.service.spec.ts | 4 +- .../service/copy-helper.service.ts | 4 +- .../modules/copy-helper/types/copy.types.ts | 4 +- .../service/board-copy.service.spec.ts | 34 +++++------ .../learnroom/service/board-copy.service.ts | 28 +++++----- .../service/course-copy.service.spec.ts | 36 ++++++------ .../service/lesson-copy.service.spec.ts | 56 +++++++++---------- .../lesson/service/lesson-copy.service.ts | 10 ++-- .../controller/share-token.controller.spec.ts | 4 +- .../modules/sharing/uc/share-token.uc.spec.ts | 12 ++-- .../task/service/task-copy.service.spec.ts | 32 +++++------ .../modules/task/service/task-copy.service.ts | 4 +- 17 files changed, 172 insertions(+), 172 deletions(-) diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index 4a54d146cd6..93722a0c938 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -130,7 +130,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.copyObject).toBeInstanceOf(ColumnBoard); + expect(result.copy).toBeInstanceOf(ColumnBoard); }); it('should copy the original node', async () => { @@ -138,7 +138,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.originalObject).toBeInstanceOf(ColumnBoard); + expect(result.original).toBeInstanceOf(ColumnBoard); }); it('should copy the children', async () => { @@ -146,7 +146,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(Column); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(Column); }); it('should use the service to derive status from children', async () => { @@ -171,7 +171,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.copyObject).toBeInstanceOf(Column); + expect(result.copy).toBeInstanceOf(Column); }); it('should copy the original node', async () => { @@ -179,7 +179,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.originalObject).toBeInstanceOf(Column); + expect(result.original).toBeInstanceOf(Column); }); it('should copy the children', async () => { @@ -187,7 +187,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(Card); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(Card); }); }); @@ -204,7 +204,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.copyObject).toBeInstanceOf(Card); + expect(result.copy).toBeInstanceOf(Card); }); it('should copy the original node', async () => { @@ -212,14 +212,14 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.originalObject).toBeInstanceOf(Card); + expect(result.original).toBeInstanceOf(Card); }); it('should copy the children', async () => { const { copyContext, card } = setup(); const result = await service.copyCard(card, copyContext); - expect((result.elements ?? [])[0].copyObject).toBeInstanceOf(RichTextElement); + expect((result.elements ?? [])[0].copy).toBeInstanceOf(RichTextElement); }); }); @@ -242,7 +242,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(result.copyObject).toBeInstanceOf(FileElement); + expect(result.copy).toBeInstanceOf(FileElement); }); it('should copy the files', async () => { @@ -250,7 +250,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copyObject?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copy?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); }); @@ -282,7 +282,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.copyObject).toBeInstanceOf(LinkElement); + expect(result.copy).toBeInstanceOf(LinkElement); }); it('should copy the original node', async () => { @@ -290,7 +290,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.originalObject).toBeInstanceOf(LinkElement); + expect(result.original).toBeInstanceOf(LinkElement); }); it('should copy the files', async () => { @@ -298,7 +298,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copyObject?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copy?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); @@ -309,7 +309,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copyObject as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); + expect((result.copy as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); }); }); @@ -320,7 +320,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElementWithoutId, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copyObject as LinkElement).imageUrl).toBe(''); + expect((result.copy as LinkElement).imageUrl).toBe(''); }); }); @@ -336,7 +336,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect((result.copyObject as LinkElement).imageUrl).toBe(''); + expect((result.copy as LinkElement).imageUrl).toBe(''); }); }); }); @@ -354,7 +354,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyRichTextElement(richTextElement, copyContext); - expect(result.copyObject).toBeInstanceOf(RichTextElement); + expect(result.copy).toBeInstanceOf(RichTextElement); }); }); @@ -371,7 +371,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDrawingElement(drawingElement, copyContext); - expect(result.copyObject).toBeInstanceOf(DrawingElement); + expect(result.copy).toBeInstanceOf(DrawingElement); }); }); @@ -390,7 +390,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copySubmissionContainerElement(submissionContainerElement, copyContext); - expect(result.copyObject).toBeInstanceOf(SubmissionContainerElement); + expect(result.copy).toBeInstanceOf(SubmissionContainerElement); }); it('should copy the children', async () => { @@ -442,7 +442,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyExternalToolElement(externalToolElement, copyContext); - expect(result.copyObject).toBeInstanceOf(ExternalToolElement); + expect(result.copy).toBeInstanceOf(ExternalToolElement); }); describe('when ctl tools copy is enabled', () => { @@ -482,11 +482,11 @@ describe(BoardNodeCopyService.name, () => { expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( contextTool, - result.copyObject?.id, + result.copy?.id, copyContext.targetSchoolId ); - expect(result.copyObject instanceof ExternalToolElement).toEqual(true); - expect((result.copyObject as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); + expect(result.copy instanceof ExternalToolElement).toEqual(true); + expect((result.copy as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.SUCCESS); }); @@ -516,7 +516,7 @@ describe(BoardNodeCopyService.name, () => { expect.any(String), copyContext.targetSchoolId ); - expect(result.copyObject instanceof DeletedElement).toEqual(true); + expect(result.copy instanceof DeletedElement).toEqual(true); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.FAIL); }); @@ -592,7 +592,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCollaborativeTextEditorElement(collaborativeTextEditor, copyContext); - expect(result.copyObject).toBeInstanceOf(CollaborativeTextEditorElement); + expect(result.copy).toBeInstanceOf(CollaborativeTextEditorElement); }); it('should return the correct type and status', async () => { @@ -707,7 +707,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDeletedElement(deletedElement, copyContext); - expect(result.copyObject).toBeInstanceOf(DeletedElement); + expect(result.copy).toBeInstanceOf(DeletedElement); }); }); diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index b38601fe290..d7d493a83fe 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -116,11 +116,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.COLUMNBOARD, status: childrenCopyStatus, elements: childrenResults, - originalObject: original, + original, }; return result; @@ -135,11 +135,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.COLUMN, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - originalObject: original, + original, }; return result; @@ -154,11 +154,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.CARD, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - originalObject: original, + original, }; return result; @@ -181,7 +181,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, @@ -198,10 +198,10 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.LINK_ELEMENT, status: CopyStatusEnum.SUCCESS, - originalObject: original, + original, }; if (original.imageUrl) { @@ -238,7 +238,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -254,7 +254,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -274,7 +274,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, @@ -302,7 +302,7 @@ export class BoardNodeCopyService { if (!this.configService.get('FEATURE_CTL_TOOLS_COPY_ENABLED') || !original.contextExternalToolId) { const copyStatus: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -313,7 +313,7 @@ export class BoardNodeCopyService { const linkedTool = await this.contextExternalToolService.findById(original.contextExternalToolId); if (!linkedTool) { const copyStatus: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, }; @@ -344,7 +344,7 @@ export class BoardNodeCopyService { } const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, }; @@ -363,7 +363,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -427,7 +427,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copyObject: copy, + copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -473,7 +473,7 @@ export class BoardNodeCopyService { id: new ObjectId().toHexString(), createdAt: new Date(), updatedAt: new Date(), - children: childrenResults.map((r) => r.copyObject).filter((c) => c !== undefined) as AnyBoardNode[], + children: childrenResults.map((r) => r.copy).filter((c) => c !== undefined) as AnyBoardNode[], }; } } diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts index 6a6e0b543f2..4d189f0c0e3 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts @@ -76,7 +76,7 @@ describe(ColumnBoardCopyService.name, () => { context: { id: course.id, type: BoardExternalReferenceType.Course }, }); const status: CopyStatus = { - copyObject: boardCopy, + copy: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; @@ -155,14 +155,14 @@ describe(ColumnBoardCopyService.name, () => { const copyStatus = await service.copyColumnBoard(copyParams); expect(copyStatus).toBeDefined(); - expect(copyStatus.copyObject).toBeDefined(); + expect(copyStatus.copy).toBeDefined(); }); it('should not affect the original board', async () => { const { copyParams, originalBoard } = setup(); const copyStatus = await service.copyColumnBoard(copyParams); - expect(copyStatus.originalObject).toBe(originalBoard); + expect(copyStatus.original).toBe(originalBoard); }); }); @@ -194,7 +194,7 @@ describe(ColumnBoardCopyService.name, () => { const boardCopy = { ...originalBoard, id: new ObjectId().toHexString(), type: 'not-a-column-board' }; const status: CopyStatus = { - copyObject: boardCopy, + copy: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts index 6205119bf07..268c58e5e2a 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts @@ -43,22 +43,22 @@ export class ColumnBoardCopyService { const copyStatus = await this.boardNodeCopyService.copy(originalBoard, copyContext); /* istanbul ignore next */ - if (!isColumnBoard(copyStatus.copyObject)) { + if (!isColumnBoard(copyStatus.copy)) { throw new InternalServerErrorException('expected copy of columnboard to be a columnboard'); } if (params.copyTitle) { - copyStatus.copyObject.title = params.copyTitle; + copyStatus.copy.title = params.copyTitle; } else { - copyStatus.copyObject.title = await this.columnBoardTitleService.deriveColumnBoardTitle( + copyStatus.copy.title = await this.columnBoardTitleService.deriveColumnBoardTitle( originalBoard.title, params.targetExternalReference ); } - copyStatus.copyObject.context = params.targetExternalReference; - copyStatus.copyObject.isVisible = false; - await this.boardNodeService.addRoot(copyStatus.copyObject); - copyStatus.originalObject = originalBoard; + copyStatus.copy.context = params.targetExternalReference; + copyStatus.copy.isVisible = false; + await this.boardNodeService.addRoot(copyStatus.copy); + copyStatus.original = originalBoard; return copyStatus; } 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 5db0f48ccbb..031b5531385 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts @@ -17,8 +17,8 @@ export class CopyMapper { status: copyStatus.status, }); - if (copyStatus.copyObject) { - const copyEntity = copyStatus.copyObject as LessonEntity | Task; + if (copyStatus.copy) { + const copyEntity = copyStatus.copy as LessonEntity | Task; dto.id = copyEntity.id; if (copyEntity instanceof LessonEntity || copyEntity instanceof Task) { dto.destinationId = copyEntity.course?.id; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts index 317d1abdc23..e1addef3900 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts @@ -286,8 +286,8 @@ describe('copy helper service', () => { { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - originalObject: originalEntity, - copyObject: copyEntity, + original: originalEntity, + copy: copyEntity, }, ], }; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts index a802ad032fb..11153d0f342 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts @@ -53,8 +53,8 @@ export class CopyHelperService { status.elements?.forEach((elementStatus: CopyStatus) => { this.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el)); }); - if (status.originalObject && status.copyObject) { - map.set(status.originalObject.id, status.copyObject); + if (status.original && status.copy) { + map.set(status.original.id, status.copy); } return map; } diff --git a/apps/server/src/modules/copy-helper/types/copy.types.ts b/apps/server/src/modules/copy-helper/types/copy.types.ts index dd5b434dead..e776c743cb3 100644 --- a/apps/server/src/modules/copy-helper/types/copy.types.ts +++ b/apps/server/src/modules/copy-helper/types/copy.types.ts @@ -7,8 +7,8 @@ export type CopyStatus = { type: CopyElementType; status: CopyStatusEnum; elements?: CopyStatus[]; - copyObject?: AuthorizableObject; - originalObject?: AuthorizableObject; + copy?: AuthorizableObject; + original?: AuthorizableObject; }; export enum CopyElementType { 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 3d6e7a7108e..3da7dcdff85 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 @@ -128,7 +128,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - expect(status.originalObject).toEqual(originalBoard); + expect(status.original).toEqual(originalBoard); }); it('should create a copy', async () => { @@ -140,7 +140,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.id).not.toEqual(originalBoard.id); }); @@ -153,7 +153,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.course.id).toEqual(destinationCourse.id); }); }); @@ -171,7 +171,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyObject: taskCopy, + copy: taskCopy, }); return { destinationCourse, originalBoard, user, originalTask }; @@ -204,7 +204,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -237,7 +237,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyObject: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -265,7 +265,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -299,8 +299,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyObject: copyOfColumnBoard, - originalObject: originalColumnBoard, + copy: copyOfColumnBoard, + original: originalColumnBoard, title: copyOfColumnBoard.title, }); @@ -334,7 +334,7 @@ describe('board copy service', () => { user, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -362,7 +362,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyObject: taskCopy, + copy: taskCopy, }); const originalLesson = lessonFactory.buildWithId(); @@ -372,7 +372,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyObject: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -386,8 +386,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyObject: columnBoardCopy, - originalObject: originalColumnBoard, + copy: columnBoardCopy, + original: originalColumnBoard, title: columnBoardCopy.title, }); @@ -508,7 +508,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyObject: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -524,7 +524,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copyObject as LegacyBoard; + const board = status.copy as LegacyBoard; expect(board.references).toHaveLength(0); }); @@ -543,7 +543,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyObject: lessonCopy, + copy: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); boardRepo.save.mockRejectedValue(new Error()); 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 2bb3c5b4115..07bd17f46cf 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.ts @@ -59,14 +59,14 @@ export class BoardCopyService { title: 'board', type: CopyElementType.BOARD, status: this.copyHelperService.deriveStatusFromElements(elements), - copyObject: boardCopy, - originalObject: params.originalBoard, + copy: boardCopy, + original: params.originalBoard, elements, }; status = this.updateCopiedEmbeddedTasksOfLessons(status); - if (status.copyObject) { - boardCopy = status.copyObject as LegacyBoard; + if (status.copy) { + boardCopy = status.copy as LegacyBoard; } status = await this.swapLinkedIdsInBoards(status); @@ -161,18 +161,18 @@ export class BoardCopyService { const references: LegacyBoardElement[] = []; for (const status of statuses) { // statuses.forEach((status) => { - if (status.copyObject instanceof Task) { - const taskElement = new TaskBoardElement({ target: status.copyObject }); + if (status.copy instanceof Task) { + const taskElement = new TaskBoardElement({ target: status.copy }); references.push(taskElement); } - if (status.copyObject instanceof LessonEntity) { - const lessonElement = new LessonBoardElement({ target: status.copyObject }); + if (status.copy instanceof LessonEntity) { + const lessonElement = new LessonBoardElement({ target: status.copy }); references.push(lessonElement); } - if (status.copyObject instanceof ColumnBoard) { + if (status.copy instanceof ColumnBoard) { // TODO comment this, legacy! // eslint-disable-next-line no-await-in-loop - const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copyObject.id); + const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copy.id); const columnBoardElement = new ColumnboardBoardElement({ target: columnBoardNode, }); @@ -200,15 +200,15 @@ export class BoardCopyService { const copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus); copyDict.forEach((value, key) => map.set(key, value.id)); - if (copyStatus.copyObject instanceof LegacyBoard && copyStatus.originalObject instanceof LegacyBoard) { - map.set(copyStatus.originalObject.course.id, copyStatus.copyObject.course.id); + if (copyStatus.copy instanceof LegacyBoard && copyStatus.original instanceof LegacyBoard) { + map.set(copyStatus.original.course.id, copyStatus.copy.course.id); } const elements = copyStatus.elements ?? []; const updatedElements = await Promise.all( elements.map(async (el) => { - if (el.type === CopyElementType.COLUMNBOARD && el.copyObject) { - el.copyObject = await this.columnBoardService.swapLinkedIds(el.copyObject?.id, map); + if (el.type === CopyElementType.COLUMNBOARD && el.copy) { + el.copy = await this.columnBoardService.swapLinkedIds(el.copy?.id, map); } return el; }) diff --git a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts index d1e44478338..62b72921cdf 100644 --- a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts @@ -244,7 +244,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.originalObject).toEqual(course); + expect(status.original).toEqual(course); }); it('should set status to success', async () => { @@ -258,7 +258,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.title).toEqual((status.copyObject as Course).name); + expect(status.title).toEqual((status.copy as Course).name); }); it('should set static statuses (metadata, usergroup, timegroup)', async () => { @@ -292,7 +292,7 @@ describe('course copy service', () => { it('should assign user as teacher', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers ?? []).toContain(user); }); @@ -305,7 +305,7 @@ describe('course copy service', () => { userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.school.name).toEqual(targetUser.school.name); }); @@ -313,7 +313,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -322,7 +322,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(undefined); expect(courseCopy.untilDate).toEqual(undefined); @@ -331,7 +331,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -339,7 +339,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -357,7 +357,7 @@ describe('course copy service', () => { it('should copy all ctl tools', async () => { const { course, user, tools } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( tools[0], @@ -560,7 +560,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers).toContain(targetUser); }); @@ -571,7 +571,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.school.name).toEqual(destinationSchool.name); }); @@ -579,7 +579,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -588,7 +588,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.startDate).toBeUndefined(); expect(courseCopy.untilDate).toBeUndefined(); @@ -597,7 +597,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -605,7 +605,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -640,7 +640,7 @@ describe('course copy service', () => { it('should not set any students in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.students.length).toEqual(0); }); @@ -648,7 +648,7 @@ describe('course copy service', () => { it('should not set any additional teachers', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.teachers.length).toEqual(1); }); @@ -656,7 +656,7 @@ describe('course copy service', () => { it('should not set any substitution Teachers in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copyObject as Course; + const courseCopy = status.copy as Course; expect(courseCopy.substitutionTeachers.length).toEqual(0); }); 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 e124e64996b..173f40affbe 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 @@ -110,7 +110,7 @@ describe('lesson copy service', () => { user, copyName, }); - const lesson = response.copyObject as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.name).toEqual(copyName); }); @@ -123,7 +123,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyObject as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.name).toEqual(originalLesson.name); }); @@ -135,7 +135,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyObject as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -148,7 +148,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyObject as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.position).toEqual(originalLesson.position); }); @@ -161,7 +161,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copyObject as LessonEntity; + const lesson = response.copy as LessonEntity; expect(lesson.hidden).toEqual(true); }); @@ -202,7 +202,7 @@ describe('lesson copy service', () => { user, }); - expect(status.originalObject).toEqual(originalLesson); + expect(status.original).toEqual(originalLesson); }); it('should set lesson status', async () => { @@ -246,7 +246,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = status.copyObject as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -274,7 +274,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyObject as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents.length).toEqual(0); }); @@ -339,7 +339,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyObject as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents.length).toEqual(2); expect(lesson.contents).toEqual(originalLesson.contents); @@ -356,7 +356,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copyObject as LessonEntity; + const lesson = status.copy as LessonEntity; expect(lesson.contents[0].hidden).toEqual(true); expect(lesson.contents[1].hidden).toEqual(false); @@ -454,7 +454,7 @@ describe('lesson copy service', () => { user, }); - const lessonCopy = status.copyObject as LessonEntity; + const lessonCopy = status.copy as LessonEntity; const contentsStatus = status.elements?.find((el) => el.type === CopyElementType.LESSON_CONTENT_GROUP); expect(contentsStatus).toBeDefined(); expect((lessonCopy.contents[0].content as ComponentTextProperties).text).not.toContain(FILE_ID_TO_BE_REPLACED); @@ -500,7 +500,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -549,7 +549,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -601,7 +601,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; const geoGebraContent = lessonContents[0].content as ComponentGeogebraProperties; expect(geoGebraContent.materialId).toEqual(''); @@ -616,7 +616,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(lessonContents[0].hidden).toEqual(true); }); @@ -849,7 +849,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(configurationSpy).toHaveBeenCalledWith('FEATURE_ETHERPAD_ENABLED'); expect(etherpadService.createEtherpad).not.toHaveBeenCalled(); expect(lessonContents).toEqual([]); @@ -887,7 +887,7 @@ describe('lesson copy service', () => { } expect(contentStatus).toEqual(CopyStatusEnum.FAIL); - const lessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; expect(lessonContents.length).toEqual(0); }); @@ -901,7 +901,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLessonContents = (status.copyObject as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; const copiedEtherpad = copiedLessonContents[0].content as ComponentEtherpadProperties; expect(copiedEtherpad.url).toEqual('http://pad.uri/abc'); }); @@ -975,7 +975,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = copyStatus.copyObject as LessonEntity; + const lesson = copyStatus.copy as LessonEntity; const embeddedTaskLink = lesson.contents.find((el) => el.component === ComponentType.INTERNAL); expect(embeddedTaskLink).toEqual(embeddedTaskContent); @@ -1070,7 +1070,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLesson = copyStatus.copyObject as LessonEntity; + const copiedLesson = copyStatus.copy as LessonEntity; const copiedMaterial = copiedLesson.materials[0]; expect(copiedLesson.materials.length).toEqual(1); expect(copiedMaterial.title).toEqual(originalMaterial.title); @@ -1110,7 +1110,7 @@ describe('lesson copy service', () => { expect(materialStatus).toBeDefined(); expect(materialStatus?.title).toEqual(mockedMaterialStatus.title); expect(materialStatus?.status).toEqual(mockedMaterialStatus.status); - const material = materialStatus?.copyObject as Material; + const material = materialStatus?.copy as Material; expect(material?.description).toEqual(mockedMaterialStatus?.copyEntity?.description); }); }); @@ -1214,14 +1214,14 @@ describe('lesson copy service', () => { const copyStatus: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - originalObject: originalLesson, - copyObject: copiedLesson, + original: originalLesson, + copy: copiedLesson, elements: [ { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - originalObject: originalTask, - copyObject: copiedTask, + original: originalTask, + copy: copiedTask, }, { type: CopyElementType.LESSON_CONTENT_GROUP, @@ -1253,7 +1253,7 @@ describe('lesson copy service', () => { const { copyStatus, originalTask, copiedTask } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyObject as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1266,7 +1266,7 @@ describe('lesson copy service', () => { const { copyStatus } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyObject as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1278,7 +1278,7 @@ describe('lesson copy service', () => { copyHelperService.buildCopyEntityDict.mockReturnValue(new Map()); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copyObject as LessonEntity; + const lesson = updatedCopyStatus?.copy as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } diff --git a/apps/server/src/modules/lesson/service/lesson-copy.service.ts b/apps/server/src/modules/lesson/service/lesson-copy.service.ts index 1b96dcaf7cb..412bfce0a6f 100644 --- a/apps/server/src/modules/lesson/service/lesson-copy.service.ts +++ b/apps/server/src/modules/lesson/service/lesson-copy.service.ts @@ -91,15 +91,15 @@ export class LessonCopyService { title: lessonCopy.name, type: CopyElementType.LESSON, status: this.copyHelperService.deriveStatusFromElements(elements), - copyObject: lessonCopy, - originalObject: originalLesson, + copy: lessonCopy, + original: originalLesson, elements, }; return { status, elements }; } updateCopiedEmbeddedTasks(lessonStatus: CopyStatus, copyDict: CopyDictionary): CopyStatus { - const copiedLesson = lessonStatus.copyObject as LessonEntity; + const copiedLesson = lessonStatus.copy as LessonEntity; if (copiedLesson?.contents === undefined) { return lessonStatus; @@ -109,7 +109,7 @@ export class LessonCopyService { this.updateCopiedEmbeddedTaskId(value, copyDict) ); - lessonStatus.copyObject = copiedLesson; + lessonStatus.copy = copiedLesson; return lessonStatus; } @@ -334,7 +334,7 @@ export class LessonCopyService { title: element.title, type: CopyElementType.LERNSTORE_MATERIAL, status: CopyStatusEnum.SUCCESS, - copyObject: material, + copy: material, }; elementsStatus.push(status); }); diff --git a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts index 5b26d68ef31..3d81d482854 100644 --- a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts +++ b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts @@ -120,7 +120,7 @@ describe('ShareTokenController', () => { title: 'Spanisch', type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyObject: course, + copy: course, }; uc.importShareToken.mockResolvedValue(status); const newName = 'NewName'; @@ -142,7 +142,7 @@ describe('ShareTokenController', () => { const result = await controller.importShareToken(currentUser, { token }, { newName }); expect(result).toEqual({ - id: status.copyObject?.id, + id: status.copy?.id, title: status.title, type: status.type, status: status.status, 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 db01ec95af5..081b06343e6 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 @@ -850,7 +850,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyObject: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -919,7 +919,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copyObject: lesson, + copy: lesson, }; lessonCopyService.copyLesson.mockResolvedValueOnce(status); @@ -1005,7 +1005,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copyObject: task, + copy: task, }; taskCopyService.copyTask.mockResolvedValueOnce(status); @@ -1145,7 +1145,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copyObject: columnBoard, + copy: columnBoard, }; columnBoardService.copyColumnBoard.mockResolvedValueOnce(status); const newName = 'NewName'; @@ -1196,7 +1196,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyObject: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -1233,7 +1233,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copyObject: course, + copy: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); diff --git a/apps/server/src/modules/task/service/task-copy.service.spec.ts b/apps/server/src/modules/task/service/task-copy.service.spec.ts index a416a26677a..ae29ea2f338 100644 --- a/apps/server/src/modules/task/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/service/task-copy.service.spec.ts @@ -84,7 +84,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.creator).toEqual(user); }); @@ -98,7 +98,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.school).toEqual(school); }); @@ -112,7 +112,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.private).toEqual(true); expect(task.availableDate).not.toBeDefined(); }); @@ -128,7 +128,7 @@ describe('task copy service', () => { copyName, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.name).toEqual(copyName); }); @@ -141,7 +141,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.name).toEqual(originalTask.name); }); @@ -155,7 +155,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.course).toEqual(destinationCourse); }); @@ -169,7 +169,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.lesson).toEqual(destinationLesson); }); @@ -183,7 +183,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.description).toEqual(originalTask.description); }); @@ -198,7 +198,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.teamSubmissions).toEqual(originalTask.teamSubmissions); }); @@ -212,7 +212,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(status.title).toEqual(task.name); }); @@ -239,7 +239,7 @@ describe('task copy service', () => { user, }); - expect(status.originalObject).toEqual(originalTask); + expect(status.original).toEqual(originalTask); }); it('should set status of metadata', async () => { @@ -310,7 +310,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.school).toEqual(destinationSchool); }); }); @@ -336,7 +336,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.course).toEqual(destinationCourse); }); @@ -350,7 +350,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task.lesson).toEqual(destinationLesson); }); }); @@ -365,7 +365,7 @@ describe('task copy service', () => { user, }); - const task = status.copyObject as Task; + const task = status.copy as Task; expect(task).toBeDefined(); expect(task.course).toBeUndefined(); expect(task.lesson).toBeUndefined(); @@ -448,7 +448,7 @@ describe('task copy service', () => { user, }); - const { description } = status.copyObject as Task; + const { description } = status.copy as Task; expect(description).not.toContain(file1.id); expect(description).not.toContain(file2.id); expect(description).toContain(replacement1); diff --git a/apps/server/src/modules/task/service/task-copy.service.ts b/apps/server/src/modules/task/service/task-copy.service.ts index 3a6736c4b23..1a0c6cdc6bb 100644 --- a/apps/server/src/modules/task/service/task-copy.service.ts +++ b/apps/server/src/modules/task/service/task-copy.service.ts @@ -87,8 +87,8 @@ export class TaskCopyService { title: taskCopy.name, type: CopyElementType.TASK, status: this.copyHelperService.deriveStatusFromElements(elements), - copyObject: taskCopy, - originalObject: originalTask, + copy: taskCopy, + original: originalTask, elements, }; return status; From b981769a607536668dd1e129a1990e4a8a2d0ae7 Mon Sep 17 00:00:00 2001 From: Steliyan Dinkov Date: Mon, 10 Feb 2025 10:23:50 +0100 Subject: [PATCH 9/9] Revert "refactor CopyStatus type - rename fields; update filename column-board.do" This reverts commit a895211889a7c0c2248d1eebcfae51b8da11fb49. --- .../board/domain/board-node.factory.ts | 2 +- .../{column-board.do.ts => colum-board.do.ts} | 0 apps/server/src/modules/board/domain/index.ts | 2 +- .../src/modules/board/domain/type-mapping.ts | 2 +- .../board/domain/types/any-board-node.ts | 2 +- .../board-node-copy-specific.service.spec.ts | 54 +++++++++--------- .../internal/board-node-copy.service.ts | 36 ++++++------ .../column-board-copy.service.spec.ts | 8 +-- .../internal/column-board-copy.service.ts | 14 ++--- .../modules/copy-helper/mapper/copy.mapper.ts | 6 +- .../service/copy-helper.service.spec.ts | 4 +- .../service/copy-helper.service.ts | 4 +- .../modules/copy-helper/types/copy.types.ts | 4 +- .../service/board-copy.service.spec.ts | 34 +++++------ .../learnroom/service/board-copy.service.ts | 28 +++++----- .../service/course-copy.service.spec.ts | 36 ++++++------ .../service/lesson-copy.service.spec.ts | 56 +++++++++---------- .../lesson/service/lesson-copy.service.ts | 10 ++-- .../controller/share-token.controller.spec.ts | 4 +- .../modules/sharing/uc/share-token.uc.spec.ts | 12 ++-- .../task/service/task-copy.service.spec.ts | 32 +++++------ .../modules/task/service/task-copy.service.ts | 4 +- 22 files changed, 177 insertions(+), 177 deletions(-) rename apps/server/src/modules/board/domain/{column-board.do.ts => colum-board.do.ts} (100%) diff --git a/apps/server/src/modules/board/domain/board-node.factory.ts b/apps/server/src/modules/board/domain/board-node.factory.ts index 85d4ec5a458..fe219b3c8e6 100644 --- a/apps/server/src/modules/board/domain/board-node.factory.ts +++ b/apps/server/src/modules/board/domain/board-node.factory.ts @@ -3,7 +3,7 @@ import { Injectable, NotImplementedException, UnprocessableEntityException } fro import { EntityId, InputFormat } from '@shared/domain/types'; import { Card } from './card.do'; import { CollaborativeTextEditorElement } from './collaborative-text-editor.do'; -import { ColumnBoard } from './column-board.do'; +import { ColumnBoard } from './colum-board.do'; import { Column } from './column.do'; import { DrawingElement } from './drawing-element.do'; import { ExternalToolElement } from './external-tool-element.do'; diff --git a/apps/server/src/modules/board/domain/column-board.do.ts b/apps/server/src/modules/board/domain/colum-board.do.ts similarity index 100% rename from apps/server/src/modules/board/domain/column-board.do.ts rename to apps/server/src/modules/board/domain/colum-board.do.ts diff --git a/apps/server/src/modules/board/domain/index.ts b/apps/server/src/modules/board/domain/index.ts index de490800d09..e2c2cd5895c 100644 --- a/apps/server/src/modules/board/domain/index.ts +++ b/apps/server/src/modules/board/domain/index.ts @@ -4,7 +4,7 @@ export * from './board-node.factory'; export * from './collaborative-text-editor.do'; export * from './card.do'; export * from './column.do'; -export * from './column-board.do'; +export * from './colum-board.do'; export * from './drawing-element.do'; export * from './external-tool-element.do'; export * from './file-element.do'; diff --git a/apps/server/src/modules/board/domain/type-mapping.ts b/apps/server/src/modules/board/domain/type-mapping.ts index fb5ccd9495b..c22feec4d40 100644 --- a/apps/server/src/modules/board/domain/type-mapping.ts +++ b/apps/server/src/modules/board/domain/type-mapping.ts @@ -1,7 +1,7 @@ import { NotImplementedException } from '@nestjs/common'; import { Card } from './card.do'; import { CollaborativeTextEditorElement } from './collaborative-text-editor.do'; -import { ColumnBoard } from './column-board.do'; +import { ColumnBoard } from './colum-board.do'; import { Column } from './column.do'; import { DeletedElement } from './deleted-element.do'; import { DrawingElement } from './drawing-element.do'; diff --git a/apps/server/src/modules/board/domain/types/any-board-node.ts b/apps/server/src/modules/board/domain/types/any-board-node.ts index 3a6957e24d6..c0abefb6b3b 100644 --- a/apps/server/src/modules/board/domain/types/any-board-node.ts +++ b/apps/server/src/modules/board/domain/types/any-board-node.ts @@ -1,6 +1,6 @@ import type { Card } from '../card.do'; import type { CollaborativeTextEditorElement } from '../collaborative-text-editor.do'; -import type { ColumnBoard } from '../column-board.do'; +import type { ColumnBoard } from '../colum-board.do'; import type { Column } from '../column.do'; import type { AnyMediaBoardNode } from '../media-board'; import type { SubmissionItem } from '../submission-item.do'; diff --git a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts index 93722a0c938..7de799106a6 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy-specific.service.spec.ts @@ -130,7 +130,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.copy).toBeInstanceOf(ColumnBoard); + expect(result.copyEntity).toBeInstanceOf(ColumnBoard); }); it('should copy the original node', async () => { @@ -138,7 +138,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect(result.original).toBeInstanceOf(ColumnBoard); + expect(result.originalEntity).toBeInstanceOf(ColumnBoard); }); it('should copy the children', async () => { @@ -146,7 +146,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumnBoard(columnBoard, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(Column); + expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(Column); }); it('should use the service to derive status from children', async () => { @@ -171,7 +171,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.copy).toBeInstanceOf(Column); + expect(result.copyEntity).toBeInstanceOf(Column); }); it('should copy the original node', async () => { @@ -179,7 +179,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect(result.original).toBeInstanceOf(Column); + expect(result.originalEntity).toBeInstanceOf(Column); }); it('should copy the children', async () => { @@ -187,7 +187,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyColumn(column, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(Card); + expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(Card); }); }); @@ -204,7 +204,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.copy).toBeInstanceOf(Card); + expect(result.copyEntity).toBeInstanceOf(Card); }); it('should copy the original node', async () => { @@ -212,14 +212,14 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCard(card, copyContext); - expect(result.original).toBeInstanceOf(Card); + expect(result.originalEntity).toBeInstanceOf(Card); }); it('should copy the children', async () => { const { copyContext, card } = setup(); const result = await service.copyCard(card, copyContext); - expect((result.elements ?? [])[0].copy).toBeInstanceOf(RichTextElement); + expect((result.elements ?? [])[0].copyEntity).toBeInstanceOf(RichTextElement); }); }); @@ -242,7 +242,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(result.copy).toBeInstanceOf(FileElement); + expect(result.copyEntity).toBeInstanceOf(FileElement); }); it('should copy the files', async () => { @@ -250,7 +250,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyFileElement(fileElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copy?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(fileElement.id, result.copyEntity?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); }); @@ -282,7 +282,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.copy).toBeInstanceOf(LinkElement); + expect(result.copyEntity).toBeInstanceOf(LinkElement); }); it('should copy the original node', async () => { @@ -290,7 +290,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(result.original).toBeInstanceOf(LinkElement); + expect(result.originalEntity).toBeInstanceOf(LinkElement); }); it('should copy the files', async () => { @@ -298,7 +298,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copy?.id); + expect(copyContext.copyFilesOfParent).toHaveBeenCalledWith(linkElement.id, result.copyEntity?.id); expect(result.elements ?? []).toEqual([expect.objectContaining({ title: fileCopyStatus.name })]); }); @@ -309,7 +309,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copy as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); + expect((result.copyEntity as LinkElement).imageUrl).toBe(`https://example.com/${fileCopyStatus.id}/bird.jpg`); }); }); @@ -320,7 +320,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElementWithoutId, copyContext); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - expect((result.copy as LinkElement).imageUrl).toBe(''); + expect((result.copyEntity as LinkElement).imageUrl).toBe(''); }); }); @@ -336,7 +336,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyLinkElement(linkElement, copyContext); - expect((result.copy as LinkElement).imageUrl).toBe(''); + expect((result.copyEntity as LinkElement).imageUrl).toBe(''); }); }); }); @@ -354,7 +354,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyRichTextElement(richTextElement, copyContext); - expect(result.copy).toBeInstanceOf(RichTextElement); + expect(result.copyEntity).toBeInstanceOf(RichTextElement); }); }); @@ -371,7 +371,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDrawingElement(drawingElement, copyContext); - expect(result.copy).toBeInstanceOf(DrawingElement); + expect(result.copyEntity).toBeInstanceOf(DrawingElement); }); }); @@ -390,7 +390,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copySubmissionContainerElement(submissionContainerElement, copyContext); - expect(result.copy).toBeInstanceOf(SubmissionContainerElement); + expect(result.copyEntity).toBeInstanceOf(SubmissionContainerElement); }); it('should copy the children', async () => { @@ -442,7 +442,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyExternalToolElement(externalToolElement, copyContext); - expect(result.copy).toBeInstanceOf(ExternalToolElement); + expect(result.copyEntity).toBeInstanceOf(ExternalToolElement); }); describe('when ctl tools copy is enabled', () => { @@ -482,11 +482,11 @@ describe(BoardNodeCopyService.name, () => { expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( contextTool, - result.copy?.id, + result.copyEntity?.id, copyContext.targetSchoolId ); - expect(result.copy instanceof ExternalToolElement).toEqual(true); - expect((result.copy as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); + expect(result.copyEntity instanceof ExternalToolElement).toEqual(true); + expect((result.copyEntity as ExternalToolElement).contextExternalToolId).toEqual(copiedTool.id); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.SUCCESS); }); @@ -516,7 +516,7 @@ describe(BoardNodeCopyService.name, () => { expect.any(String), copyContext.targetSchoolId ); - expect(result.copy instanceof DeletedElement).toEqual(true); + expect(result.copyEntity instanceof DeletedElement).toEqual(true); expect(result.type).toEqual(CopyElementType.EXTERNAL_TOOL_ELEMENT); expect(result.status).toEqual(CopyStatusEnum.FAIL); }); @@ -592,7 +592,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyCollaborativeTextEditorElement(collaborativeTextEditor, copyContext); - expect(result.copy).toBeInstanceOf(CollaborativeTextEditorElement); + expect(result.copyEntity).toBeInstanceOf(CollaborativeTextEditorElement); }); it('should return the correct type and status', async () => { @@ -707,7 +707,7 @@ describe(BoardNodeCopyService.name, () => { const result = await service.copyDeletedElement(deletedElement, copyContext); - expect(result.copy).toBeInstanceOf(DeletedElement); + expect(result.copyEntity).toBeInstanceOf(DeletedElement); }); }); diff --git a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts index d7d493a83fe..f8aca132a07 100644 --- a/apps/server/src/modules/board/service/internal/board-node-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/board-node-copy.service.ts @@ -116,11 +116,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.COLUMNBOARD, status: childrenCopyStatus, elements: childrenResults, - original, + originalEntity: original, }; return result; @@ -135,11 +135,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.COLUMN, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - original, + originalEntity: original, }; return result; @@ -154,11 +154,11 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.CARD, status: CopyStatusEnum.SUCCESS, elements: childrenResults, - original, + originalEntity: original, }; return result; @@ -181,7 +181,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.FILE_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: fileCopyStatus, @@ -198,10 +198,10 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.LINK_ELEMENT, status: CopyStatusEnum.SUCCESS, - original, + originalEntity: original, }; if (original.imageUrl) { @@ -238,7 +238,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.RICHTEXT_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -254,7 +254,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.DRAWING_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -274,7 +274,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.SUBMISSION_CONTAINER_ELEMENT, status: CopyStatusEnum.SUCCESS, elements: childrenResults, @@ -302,7 +302,7 @@ export class BoardNodeCopyService { if (!this.configService.get('FEATURE_CTL_TOOLS_COPY_ENABLED') || !original.contextExternalToolId) { const copyStatus: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -313,7 +313,7 @@ export class BoardNodeCopyService { const linkedTool = await this.contextExternalToolService.findById(original.contextExternalToolId); if (!linkedTool) { const copyStatus: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: CopyStatusEnum.FAIL, }; @@ -344,7 +344,7 @@ export class BoardNodeCopyService { } const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.EXTERNAL_TOOL_ELEMENT, status: copyStatus, }; @@ -363,7 +363,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.COLLABORATIVE_TEXT_EDITOR_ELEMENT, status: CopyStatusEnum.PARTIAL, }; @@ -427,7 +427,7 @@ export class BoardNodeCopyService { }); const result: CopyStatus = { - copy, + copyEntity: copy, type: CopyElementType.DELETED_ELEMENT, status: CopyStatusEnum.SUCCESS, }; @@ -473,7 +473,7 @@ export class BoardNodeCopyService { id: new ObjectId().toHexString(), createdAt: new Date(), updatedAt: new Date(), - children: childrenResults.map((r) => r.copy).filter((c) => c !== undefined) as AnyBoardNode[], + children: childrenResults.map((r) => r.copyEntity).filter((c) => c !== undefined) as AnyBoardNode[], }; } } diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts index 4d189f0c0e3..d199c41db18 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.spec.ts @@ -76,7 +76,7 @@ describe(ColumnBoardCopyService.name, () => { context: { id: course.id, type: BoardExternalReferenceType.Course }, }); const status: CopyStatus = { - copy: boardCopy, + copyEntity: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; @@ -155,14 +155,14 @@ describe(ColumnBoardCopyService.name, () => { const copyStatus = await service.copyColumnBoard(copyParams); expect(copyStatus).toBeDefined(); - expect(copyStatus.copy).toBeDefined(); + expect(copyStatus.copyEntity).toBeDefined(); }); it('should not affect the original board', async () => { const { copyParams, originalBoard } = setup(); const copyStatus = await service.copyColumnBoard(copyParams); - expect(copyStatus.original).toBe(originalBoard); + expect(copyStatus.originalEntity).toBe(originalBoard); }); }); @@ -194,7 +194,7 @@ describe(ColumnBoardCopyService.name, () => { const boardCopy = { ...originalBoard, id: new ObjectId().toHexString(), type: 'not-a-column-board' }; const status: CopyStatus = { - copy: boardCopy, + copyEntity: boardCopy, type: CopyElementType.BOARD, status: CopyStatusEnum.SUCCESS, }; diff --git a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts index 268c58e5e2a..6c5b4a31b01 100644 --- a/apps/server/src/modules/board/service/internal/column-board-copy.service.ts +++ b/apps/server/src/modules/board/service/internal/column-board-copy.service.ts @@ -43,22 +43,22 @@ export class ColumnBoardCopyService { const copyStatus = await this.boardNodeCopyService.copy(originalBoard, copyContext); /* istanbul ignore next */ - if (!isColumnBoard(copyStatus.copy)) { + if (!isColumnBoard(copyStatus.copyEntity)) { throw new InternalServerErrorException('expected copy of columnboard to be a columnboard'); } if (params.copyTitle) { - copyStatus.copy.title = params.copyTitle; + copyStatus.copyEntity.title = params.copyTitle; } else { - copyStatus.copy.title = await this.columnBoardTitleService.deriveColumnBoardTitle( + copyStatus.copyEntity.title = await this.columnBoardTitleService.deriveColumnBoardTitle( originalBoard.title, params.targetExternalReference ); } - copyStatus.copy.context = params.targetExternalReference; - copyStatus.copy.isVisible = false; - await this.boardNodeService.addRoot(copyStatus.copy); - copyStatus.original = originalBoard; + copyStatus.copyEntity.context = params.targetExternalReference; + copyStatus.copyEntity.isVisible = false; + await this.boardNodeService.addRoot(copyStatus.copyEntity); + copyStatus.originalEntity = originalBoard; return copyStatus; } 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 031b5531385..aa5e8d44af0 100644 --- a/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts +++ b/apps/server/src/modules/copy-helper/mapper/copy.mapper.ts @@ -5,7 +5,7 @@ import { TaskCopyParentParams } from '@modules/task/types/task-copy-parent.param import { LessonEntity } from '@shared/domain/entity/lesson.entity'; import { Task } from '@shared/domain/entity/task.entity'; import { EntityId } from '@shared/domain/types'; -import { ColumnBoard } from '@modules/board/domain/column-board.do'; +import { ColumnBoard } from '@modules/board/domain/colum-board.do'; import { CopyApiResponse } from '../dto/copy.response'; import { CopyStatus, CopyStatusEnum } from '../types/copy.types'; @@ -17,8 +17,8 @@ export class CopyMapper { status: copyStatus.status, }); - if (copyStatus.copy) { - const copyEntity = copyStatus.copy as LessonEntity | Task; + if (copyStatus.copyEntity) { + const copyEntity = copyStatus.copyEntity as LessonEntity | Task; dto.id = copyEntity.id; if (copyEntity instanceof LessonEntity || copyEntity instanceof Task) { dto.destinationId = copyEntity.course?.id; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts index e1addef3900..0115d9f65b7 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.spec.ts @@ -286,8 +286,8 @@ describe('copy helper service', () => { { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - original: originalEntity, - copy: copyEntity, + originalEntity, + copyEntity, }, ], }; diff --git a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts index 11153d0f342..d56608596f2 100644 --- a/apps/server/src/modules/copy-helper/service/copy-helper.service.ts +++ b/apps/server/src/modules/copy-helper/service/copy-helper.service.ts @@ -53,8 +53,8 @@ export class CopyHelperService { status.elements?.forEach((elementStatus: CopyStatus) => { this.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el)); }); - if (status.original && status.copy) { - map.set(status.original.id, status.copy); + if (status.originalEntity && status.copyEntity) { + map.set(status.originalEntity.id, status.copyEntity); } return map; } diff --git a/apps/server/src/modules/copy-helper/types/copy.types.ts b/apps/server/src/modules/copy-helper/types/copy.types.ts index e776c743cb3..2a94573ad4b 100644 --- a/apps/server/src/modules/copy-helper/types/copy.types.ts +++ b/apps/server/src/modules/copy-helper/types/copy.types.ts @@ -7,8 +7,8 @@ export type CopyStatus = { type: CopyElementType; status: CopyStatusEnum; elements?: CopyStatus[]; - copy?: AuthorizableObject; - original?: AuthorizableObject; + copyEntity?: AuthorizableObject; + originalEntity?: AuthorizableObject; }; export enum CopyElementType { 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 3da7dcdff85..9c1207415c3 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 @@ -128,7 +128,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - expect(status.original).toEqual(originalBoard); + expect(status.originalEntity).toEqual(originalBoard); }); it('should create a copy', async () => { @@ -140,7 +140,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.id).not.toEqual(originalBoard.id); }); @@ -153,7 +153,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.course.id).toEqual(destinationCourse.id); }); }); @@ -171,7 +171,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: taskCopy, + copyEntity: taskCopy, }); return { destinationCourse, originalBoard, user, originalTask }; @@ -204,7 +204,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -237,7 +237,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyEntity: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -265,7 +265,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -299,8 +299,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: copyOfColumnBoard, - original: originalColumnBoard, + copyEntity: copyOfColumnBoard, + originalEntity: originalColumnBoard, title: copyOfColumnBoard.title, }); @@ -334,7 +334,7 @@ describe('board copy service', () => { user, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.getElements().length).toEqual(1); }); @@ -362,7 +362,7 @@ describe('board copy service', () => { title: taskCopy.name, type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: taskCopy, + copyEntity: taskCopy, }); const originalLesson = lessonFactory.buildWithId(); @@ -372,7 +372,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyEntity: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -386,8 +386,8 @@ describe('board copy service', () => { columnBoardService.copyColumnBoard.mockResolvedValue({ type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: columnBoardCopy, - original: originalColumnBoard, + copyEntity: columnBoardCopy, + originalEntity: originalColumnBoard, title: columnBoardCopy.title, }); @@ -508,7 +508,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyEntity: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); @@ -524,7 +524,7 @@ describe('board copy service', () => { originalCourse: destinationCourse, destinationCourse, }); - const board = status.copy as LegacyBoard; + const board = status.copyEntity as LegacyBoard; expect(board.references).toHaveLength(0); }); @@ -543,7 +543,7 @@ describe('board copy service', () => { title: originalLesson.name, type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lessonCopy, + copyEntity: lessonCopy, }); lessonCopyService.updateCopiedEmbeddedTasks = jest.fn().mockImplementation((status: CopyStatus) => status); boardRepo.save.mockRejectedValue(new Error()); 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 07bd17f46cf..1808a2eca1b 100644 --- a/apps/server/src/modules/learnroom/service/board-copy.service.ts +++ b/apps/server/src/modules/learnroom/service/board-copy.service.ts @@ -59,14 +59,14 @@ export class BoardCopyService { title: 'board', type: CopyElementType.BOARD, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: boardCopy, - original: params.originalBoard, + copyEntity: boardCopy, + originalEntity: params.originalBoard, elements, }; status = this.updateCopiedEmbeddedTasksOfLessons(status); - if (status.copy) { - boardCopy = status.copy as LegacyBoard; + if (status.copyEntity) { + boardCopy = status.copyEntity as LegacyBoard; } status = await this.swapLinkedIdsInBoards(status); @@ -161,18 +161,18 @@ export class BoardCopyService { const references: LegacyBoardElement[] = []; for (const status of statuses) { // statuses.forEach((status) => { - if (status.copy instanceof Task) { - const taskElement = new TaskBoardElement({ target: status.copy }); + if (status.copyEntity instanceof Task) { + const taskElement = new TaskBoardElement({ target: status.copyEntity }); references.push(taskElement); } - if (status.copy instanceof LessonEntity) { - const lessonElement = new LessonBoardElement({ target: status.copy }); + if (status.copyEntity instanceof LessonEntity) { + const lessonElement = new LessonBoardElement({ target: status.copyEntity }); references.push(lessonElement); } - if (status.copy instanceof ColumnBoard) { + if (status.copyEntity instanceof ColumnBoard) { // TODO comment this, legacy! // eslint-disable-next-line no-await-in-loop - const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copy.id); + const columnBoardNode = await this.columnBoardNodeRepo.findById(status.copyEntity.id); const columnBoardElement = new ColumnboardBoardElement({ target: columnBoardNode, }); @@ -200,15 +200,15 @@ export class BoardCopyService { const copyDict = this.copyHelperService.buildCopyEntityDict(copyStatus); copyDict.forEach((value, key) => map.set(key, value.id)); - if (copyStatus.copy instanceof LegacyBoard && copyStatus.original instanceof LegacyBoard) { - map.set(copyStatus.original.course.id, copyStatus.copy.course.id); + if (copyStatus.copyEntity instanceof LegacyBoard && copyStatus.originalEntity instanceof LegacyBoard) { + map.set(copyStatus.originalEntity.course.id, copyStatus.copyEntity.course.id); } const elements = copyStatus.elements ?? []; const updatedElements = await Promise.all( elements.map(async (el) => { - if (el.type === CopyElementType.COLUMNBOARD && el.copy) { - el.copy = await this.columnBoardService.swapLinkedIds(el.copy?.id, map); + if (el.type === CopyElementType.COLUMNBOARD && el.copyEntity) { + el.copyEntity = await this.columnBoardService.swapLinkedIds(el.copyEntity?.id, map); } return el; }) diff --git a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts index 62b72921cdf..bbf78864b6e 100644 --- a/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts +++ b/apps/server/src/modules/learnroom/service/course-copy.service.spec.ts @@ -244,7 +244,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.original).toEqual(course); + expect(status.originalEntity).toEqual(course); }); it('should set status to success', async () => { @@ -258,7 +258,7 @@ describe('course copy service', () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - expect(status.title).toEqual((status.copy as Course).name); + expect(status.title).toEqual((status.copyEntity as Course).name); }); it('should set static statuses (metadata, usergroup, timegroup)', async () => { @@ -292,7 +292,7 @@ describe('course copy service', () => { it('should assign user as teacher', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.teachers ?? []).toContain(user); }); @@ -305,7 +305,7 @@ describe('course copy service', () => { userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.school.name).toEqual(targetUser.school.name); }); @@ -313,7 +313,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -322,7 +322,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.startDate).toEqual(undefined); expect(courseCopy.untilDate).toEqual(undefined); @@ -331,7 +331,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -339,7 +339,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -357,7 +357,7 @@ describe('course copy service', () => { it('should copy all ctl tools', async () => { const { course, user, tools } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(contextExternalToolService.copyContextExternalTool).toHaveBeenCalledWith( tools[0], @@ -560,7 +560,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.teachers).toContain(targetUser); }); @@ -571,7 +571,7 @@ describe('course copy service', () => { const targetUser = userFactory.build({ school: destinationSchool }); userRepo.findById.mockResolvedValue(targetUser); const status = await service.copyCourse({ userId: targetUser.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.school.name).toEqual(destinationSchool.name); }); @@ -579,7 +579,7 @@ describe('course copy service', () => { it('should set start date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.startDate).toEqual(user.school.currentYear?.startDate); }); @@ -588,7 +588,7 @@ describe('course copy service', () => { const { course, user } = setup(); user.school.currentYear = undefined; const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.startDate).toBeUndefined(); expect(courseCopy.untilDate).toBeUndefined(); @@ -597,7 +597,7 @@ describe('course copy service', () => { it('should set end date of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.untilDate).toEqual(user.school.currentYear?.endDate); }); @@ -605,7 +605,7 @@ describe('course copy service', () => { it('should set color of course', async () => { const { course, user } = setup(); const status = await service.copyCourse({ userId: user.id, courseId: course.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.color).toEqual(course.color); }); @@ -640,7 +640,7 @@ describe('course copy service', () => { it('should not set any students in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.students.length).toEqual(0); }); @@ -648,7 +648,7 @@ describe('course copy service', () => { it('should not set any additional teachers', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.teachers.length).toEqual(1); }); @@ -656,7 +656,7 @@ describe('course copy service', () => { it('should not set any substitution Teachers in the copy', async () => { const { originalCourse, user } = setupWithAdditionalUsers(); const status = await service.copyCourse({ userId: user.id, courseId: originalCourse.id }); - const courseCopy = status.copy as Course; + const courseCopy = status.copyEntity as Course; expect(courseCopy.substitutionTeachers.length).toEqual(0); }); 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 173f40affbe..32e0f9afd04 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 @@ -110,7 +110,7 @@ describe('lesson copy service', () => { user, copyName, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyEntity as LessonEntity; expect(lesson.name).toEqual(copyName); }); @@ -123,7 +123,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyEntity as LessonEntity; expect(lesson.name).toEqual(originalLesson.name); }); @@ -135,7 +135,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyEntity as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -148,7 +148,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyEntity as LessonEntity; expect(lesson.position).toEqual(originalLesson.position); }); @@ -161,7 +161,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = response.copy as LessonEntity; + const lesson = response.copyEntity as LessonEntity; expect(lesson.hidden).toEqual(true); }); @@ -202,7 +202,7 @@ describe('lesson copy service', () => { user, }); - expect(status.original).toEqual(originalLesson); + expect(status.originalEntity).toEqual(originalLesson); }); it('should set lesson status', async () => { @@ -246,7 +246,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyEntity as LessonEntity; expect(lesson.course).toEqual(destinationCourse); }); @@ -274,7 +274,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyEntity as LessonEntity; expect(lesson.contents.length).toEqual(0); }); @@ -339,7 +339,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyEntity as LessonEntity; expect(lesson.contents.length).toEqual(2); expect(lesson.contents).toEqual(originalLesson.contents); @@ -356,7 +356,7 @@ describe('lesson copy service', () => { user, }); - const lesson = status.copy as LessonEntity; + const lesson = status.copyEntity as LessonEntity; expect(lesson.contents[0].hidden).toEqual(true); expect(lesson.contents[1].hidden).toEqual(false); @@ -454,7 +454,7 @@ describe('lesson copy service', () => { user, }); - const lessonCopy = status.copy as LessonEntity; + const lessonCopy = status.copyEntity as LessonEntity; const contentsStatus = status.elements?.find((el) => el.type === CopyElementType.LESSON_CONTENT_GROUP); expect(contentsStatus).toBeDefined(); expect((lessonCopy.contents[0].content as ComponentTextProperties).text).not.toContain(FILE_ID_TO_BE_REPLACED); @@ -500,7 +500,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -549,7 +549,7 @@ describe('lesson copy service', () => { user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; expect(copiedLessonContents[0]).toEqual(lernStoreContent); }); @@ -601,7 +601,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; const geoGebraContent = lessonContents[0].content as ComponentGeogebraProperties; expect(geoGebraContent.materialId).toEqual(''); @@ -616,7 +616,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; expect(lessonContents[0].hidden).toEqual(true); }); @@ -849,7 +849,7 @@ describe('lesson copy service', () => { user, }); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; expect(configurationSpy).toHaveBeenCalledWith('FEATURE_ETHERPAD_ENABLED'); expect(etherpadService.createEtherpad).not.toHaveBeenCalled(); expect(lessonContents).toEqual([]); @@ -887,7 +887,7 @@ describe('lesson copy service', () => { } expect(contentStatus).toEqual(CopyStatusEnum.FAIL); - const lessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const lessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; expect(lessonContents.length).toEqual(0); }); @@ -901,7 +901,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLessonContents = (status.copy as LessonEntity).contents as ComponentProperties[]; + const copiedLessonContents = (status.copyEntity as LessonEntity).contents as ComponentProperties[]; const copiedEtherpad = copiedLessonContents[0].content as ComponentEtherpadProperties; expect(copiedEtherpad.url).toEqual('http://pad.uri/abc'); }); @@ -975,7 +975,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const lesson = copyStatus.copy as LessonEntity; + const lesson = copyStatus.copyEntity as LessonEntity; const embeddedTaskLink = lesson.contents.find((el) => el.component === ComponentType.INTERNAL); expect(embeddedTaskLink).toEqual(embeddedTaskContent); @@ -1070,7 +1070,7 @@ describe('lesson copy service', () => { destinationCourse, user, }); - const copiedLesson = copyStatus.copy as LessonEntity; + const copiedLesson = copyStatus.copyEntity as LessonEntity; const copiedMaterial = copiedLesson.materials[0]; expect(copiedLesson.materials.length).toEqual(1); expect(copiedMaterial.title).toEqual(originalMaterial.title); @@ -1110,7 +1110,7 @@ describe('lesson copy service', () => { expect(materialStatus).toBeDefined(); expect(materialStatus?.title).toEqual(mockedMaterialStatus.title); expect(materialStatus?.status).toEqual(mockedMaterialStatus.status); - const material = materialStatus?.copy as Material; + const material = materialStatus?.copyEntity as Material; expect(material?.description).toEqual(mockedMaterialStatus?.copyEntity?.description); }); }); @@ -1214,14 +1214,14 @@ describe('lesson copy service', () => { const copyStatus: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - original: originalLesson, - copy: copiedLesson, + originalEntity: originalLesson, + copyEntity: copiedLesson, elements: [ { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - original: originalTask, - copy: copiedTask, + originalEntity: originalTask, + copyEntity: copiedTask, }, { type: CopyElementType.LESSON_CONTENT_GROUP, @@ -1253,7 +1253,7 @@ describe('lesson copy service', () => { const { copyStatus, originalTask, copiedTask } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyEntity as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1266,7 +1266,7 @@ describe('lesson copy service', () => { const { copyStatus } = setup(); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyEntity as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } @@ -1278,7 +1278,7 @@ describe('lesson copy service', () => { copyHelperService.buildCopyEntityDict.mockReturnValue(new Map()); const copyDict = copyHelperService.buildCopyEntityDict(copyStatus); const updatedCopyStatus = copyService.updateCopiedEmbeddedTasks(copyStatus, copyDict); - const lesson = updatedCopyStatus?.copy as LessonEntity; + const lesson = updatedCopyStatus?.copyEntity as LessonEntity; if (lesson === undefined || lesson.contents === undefined) { throw new Error('lesson should be part of the copy'); } diff --git a/apps/server/src/modules/lesson/service/lesson-copy.service.ts b/apps/server/src/modules/lesson/service/lesson-copy.service.ts index 412bfce0a6f..6d1408a8530 100644 --- a/apps/server/src/modules/lesson/service/lesson-copy.service.ts +++ b/apps/server/src/modules/lesson/service/lesson-copy.service.ts @@ -91,15 +91,15 @@ export class LessonCopyService { title: lessonCopy.name, type: CopyElementType.LESSON, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: lessonCopy, - original: originalLesson, + copyEntity: lessonCopy, + originalEntity: originalLesson, elements, }; return { status, elements }; } updateCopiedEmbeddedTasks(lessonStatus: CopyStatus, copyDict: CopyDictionary): CopyStatus { - const copiedLesson = lessonStatus.copy as LessonEntity; + const copiedLesson = lessonStatus.copyEntity as LessonEntity; if (copiedLesson?.contents === undefined) { return lessonStatus; @@ -109,7 +109,7 @@ export class LessonCopyService { this.updateCopiedEmbeddedTaskId(value, copyDict) ); - lessonStatus.copy = copiedLesson; + lessonStatus.copyEntity = copiedLesson; return lessonStatus; } @@ -334,7 +334,7 @@ export class LessonCopyService { title: element.title, type: CopyElementType.LERNSTORE_MATERIAL, status: CopyStatusEnum.SUCCESS, - copy: material, + copyEntity: material, }; elementsStatus.push(status); }); diff --git a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts index 3d81d482854..24e6ee646d0 100644 --- a/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts +++ b/apps/server/src/modules/sharing/controller/share-token.controller.spec.ts @@ -120,7 +120,7 @@ describe('ShareTokenController', () => { title: 'Spanisch', type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyEntity: course, }; uc.importShareToken.mockResolvedValue(status); const newName = 'NewName'; @@ -142,7 +142,7 @@ describe('ShareTokenController', () => { const result = await controller.importShareToken(currentUser, { token }, { newName }); expect(result).toEqual({ - id: status.copy?.id, + id: status.copyEntity?.id, title: status.title, type: status.type, status: status.status, 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 081b06343e6..15349ed0f7b 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 @@ -850,7 +850,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyEntity: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -919,7 +919,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.LESSON, status: CopyStatusEnum.SUCCESS, - copy: lesson, + copyEntity: lesson, }; lessonCopyService.copyLesson.mockResolvedValueOnce(status); @@ -1005,7 +1005,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.TASK, status: CopyStatusEnum.SUCCESS, - copy: task, + copyEntity: task, }; taskCopyService.copyTask.mockResolvedValueOnce(status); @@ -1145,7 +1145,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COLUMNBOARD, status: CopyStatusEnum.SUCCESS, - copy: columnBoard, + copyEntity: columnBoard, }; columnBoardService.copyColumnBoard.mockResolvedValueOnce(status); const newName = 'NewName'; @@ -1196,7 +1196,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyEntity: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); @@ -1233,7 +1233,7 @@ describe('ShareTokenUC', () => { const status: CopyStatus = { type: CopyElementType.COURSE, status: CopyStatusEnum.SUCCESS, - copy: course, + copyEntity: course, }; courseCopyService.copyCourse.mockResolvedValueOnce(status); diff --git a/apps/server/src/modules/task/service/task-copy.service.spec.ts b/apps/server/src/modules/task/service/task-copy.service.spec.ts index ae29ea2f338..9b07850ceca 100644 --- a/apps/server/src/modules/task/service/task-copy.service.spec.ts +++ b/apps/server/src/modules/task/service/task-copy.service.spec.ts @@ -84,7 +84,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.creator).toEqual(user); }); @@ -98,7 +98,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.school).toEqual(school); }); @@ -112,7 +112,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.private).toEqual(true); expect(task.availableDate).not.toBeDefined(); }); @@ -128,7 +128,7 @@ describe('task copy service', () => { copyName, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.name).toEqual(copyName); }); @@ -141,7 +141,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.name).toEqual(originalTask.name); }); @@ -155,7 +155,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.course).toEqual(destinationCourse); }); @@ -169,7 +169,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.lesson).toEqual(destinationLesson); }); @@ -183,7 +183,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.description).toEqual(originalTask.description); }); @@ -198,7 +198,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.teamSubmissions).toEqual(originalTask.teamSubmissions); }); @@ -212,7 +212,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(status.title).toEqual(task.name); }); @@ -239,7 +239,7 @@ describe('task copy service', () => { user, }); - expect(status.original).toEqual(originalTask); + expect(status.originalEntity).toEqual(originalTask); }); it('should set status of metadata', async () => { @@ -310,7 +310,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.school).toEqual(destinationSchool); }); }); @@ -336,7 +336,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.course).toEqual(destinationCourse); }); @@ -350,7 +350,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task.lesson).toEqual(destinationLesson); }); }); @@ -365,7 +365,7 @@ describe('task copy service', () => { user, }); - const task = status.copy as Task; + const task = status.copyEntity as Task; expect(task).toBeDefined(); expect(task.course).toBeUndefined(); expect(task.lesson).toBeUndefined(); @@ -448,7 +448,7 @@ describe('task copy service', () => { user, }); - const { description } = status.copy as Task; + const { description } = status.copyEntity as Task; expect(description).not.toContain(file1.id); expect(description).not.toContain(file2.id); expect(description).toContain(replacement1); diff --git a/apps/server/src/modules/task/service/task-copy.service.ts b/apps/server/src/modules/task/service/task-copy.service.ts index 1a0c6cdc6bb..b3d7f04dd5f 100644 --- a/apps/server/src/modules/task/service/task-copy.service.ts +++ b/apps/server/src/modules/task/service/task-copy.service.ts @@ -87,8 +87,8 @@ export class TaskCopyService { title: taskCopy.name, type: CopyElementType.TASK, status: this.copyHelperService.deriveStatusFromElements(elements), - copy: taskCopy, - original: originalTask, + copyEntity: taskCopy, + originalEntity: originalTask, elements, }; return status;