From c9985e08434f34abd303dad6a0edad09fe8086f0 Mon Sep 17 00:00:00 2001 From: Rafael de Jesus Guzman Torres Date: Mon, 8 Jun 2026 20:33:51 -0600 Subject: [PATCH 1/3] feat: change eventid with type IdEntity to type string --- .../core/interfaces/NotificationParams.ts | 2 +- .../notification/core/model/Notification.ts | 18 +++++++++--------- .../core/model/Notification.test.ts | 14 +++++++------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/backend/src/modules/notification/core/interfaces/NotificationParams.ts b/backend/src/modules/notification/core/interfaces/NotificationParams.ts index 2ce1ba50..e6e8bac4 100644 --- a/backend/src/modules/notification/core/interfaces/NotificationParams.ts +++ b/backend/src/modules/notification/core/interfaces/NotificationParams.ts @@ -2,7 +2,7 @@ import type { AllowedNotificationStatus } from '../types/AllowedNotificationStat export default interface NotificationParams { id: string; - event: string; + eventKey: string; status: AllowedNotificationStatus; idUser: string; version: number; diff --git a/backend/src/modules/notification/core/model/Notification.ts b/backend/src/modules/notification/core/model/Notification.ts index 65f92abc..6d793ba5 100644 --- a/backend/src/modules/notification/core/model/Notification.ts +++ b/backend/src/modules/notification/core/model/Notification.ts @@ -11,28 +11,28 @@ import IdNotification from '../objects/IdNotification'; import NotificationStatus from '../objects/NotificationStatus'; export default class Notification extends Entity { - private event!: IdEntity; + private eventKey!: string; private status!: NotificationStatus; private constructor( idNotification: IdNotification, - event: IdEntity, + eventKey: string, status: NotificationStatus, idUser: IdEntity, ) { super(idNotification, idUser); - this.event = event; + this.eventKey = eventKey; this.status = status; } public static create( key: string, idNotification: IdNotification, - event: IdEntity, + eventKey: string, idUser: IdEntity, actor: IdEntity, ): Notification { - const notification = new Notification(idNotification, event, NotificationStatus.unread(), idUser); + const notification = new Notification(idNotification, eventKey, NotificationStatus.unread(), idUser); notification.create(); notification.addEvent( new NotificationCreated(key, DateTime.now(), actor, idUser, idNotification, notification.toPrimitives()), @@ -43,7 +43,7 @@ export default class Notification extends Entity { public static fromPrimitives(params: NotificationParams): Notification { const notification = new Notification( new IdNotification(params.id), - new IdEntity(params.event), + params.eventKey, NotificationStatus.create(params.status), new IdEntity(params.idUser), ); @@ -71,8 +71,8 @@ export default class Notification extends Entity { return super.getID() as IdNotification; } - public getEvent(): IdEntity { - return this.event; + public getEventKey(): string { + return this.eventKey; } public getStatus(): NotificationStatus { @@ -86,7 +86,7 @@ export default class Notification extends Entity { public toPrimitives(): NotificationParams { return { id: this.getId().getID(), - event: this.event.getID(), + eventKey: this.eventKey, status: this.status.getStatus(), idUser: this.getIdUser().getID(), version: super.getVersion().valueOf(), diff --git a/backend/tests/modules/notification/core/model/Notification.test.ts b/backend/tests/modules/notification/core/model/Notification.test.ts index 9ed7dd70..8c14aae3 100644 --- a/backend/tests/modules/notification/core/model/Notification.test.ts +++ b/backend/tests/modules/notification/core/model/Notification.test.ts @@ -14,7 +14,7 @@ const ACTOR_ID = '019df05a-8588-758c-b5e7-92af14bf85c2'; const createNotificationParams = ( overrides?: Partial<{ id: string; - event: string; + eventKey: string; status: AllowedNotificationStatus; idUser: string; version: number; @@ -23,7 +23,7 @@ const createNotificationParams = ( }>, ) => ({ id: DEFAULT_ID, - event: EVENT_ID, + eventKey: EVENT_ID, status: AllowedNotificationStatus.unread, idUser: USER_ID, version: 1, @@ -38,7 +38,7 @@ const buildNotification = (overrides?: Parameters { const notification = buildNotification(); expect(notification.getId().getID()).toBe(DEFAULT_ID); - expect(notification.getEvent().getID()).toBe(EVENT_ID); + expect(notification.getEventKey()).toBe(EVENT_ID); expect(notification.getIdUser().getID()).toBe(USER_ID); expect(notification.getStatus().getStatus()).toBe(AllowedNotificationStatus.unread); expect(notification.exists()).toBe(true); @@ -123,7 +123,7 @@ describe('Notification Entity', () => { expect(primitives).toEqual({ id: params.id, - event: params.event, + eventKey: params.eventKey, status: params.status, idUser: params.idUser, version: params.version, @@ -137,7 +137,7 @@ describe('Notification Entity', () => { const notification = Notification.fromPrimitives(params); expect(notification.getId().getID()).toBe(params.id); - expect(notification.getEvent().getID()).toBe(params.event); + expect(notification.getEventKey()).toBe(params.eventKey); expect(notification.getIdUser().getID()).toBe(params.idUser); expect(notification.getStatus().getStatus()).toBe(AllowedNotificationStatus.read); }); @@ -149,7 +149,7 @@ describe('Notification Entity', () => { const primitives = notification.toPrimitives(); expect(primitives.id).toBe(DEFAULT_ID); - expect(primitives.event).toBe(EVENT_ID); + expect(primitives.eventKey).toBe(EVENT_ID); expect(primitives.idUser).toBe(USER_ID); expect(primitives.status).toBe(AllowedNotificationStatus.read); }); From a93fdcb4de0d5baba4b9902a382d737f63421ffe Mon Sep 17 00:00:00 2001 From: Rafael de Jesus Guzman Torres Date: Mon, 8 Jun 2026 22:46:33 -0600 Subject: [PATCH 2/3] feat: create project domain module --- backend/agents.md | 73 ++++ .../category/core/objects/CategoryColor.d.ts | 2 +- .../core/objects/CategoryColor.d.ts.map | 2 +- .../category/core/objects/CategoryColor.js | 2 +- .../core/objects/CategoryColor.js.map | 2 +- .../category/core/types/AllowedColors.d.ts | 15 +- .../core/types/AllowedColors.d.ts.map | 2 +- .../category/core/types/AllowedColors.js | 28 +- .../category/core/types/AllowedColors.js.map | 2 +- .../list/core/repository/ListRepository.d.ts | 9 + .../core/repository/ListRepository.d.ts.map | 1 + .../list/core/repository/ListRepository.js | 3 + .../core/repository/ListRepository.js.map | 1 + .../core/interfaces/NotificationParams.d.ts | 2 +- .../interfaces/NotificationParams.d.ts.map | 2 +- .../notification/core/model/Notification.d.ts | 6 +- .../core/model/Notification.d.ts.map | 2 +- .../notification/core/model/Notification.js | 16 +- .../core/model/Notification.js.map | 2 +- .../errors/BackgroundTypeNotSupported.d.ts | 5 + .../BackgroundTypeNotSupported.d.ts.map | 1 + .../core/errors/BackgroundTypeNotSupported.js | 8 + .../errors/BackgroundTypeNotSupported.js.map | 1 + .../errors/CannotModifyClosedProject.d.ts | 5 + .../errors/CannotModifyClosedProject.d.ts.map | 1 + .../core/errors/CannotModifyClosedProject.js | 8 + .../errors/CannotModifyClosedProject.js.map | 1 + .../ProjectBackgroundColorNotSupported.d.ts | 5 + ...rojectBackgroundColorNotSupported.d.ts.map | 1 + .../ProjectBackgroundColorNotSupported.js | 8 + .../ProjectBackgroundColorNotSupported.js.map | 1 + .../ProjectNeedsToBeClosedBeforeDeleteIt.d.ts | 5 + ...jectNeedsToBeClosedBeforeDeleteIt.d.ts.map | 1 + .../ProjectNeedsToBeClosedBeforeDeleteIt.js | 8 + ...rojectNeedsToBeClosedBeforeDeleteIt.js.map | 1 + .../errors/ProjectSettingNotSupported.d.ts | 5 + .../ProjectSettingNotSupported.d.ts.map | 1 + .../core/errors/ProjectSettingNotSupported.js | 8 + .../errors/ProjectSettingNotSupported.js.map | 1 + .../errors/ProjectStatusNotSupported.d.ts | 5 + .../errors/ProjectStatusNotSupported.d.ts.map | 1 + .../core/errors/ProjectStatusNotSupported.js | 8 + .../errors/ProjectStatusNotSupported.js.map | 1 + .../core/events/ListMovedWithinProject.d.ts | 10 + .../events/ListMovedWithinProject.d.ts.map | 1 + .../core/events/ListMovedWithinProject.js | 7 + .../core/events/ListMovedWithinProject.js.map | 1 + .../ProjectAddMemberSettingsUpdated.d.ts | 9 + .../ProjectAddMemberSettingsUpdated.d.ts.map | 1 + .../events/ProjectAddMemberSettingsUpdated.js | 7 + .../ProjectAddMemberSettingsUpdated.js.map | 1 + .../events/ProjectBackgroundImageUpdated.d.ts | 9 + .../ProjectBackgroundImageUpdated.d.ts.map | 1 + .../events/ProjectBackgroundImageUpdated.js | 7 + .../ProjectBackgroundImageUpdated.js.map | 1 + .../project/core/events/ProjectClosed.d.ts | 8 + .../core/events/ProjectClosed.d.ts.map | 1 + .../project/core/events/ProjectClosed.js | 7 + .../project/core/events/ProjectClosed.js.map | 1 + .../core/events/ProjectColorUpdated.d.ts | 9 + .../core/events/ProjectColorUpdated.d.ts.map | 1 + .../core/events/ProjectColorUpdated.js | 7 + .../core/events/ProjectColorUpdated.js.map | 1 + .../ProjectCommentImmutableSetupTo.d.ts | 8 + .../ProjectCommentImmutableSetupTo.d.ts.map | 1 + .../events/ProjectCommentImmutableSetupTo.js | 7 + .../ProjectCommentImmutableSetupTo.js.map | 1 + .../events/ProjectCommentSettingsUpdated.d.ts | 9 + .../ProjectCommentSettingsUpdated.d.ts.map | 1 + .../events/ProjectCommentSettingsUpdated.js | 7 + .../ProjectCommentSettingsUpdated.js.map | 1 + ...rojectCompletedTasksVisibilityUpdated.d.ts | 8 + ...ctCompletedTasksVisibilityUpdated.d.ts.map | 1 + .../ProjectCompletedTasksVisibilityUpdated.js | 7 + ...jectCompletedTasksVisibilityUpdated.js.map | 1 + .../ProjectCreateResourceSettingUpdated.d.ts | 9 + ...ojectCreateResourceSettingUpdated.d.ts.map | 1 + .../ProjectCreateResourceSettingUpdated.js | 7 + ...ProjectCreateResourceSettingUpdated.js.map | 1 + .../project/core/events/ProjectCreated.d.ts | 9 + .../core/events/ProjectCreated.d.ts.map | 1 + .../project/core/events/ProjectCreated.js | 7 + .../project/core/events/ProjectCreated.js.map | 1 + .../project/core/events/ProjectDeleted.d.ts | 8 + .../core/events/ProjectDeleted.d.ts.map | 1 + .../project/core/events/ProjectDeleted.js | 7 + .../project/core/events/ProjectDeleted.js.map | 1 + .../events/ProjectDescriptionUpdated.d.ts | 10 + .../events/ProjectDescriptionUpdated.d.ts.map | 1 + .../core/events/ProjectDescriptionUpdated.js | 7 + .../events/ProjectDescriptionUpdated.js.map | 1 + .../core/events/ProjectMarkedAsFavorite.d.ts | 8 + .../events/ProjectMarkedAsFavorite.d.ts.map | 1 + .../core/events/ProjectMarkedAsFavorite.js | 7 + .../events/ProjectMarkedAsFavorite.js.map | 1 + .../core/events/ProjectNameUpdated.d.ts | 9 + .../core/events/ProjectNameUpdated.d.ts.map | 1 + .../project/core/events/ProjectNameUpdated.js | 7 + .../core/events/ProjectNameUpdated.js.map | 1 + .../events/ProjectUnmarkedAsFavorite.d.ts | 8 + .../events/ProjectUnmarkedAsFavorite.d.ts.map | 1 + .../core/events/ProjectUnmarkedAsFavorite.js | 7 + .../events/ProjectUnmarkedAsFavorite.js.map | 1 + .../project/core/events/ProjectUnwatched.d.ts | 8 + .../core/events/ProjectUnwatched.d.ts.map | 1 + .../project/core/events/ProjectUnwatched.js | 7 + .../core/events/ProjectUnwatched.js.map | 1 + .../project/core/events/ProjectWatched.d.ts | 8 + .../core/events/ProjectWatched.d.ts.map | 1 + .../project/core/events/ProjectWatched.js | 7 + .../project/core/events/ProjectWatched.js.map | 1 + .../ProjectBackgroundImageParams.d.ts | 8 + .../ProjectBackgroundImageParams.d.ts.map | 1 + .../ProjectBackgroundImageParams.js | 2 + .../ProjectBackgroundImageParams.js.map | 1 + .../core/interfaces/ProjectParams.d.ts | 23 ++ .../core/interfaces/ProjectParams.d.ts.map | 1 + .../project/core/interfaces/ProjectParams.js | 2 + .../core/interfaces/ProjectParams.js.map | 1 + .../modules/project/core/model/Project.d.ts | 58 +++ .../project/core/model/Project.d.ts.map | 1 + .../src/modules/project/core/model/Project.js | 211 ++++++++++ .../modules/project/core/model/Project.js.map | 1 + .../project/core/objects/BackgroundType.d.ts | 13 + .../core/objects/BackgroundType.d.ts.map | 1 + .../project/core/objects/BackgroundType.js | 30 ++ .../core/objects/BackgroundType.js.map | 1 + .../core/objects/ProjectBackGroundColor.d.ts | 8 + .../objects/ProjectBackGroundColor.d.ts.map | 1 + .../core/objects/ProjectBackGroundColor.js | 15 + .../objects/ProjectBackGroundColor.js.map | 1 + .../core/objects/ProjectBackGroundImage.d.ts | 8 + .../objects/ProjectBackGroundImage.d.ts.map | 1 + .../core/objects/ProjectBackGroundImage.js | 15 + .../objects/ProjectBackGroundImage.js.map | 1 + .../core/objects/ProjectDescription.d.ts | 7 + .../core/objects/ProjectDescription.d.ts.map | 1 + .../core/objects/ProjectDescription.js | 12 + .../core/objects/ProjectDescription.js.map | 1 + .../project/core/objects/ProjectId.d.ts | 4 + .../project/core/objects/ProjectId.d.ts.map | 1 + .../modules/project/core/objects/ProjectId.js | 4 + .../project/core/objects/ProjectId.js.map | 1 + .../project/core/objects/ProjectName.d.ts | 7 + .../project/core/objects/ProjectName.d.ts.map | 1 + .../project/core/objects/ProjectName.js | 17 + .../project/core/objects/ProjectName.js.map | 1 + .../project/core/objects/ProjectSetting.d.ts | 8 + .../core/objects/ProjectSetting.d.ts.map | 1 + .../project/core/objects/ProjectSetting.js | 15 + .../core/objects/ProjectSetting.js.map | 1 + .../project/core/objects/ProjectStatus.d.ts | 13 + .../core/objects/ProjectStatus.d.ts.map | 1 + .../project/core/objects/ProjectStatus.js | 30 ++ .../project/core/objects/ProjectStatus.js.map | 1 + .../core/types/AllowedBackgroundType.d.ts | 6 + .../core/types/AllowedBackgroundType.d.ts.map | 1 + .../core/types/AllowedBackgroundType.js | 7 + .../core/types/AllowedBackgroundType.js.map | 1 + .../core/types/AllowedProjectSetting.d.ts | 6 + .../core/types/AllowedProjectSetting.d.ts.map | 1 + .../core/types/AllowedProjectSetting.js | 7 + .../core/types/AllowedProjectSetting.js.map | 1 + .../core/types/AllowedProjectStatus.d.ts | 6 + .../core/types/AllowedProjectStatus.d.ts.map | 1 + .../core/types/AllowedProjectStatus.js | 7 + .../core/types/AllowedProjectStatus.js.map | 1 + .../shared/core/types/AllowedColors.d.ts | 15 + .../shared/core/types/AllowedColors.d.ts.map | 1 + .../shared/core/types/AllowedColors.js | 28 ++ .../shared/core/types/AllowedColors.js.map | 1 + .../task/core/interface/TaskCriteria.d.ts | 5 +- .../task/core/interface/TaskCriteria.d.ts.map | 2 +- .../task/core/repository/TaskRepository.d.ts | 2 - .../core/repository/TaskRepository.d.ts.map | 2 +- .../core/model/Notification.test.d.ts | 2 + .../core/model/Notification.test.d.ts.map | 1 + .../core/model/Notification.test.js | 111 ++++++ .../core/model/Notification.test.js.map | 1 + .../core/objects/NotificationStatus.test.d.ts | 2 + .../objects/NotificationStatus.test.d.ts.map | 1 + .../core/objects/NotificationStatus.test.js | 28 ++ .../objects/NotificationStatus.test.js.map | 1 + .../modules/category/core/model/Category.ts | 2 +- .../category/core/objects/CategoryColor.ts | 2 +- .../category/core/types/AllowedColors.ts | 28 +- backend/src/modules/list/core/model/List.ts | 4 + .../core/errors/BackgroundTypeNotSupported.ts | 8 + .../core/errors/CannotModifyClosedProject.ts | 8 + .../core/errors/InvalidPositionInProject.ts | 8 + .../ProjectBackgroundColorNotSupported.ts | 8 + .../ProjectNeedsToBeClosedBeforeDeleteIt.ts | 8 + .../core/errors/ProjectSettingNotSupported.ts | 8 + .../core/errors/ProjectStatusNotSupported.ts | 8 + .../events/ProjectAddMemberSettingsUpdated.ts | 11 + .../events/ProjectBackgroundImageUpdated.ts | 11 + .../project/core/events/ProjectClosed.ts | 10 + .../core/events/ProjectColorUpdated.ts | 11 + .../events/ProjectCommentImmutableSetupTo.ts | 10 + .../events/ProjectCommentSettingsUpdated.ts | 11 + .../ProjectCompletedTasksVisibilityUpdated.ts | 10 + .../ProjectCreateResourceSettingUpdated.ts | 11 + .../project/core/events/ProjectCreated.ts | 17 + .../project/core/events/ProjectDeleted.ts | 10 + .../core/events/ProjectDescriptionUpdated.ts | 18 + .../project/core/events/ProjectNameUpdated.ts | 11 + .../ProjectBackgroundImageParams.ts | 8 + .../project/core/interfaces/ProjectParams.ts | 24 ++ .../src/modules/project/core/model/Project.ts | 361 ++++++++++++++++++ .../project/core/objects/BackgroundType.ts | 37 ++ .../core/objects/ProjectBackGroundColor.ts | 17 + .../core/objects/ProjectBackGroundImage.ts | 17 + .../core/objects/ProjectDescription.ts | 15 + .../modules/project/core/objects/ProjectId.ts | 3 + .../project/core/objects/ProjectName.ts | 21 + .../project/core/objects/ProjectSetting.ts | 17 + .../project/core/objects/ProjectStatus.ts | 37 ++ .../core/types/AllowedBackgroundType.ts | 6 + .../core/types/AllowedProjectSetting.ts | 6 + .../core/types/AllowedProjectStatus.ts | 6 + .../shared/core/types/AllowedColors.ts | 27 ++ 221 files changed, 2079 insertions(+), 98 deletions(-) create mode 100644 backend/agents.md create mode 100644 backend/dist/src/modules/list/core/repository/ListRepository.d.ts create mode 100644 backend/dist/src/modules/list/core/repository/ListRepository.d.ts.map create mode 100644 backend/dist/src/modules/list/core/repository/ListRepository.js create mode 100644 backend/dist/src/modules/list/core/repository/ListRepository.js.map create mode 100644 backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js create mode 100644 backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js.map create mode 100644 backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js create mode 100644 backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js create mode 100644 backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js create mode 100644 backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js create mode 100644 backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts create mode 100644 backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts.map create mode 100644 backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js create mode 100644 backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js.map create mode 100644 backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ListMovedWithinProject.js create mode 100644 backend/dist/src/modules/project/core/events/ListMovedWithinProject.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectClosed.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectClosed.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectClosed.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectClosed.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectColorUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectColorUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectCreated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectDeleted.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectDeleted.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectNameUpdated.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectNameUpdated.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnwatched.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectUnwatched.js.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectWatched.d.ts create mode 100644 backend/dist/src/modules/project/core/events/ProjectWatched.d.ts.map create mode 100644 backend/dist/src/modules/project/core/events/ProjectWatched.js create mode 100644 backend/dist/src/modules/project/core/events/ProjectWatched.js.map create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts.map create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js.map create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts.map create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectParams.js create mode 100644 backend/dist/src/modules/project/core/interfaces/ProjectParams.js.map create mode 100644 backend/dist/src/modules/project/core/model/Project.d.ts create mode 100644 backend/dist/src/modules/project/core/model/Project.d.ts.map create mode 100644 backend/dist/src/modules/project/core/model/Project.js create mode 100644 backend/dist/src/modules/project/core/model/Project.js.map create mode 100644 backend/dist/src/modules/project/core/objects/BackgroundType.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/BackgroundType.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/BackgroundType.js create mode 100644 backend/dist/src/modules/project/core/objects/BackgroundType.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectDescription.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectDescription.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectId.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectId.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectId.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectId.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectName.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectName.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectName.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectName.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectSetting.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectSetting.js.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts create mode 100644 backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts.map create mode 100644 backend/dist/src/modules/project/core/objects/ProjectStatus.js create mode 100644 backend/dist/src/modules/project/core/objects/ProjectStatus.js.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts create mode 100644 backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedBackgroundType.js create mode 100644 backend/dist/src/modules/project/core/types/AllowedBackgroundType.js.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectSetting.js create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectSetting.js.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts.map create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectStatus.js create mode 100644 backend/dist/src/modules/project/core/types/AllowedProjectStatus.js.map create mode 100644 backend/dist/src/modules/shared/core/types/AllowedColors.d.ts create mode 100644 backend/dist/src/modules/shared/core/types/AllowedColors.d.ts.map create mode 100644 backend/dist/src/modules/shared/core/types/AllowedColors.js create mode 100644 backend/dist/src/modules/shared/core/types/AllowedColors.js.map create mode 100644 backend/dist/tests/modules/notification/core/model/Notification.test.d.ts create mode 100644 backend/dist/tests/modules/notification/core/model/Notification.test.d.ts.map create mode 100644 backend/dist/tests/modules/notification/core/model/Notification.test.js create mode 100644 backend/dist/tests/modules/notification/core/model/Notification.test.js.map create mode 100644 backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts create mode 100644 backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts.map create mode 100644 backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js create mode 100644 backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js.map create mode 100644 backend/src/modules/project/core/errors/BackgroundTypeNotSupported.ts create mode 100644 backend/src/modules/project/core/errors/CannotModifyClosedProject.ts create mode 100644 backend/src/modules/project/core/errors/InvalidPositionInProject.ts create mode 100644 backend/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts create mode 100644 backend/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts create mode 100644 backend/src/modules/project/core/errors/ProjectSettingNotSupported.ts create mode 100644 backend/src/modules/project/core/errors/ProjectStatusNotSupported.ts create mode 100644 backend/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectBackgroundImageUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectClosed.ts create mode 100644 backend/src/modules/project/core/events/ProjectColorUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts create mode 100644 backend/src/modules/project/core/events/ProjectCommentSettingsUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectCreated.ts create mode 100644 backend/src/modules/project/core/events/ProjectDeleted.ts create mode 100644 backend/src/modules/project/core/events/ProjectDescriptionUpdated.ts create mode 100644 backend/src/modules/project/core/events/ProjectNameUpdated.ts create mode 100644 backend/src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts create mode 100644 backend/src/modules/project/core/interfaces/ProjectParams.ts create mode 100644 backend/src/modules/project/core/model/Project.ts create mode 100644 backend/src/modules/project/core/objects/BackgroundType.ts create mode 100644 backend/src/modules/project/core/objects/ProjectBackGroundColor.ts create mode 100644 backend/src/modules/project/core/objects/ProjectBackGroundImage.ts create mode 100644 backend/src/modules/project/core/objects/ProjectDescription.ts create mode 100644 backend/src/modules/project/core/objects/ProjectId.ts create mode 100644 backend/src/modules/project/core/objects/ProjectName.ts create mode 100644 backend/src/modules/project/core/objects/ProjectSetting.ts create mode 100644 backend/src/modules/project/core/objects/ProjectStatus.ts create mode 100644 backend/src/modules/project/core/types/AllowedBackgroundType.ts create mode 100644 backend/src/modules/project/core/types/AllowedProjectSetting.ts create mode 100644 backend/src/modules/project/core/types/AllowedProjectStatus.ts create mode 100644 backend/src/modules/shared/core/types/AllowedColors.ts diff --git a/backend/agents.md b/backend/agents.md new file mode 100644 index 00000000..5763e771 --- /dev/null +++ b/backend/agents.md @@ -0,0 +1,73 @@ +## Instructions + +## Backend stack +- Typescript +- Redis +- Express +- Postgresql +- Vitest (Testing) +- S3 (Object storage) +- Auth provider (No specified) + +## Architecture +- DDD with value objects, events, model, custom errors, types +- Modular separation to isolate entity logic like, notification, user, project ... +- Structured layer on each module: core, providers, application and api +- Event driven +- Distributed + +## Specifications +- Dont use any in backend logic use unknown, use null instead of undefined +- Just follow instructions in prompt + +## Domain specifications +- All entities extends from Entity abstract class (Check Entity structure) +- All the events extedns from DomainEvent (Check DomainEvent structure) +- Some repository methods uses the criteria pattern to abstract the filters +- Getters from repository uses pages and limits (just no when i specify) +- From primitives and to primitives are methods that export or import data from json to abstract logic and dont emmit events +- Factory method to build objects and emit events or apply logic, private constructors +- Shared module contain useful objects, errors and the primary entitties or classes to dont repeat logic and maintain the strucutre +- Softdelete instead of hard delete +- Versioning to avoid inconsitencies +- Uses uuid v7 to have better distribution, dont depend from database and dont use secuential ids that easily can de gessed +- Dont use try-catch inside domain +- Key from event is used as an indepotency key, is provided by client +- Params interfaces just uses primitives or definded types + +## Limitations and invariants: +- 250 mb per attachment, the user just needs help attachments, doesn't need to save a gallery of photos or videos +- At least have to exist one admin per project +- A task or list just can be deleted when are archived +- A project just can be deleted when is closed +- Before deleting an account the user needs to be recently authenticated +- Allowed languages: EN/ES +- A due date can not be before start date +- A title cannot be bigger than 1000 characters +- Description does not have explicit limit +- Project settings are just modificable by admins +- CheckList name can not exceed 1000 characters +- Archive, delete and export lists automatically affects the tasks that the list contains on cascade +- If a list is unarchived will affect only the tasks that contains that were archived with the list +- If a task is exported maintain its history +- Completed checklist percentage can not be negative or bigger than 100 +- If a project is deleted when is being used by other they will lose access immediately. +- Link visible text can not be bigger than 1000 characters +- CheckList item can not be bigger than 1000 characters +- Attachment name can not be bigger than 1000 characters +- Category name can not be bigger than 1000 characters +- Oncascade actions does not generate an event for each change, generate a global event that describes that was performed + +## Allowed Attachments + +**Documents:** `.pdf` `.doc` `.docx` `.txt` `.rtf` +**Spreadsheets:** `.xls` `.xlsx` `.csv` +**Presentations:** `.ppt` `.pptx` +**Images:** `.jpg` `.jpeg` `.png` `.gif` `.webp` + +## Roles: +- Admin: Manage all the project +- Member: Can create resources, comment or add member according to project config +- Auditor: Just can observe a project + + diff --git a/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts b/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts index 117c9df7..c91fbdd1 100644 --- a/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts +++ b/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts @@ -1,5 +1,5 @@ import ValueObject from '../../../shared/core/objects/ValueObject'; -import { AllowedColors } from '../types/AllowedColors'; +import { AllowedColors } from '../../../shared/core/types/AllowedColors'; export default class CategoryColor extends ValueObject { private color; constructor(color: AllowedColors); diff --git a/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts.map b/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts.map index 24ac2b21..67bb12c8 100644 --- a/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts.map +++ b/backend/dist/src/modules/category/core/objects/CategoryColor.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"CategoryColor.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/category/core/objects/CategoryColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,OAAO,EAAkB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,CAAiB;gBAElB,KAAK,EAAE,aAAa;IAMzB,QAAQ,IAAI,aAAa;CAGjC"} \ No newline at end of file +{"version":3,"file":"CategoryColor.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/category/core/objects/CategoryColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAkB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,CAAiB;gBAElB,KAAK,EAAE,aAAa;IAMzB,QAAQ,IAAI,aAAa;CAGjC"} \ No newline at end of file diff --git a/backend/dist/src/modules/category/core/objects/CategoryColor.js b/backend/dist/src/modules/category/core/objects/CategoryColor.js index 52c2f785..431a0fbc 100644 --- a/backend/dist/src/modules/category/core/objects/CategoryColor.js +++ b/backend/dist/src/modules/category/core/objects/CategoryColor.js @@ -1,6 +1,6 @@ import ValueObject from '../../../shared/core/objects/ValueObject'; +import { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; import CategoryColorNotSupported from '../error/CategoryColorNotSupported'; -import { ALLOWED_COLORS, AllowedColors } from '../types/AllowedColors'; export default class CategoryColor extends ValueObject { constructor(color) { super(); diff --git a/backend/dist/src/modules/category/core/objects/CategoryColor.js.map b/backend/dist/src/modules/category/core/objects/CategoryColor.js.map index 076fbd0e..ec7424a6 100644 --- a/backend/dist/src/modules/category/core/objects/CategoryColor.js.map +++ b/backend/dist/src/modules/category/core/objects/CategoryColor.js.map @@ -1 +1 @@ -{"version":3,"file":"CategoryColor.js","sourceRoot":"","sources":["../../../../../../src/modules/category/core/objects/CategoryColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAGpD,YAAY,KAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"} \ No newline at end of file +{"version":3,"file":"CategoryColor.js","sourceRoot":"","sources":["../../../../../../src/modules/category/core/objects/CategoryColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAGpD,YAAY,KAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/category/core/types/AllowedColors.d.ts b/backend/dist/src/modules/category/core/types/AllowedColors.d.ts index bc644fbb..1fbe5fff 100644 --- a/backend/dist/src/modules/category/core/types/AllowedColors.d.ts +++ b/backend/dist/src/modules/category/core/types/AllowedColors.d.ts @@ -1,15 +1,2 @@ -export declare const ALLOWED_COLORS: readonly ["RED", "BLUE", "GREEN", "LIGHTGREEN", "YELLOW", "ROSE", "SKYBLUE", "BLACK", "ORANGE", "PURPLE", "NONE"]; -export declare enum AllowedColors { - RED = "RED", - BLUE = "BLUE", - GREEN = "GREEN", - LIGHT_GREEN = "LIGHTGREEN", - YELLOW = "YELLOW", - ROSE = "ROSE", - SKY_BLUE = "SKYBLUE", - BLACK = "BLACK", - ORANGE = "ORANGE", - PURPLE = "PURPLE", - NONE = "NONE" -} +export { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; //# sourceMappingURL=AllowedColors.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/category/core/types/AllowedColors.d.ts.map b/backend/dist/src/modules/category/core/types/AllowedColors.d.ts.map index 4921f596..211f68c0 100644 --- a/backend/dist/src/modules/category/core/types/AllowedColors.d.ts.map +++ b/backend/dist/src/modules/category/core/types/AllowedColors.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"AllowedColors.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/category/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mHAYjB,CAAC;AAEX,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,WAAW,eAAe;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd"} \ No newline at end of file +{"version":3,"file":"AllowedColors.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/category/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC"} \ No newline at end of file diff --git a/backend/dist/src/modules/category/core/types/AllowedColors.js b/backend/dist/src/modules/category/core/types/AllowedColors.js index 4d65c955..ac29efaf 100644 --- a/backend/dist/src/modules/category/core/types/AllowedColors.js +++ b/backend/dist/src/modules/category/core/types/AllowedColors.js @@ -1,28 +1,2 @@ -export const ALLOWED_COLORS = [ - 'RED', - 'BLUE', - 'GREEN', - 'LIGHTGREEN', - 'YELLOW', - 'ROSE', - 'SKYBLUE', - 'BLACK', - 'ORANGE', - 'PURPLE', - 'NONE', -]; -export var AllowedColors; -(function (AllowedColors) { - AllowedColors["RED"] = "RED"; - AllowedColors["BLUE"] = "BLUE"; - AllowedColors["GREEN"] = "GREEN"; - AllowedColors["LIGHT_GREEN"] = "LIGHTGREEN"; - AllowedColors["YELLOW"] = "YELLOW"; - AllowedColors["ROSE"] = "ROSE"; - AllowedColors["SKY_BLUE"] = "SKYBLUE"; - AllowedColors["BLACK"] = "BLACK"; - AllowedColors["ORANGE"] = "ORANGE"; - AllowedColors["PURPLE"] = "PURPLE"; - AllowedColors["NONE"] = "NONE"; -})(AllowedColors || (AllowedColors = {})); +export { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; //# sourceMappingURL=AllowedColors.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/category/core/types/AllowedColors.js.map b/backend/dist/src/modules/category/core/types/AllowedColors.js.map index 36163811..62d42be5 100644 --- a/backend/dist/src/modules/category/core/types/AllowedColors.js.map +++ b/backend/dist/src/modules/category/core/types/AllowedColors.js.map @@ -1 +1 @@ -{"version":3,"file":"AllowedColors.js","sourceRoot":"","sources":["../../../../../../src/modules/category/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK;IACL,MAAM;IACN,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;CACE,CAAC;AAEX,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,2CAA0B,CAAA;IAC1B,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,qCAAoB,CAAA;IACpB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACf,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB"} \ No newline at end of file +{"version":3,"file":"AllowedColors.js","sourceRoot":"","sources":["../../../../../../src/modules/category/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC"} \ No newline at end of file diff --git a/backend/dist/src/modules/list/core/repository/ListRepository.d.ts b/backend/dist/src/modules/list/core/repository/ListRepository.d.ts new file mode 100644 index 00000000..d363579d --- /dev/null +++ b/backend/dist/src/modules/list/core/repository/ListRepository.d.ts @@ -0,0 +1,9 @@ +import type List from "../model/List"; +export default interface ListRepository { + create(list: List): Promise; + update(list: List): Promise; + getById(listId: string): Promise; + getMany(listIds: string[]): Promise; + getByProjectId(projectId: string, page: number, limit: number): Promise; +} +//# sourceMappingURL=ListRepository.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/list/core/repository/ListRepository.d.ts.map b/backend/dist/src/modules/list/core/repository/ListRepository.d.ts.map new file mode 100644 index 00000000..be7c7cf4 --- /dev/null +++ b/backend/dist/src/modules/list/core/repository/ListRepository.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ListRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/list/core/repository/ListRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,MAAM,CAAC,OAAO,WAAW,cAAc;IACnC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CACnF"} \ No newline at end of file diff --git a/backend/dist/src/modules/list/core/repository/ListRepository.js b/backend/dist/src/modules/list/core/repository/ListRepository.js new file mode 100644 index 00000000..1865b452 --- /dev/null +++ b/backend/dist/src/modules/list/core/repository/ListRepository.js @@ -0,0 +1,3 @@ +; +export {}; +//# sourceMappingURL=ListRepository.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/list/core/repository/ListRepository.js.map b/backend/dist/src/modules/list/core/repository/ListRepository.js.map new file mode 100644 index 00000000..c698a2ad --- /dev/null +++ b/backend/dist/src/modules/list/core/repository/ListRepository.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ListRepository.js","sourceRoot":"","sources":["../../../../../../src/modules/list/core/repository/ListRepository.ts"],"names":[],"mappings":"AAQC,CAAC"} \ No newline at end of file diff --git a/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts b/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts index 2400605f..2ab5320c 100644 --- a/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts +++ b/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts @@ -1,7 +1,7 @@ import type { AllowedNotificationStatus } from '../types/AllowedNotificationStatus'; export default interface NotificationParams { id: string; - event: string; + eventKey: string; status: AllowedNotificationStatus; idUser: string; version: number; diff --git a/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts.map b/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts.map index 309977d6..5fef31d1 100644 --- a/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts.map +++ b/backend/dist/src/modules/notification/core/interfaces/NotificationParams.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"NotificationParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/interfaces/NotificationParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,CAAC,OAAO,WAAW,kBAAkB;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"} \ No newline at end of file +{"version":3,"file":"NotificationParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/interfaces/NotificationParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,CAAC,OAAO,WAAW,kBAAkB;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"} \ No newline at end of file diff --git a/backend/dist/src/modules/notification/core/model/Notification.d.ts b/backend/dist/src/modules/notification/core/model/Notification.d.ts index 80f81be1..1d90b2d5 100644 --- a/backend/dist/src/modules/notification/core/model/Notification.d.ts +++ b/backend/dist/src/modules/notification/core/model/Notification.d.ts @@ -4,14 +4,14 @@ import type NotificationParams from '../interfaces/NotificationParams'; import IdNotification from '../objects/IdNotification'; import NotificationStatus from '../objects/NotificationStatus'; export default class Notification extends Entity { - private event; + private eventKey; private status; private constructor(); - static create(key: string, idNotification: IdNotification, event: IdEntity, idUser: IdEntity, actor: IdEntity): Notification; + static create(key: string, idNotification: IdNotification, eventKey: string, idUser: IdEntity, actor: IdEntity): Notification; static fromPrimitives(params: NotificationParams): Notification; markAsRead(key: string, actor: IdEntity): void; getId(): IdNotification; - getEvent(): IdEntity; + getEventKey(): string; getStatus(): NotificationStatus; getIdUser(): IdEntity; toPrimitives(): NotificationParams; diff --git a/backend/dist/src/modules/notification/core/model/Notification.d.ts.map b/backend/dist/src/modules/notification/core/model/Notification.d.ts.map index ba68886a..56e6abbc 100644 --- a/backend/dist/src/modules/notification/core/model/Notification.d.ts.map +++ b/backend/dist/src/modules/notification/core/model/Notification.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Notification.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/model/Notification.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAGvD,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAK7D,OAAO,KAAK,kBAAkB,MAAM,kCAAkC,CAAC;AACvE,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAAM;IAC9C,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;WAWO,MAAM,CAClB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,QAAQ,GACd,YAAY;WASD,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAgB/D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAW9C,KAAK,IAAI,cAAc;IAIvB,QAAQ,IAAI,QAAQ;IAIpB,SAAS,IAAI,kBAAkB;IAI/B,SAAS,IAAI,QAAQ;IAIrB,YAAY,IAAI,kBAAkB;CAU1C"} \ No newline at end of file +{"version":3,"file":"Notification.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/model/Notification.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAGvD,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAK7D,OAAO,KAAK,kBAAkB,MAAM,kCAAkC,CAAC;AACvE,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAAM;IAC9C,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;WAWO,MAAM,CAClB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,QAAQ,GACd,YAAY;WASD,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAgB/D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAW9C,KAAK,IAAI,cAAc;IAIvB,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,kBAAkB;IAI/B,SAAS,IAAI,QAAQ;IAIrB,YAAY,IAAI,kBAAkB;CAU1C"} \ No newline at end of file diff --git a/backend/dist/src/modules/notification/core/model/Notification.js b/backend/dist/src/modules/notification/core/model/Notification.js index d14a8b52..c4091e6a 100644 --- a/backend/dist/src/modules/notification/core/model/Notification.js +++ b/backend/dist/src/modules/notification/core/model/Notification.js @@ -9,19 +9,19 @@ import NotificationAlreadyRead from '../error/NotificationAlreadyRead'; import IdNotification from '../objects/IdNotification'; import NotificationStatus from '../objects/NotificationStatus'; export default class Notification extends Entity { - constructor(idNotification, event, status, idUser) { + constructor(idNotification, eventKey, status, idUser) { super(idNotification, idUser); - this.event = event; + this.eventKey = eventKey; this.status = status; } - static create(key, idNotification, event, idUser, actor) { - const notification = new Notification(idNotification, event, NotificationStatus.unread(), idUser); + static create(key, idNotification, eventKey, idUser, actor) { + const notification = new Notification(idNotification, eventKey, NotificationStatus.unread(), idUser); notification.create(); notification.addEvent(new NotificationCreated(key, DateTime.now(), actor, idUser, idNotification, notification.toPrimitives())); return notification; } static fromPrimitives(params) { - const notification = new Notification(new IdNotification(params.id), new IdEntity(params.event), NotificationStatus.create(params.status), new IdEntity(params.idUser)); + const notification = new Notification(new IdNotification(params.id), params.eventKey, NotificationStatus.create(params.status), new IdEntity(params.idUser)); notification.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); return notification; } @@ -35,8 +35,8 @@ export default class Notification extends Entity { getId() { return super.getID(); } - getEvent() { - return this.event; + getEventKey() { + return this.eventKey; } getStatus() { return this.status; @@ -47,7 +47,7 @@ export default class Notification extends Entity { toPrimitives() { return { id: this.getId().getID(), - event: this.event.getID(), + eventKey: this.eventKey, status: this.status.getStatus(), idUser: this.getIdUser().getID(), version: super.getVersion().valueOf(), diff --git a/backend/dist/src/modules/notification/core/model/Notification.js.map b/backend/dist/src/modules/notification/core/model/Notification.js.map index ce0421f6..5acf576e 100644 --- a/backend/dist/src/modules/notification/core/model/Notification.js.map +++ b/backend/dist/src/modules/notification/core/model/Notification.js.map @@ -1 +1 @@ -{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/model/Notification.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../../../../src/modules/notification/core/model/Notification.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts new file mode 100644 index 00000000..0e0760d4 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class BackgroundTypeNotSupported extends CoreError { + constructor(backgroundType: string); +} +//# sourceMappingURL=BackgroundTypeNotSupported.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts.map b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts.map new file mode 100644 index 00000000..6064b665 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundTypeNotSupported.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/BackgroundTypeNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,SAAS;gBACnD,cAAc,EAAE,MAAM;CAInC"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js new file mode 100644 index 00000000..9bf43eee --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class BackgroundTypeNotSupported extends CoreError { + constructor(backgroundType) { + super('Project background type is not supported', { backgroundType }); + Object.setPrototypeOf(this, BackgroundTypeNotSupported.prototype); + } +} +//# sourceMappingURL=BackgroundTypeNotSupported.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js.map b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js.map new file mode 100644 index 00000000..f89b53ce --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/BackgroundTypeNotSupported.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundTypeNotSupported.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/BackgroundTypeNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,SAAS;IAC/D,YAAY,cAAsB;QAChC,KAAK,CAAC,0CAA0C,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts new file mode 100644 index 00000000..ca16befb --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class CannotModifyClosedProject extends CoreError { + constructor(projectId: string); +} +//# sourceMappingURL=CannotModifyClosedProject.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts.map b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts.map new file mode 100644 index 00000000..95fd5441 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CannotModifyClosedProject.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/CannotModifyClosedProject.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,SAAS;gBAClD,SAAS,EAAE,MAAM;CAI9B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js new file mode 100644 index 00000000..baa92347 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class CannotModifyClosedProject extends CoreError { + constructor(projectId) { + super('Cannot modify a closed project', { projectId }); + Object.setPrototypeOf(this, CannotModifyClosedProject.prototype); + } +} +//# sourceMappingURL=CannotModifyClosedProject.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js.map b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js.map new file mode 100644 index 00000000..c4b44bc5 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/CannotModifyClosedProject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CannotModifyClosedProject.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/CannotModifyClosedProject.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,SAAS;IAC9D,YAAY,SAAiB;QAC3B,KAAK,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts new file mode 100644 index 00000000..7de32f3c --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectBackgroundColorNotSupported extends CoreError { + constructor(color: string); +} +//# sourceMappingURL=ProjectBackgroundColorNotSupported.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts.map b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts.map new file mode 100644 index 00000000..7ea2582e --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundColorNotSupported.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,kCAAmC,SAAQ,SAAS;gBAC3D,KAAK,EAAE,MAAM;CAI1B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js new file mode 100644 index 00000000..40a964e9 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectBackgroundColorNotSupported extends CoreError { + constructor(color) { + super('Project background color is not supported', { color }); + Object.setPrototypeOf(this, ProjectBackgroundColorNotSupported.prototype); + } +} +//# sourceMappingURL=ProjectBackgroundColorNotSupported.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js.map b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js.map new file mode 100644 index 00000000..6891645c --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundColorNotSupported.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,kCAAmC,SAAQ,SAAS;IACvE,YAAY,KAAa;QACvB,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts new file mode 100644 index 00000000..d4e0679c --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectNeedsToBeClosedBeforeDeleteIt extends CoreError { + constructor(projectId: string); +} +//# sourceMappingURL=ProjectNeedsToBeClosedBeforeDeleteIt.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts.map b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts.map new file mode 100644 index 00000000..dca90e89 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectNeedsToBeClosedBeforeDeleteIt.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,oCAAqC,SAAQ,SAAS;gBAC7D,SAAS,EAAE,MAAM;CAI9B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js new file mode 100644 index 00000000..50556bb2 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectNeedsToBeClosedBeforeDeleteIt extends CoreError { + constructor(projectId) { + super('Project must be closed before being deleted', { projectId }); + Object.setPrototypeOf(this, ProjectNeedsToBeClosedBeforeDeleteIt.prototype); + } +} +//# sourceMappingURL=ProjectNeedsToBeClosedBeforeDeleteIt.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js.map b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js.map new file mode 100644 index 00000000..b94aef4d --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectNeedsToBeClosedBeforeDeleteIt.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,oCAAqC,SAAQ,SAAS;IACzE,YAAY,SAAiB;QAC3B,KAAK,CAAC,6CAA6C,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts new file mode 100644 index 00000000..3dec400f --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectSettingNotSupported extends CoreError { + constructor(setting: string); +} +//# sourceMappingURL=ProjectSettingNotSupported.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts.map b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts.map new file mode 100644 index 00000000..35f46918 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectSettingNotSupported.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectSettingNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,SAAS;gBACnD,OAAO,EAAE,MAAM;CAI5B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js new file mode 100644 index 00000000..096dd0bb --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectSettingNotSupported extends CoreError { + constructor(setting) { + super('Project setting is not supported', { setting }); + Object.setPrototypeOf(this, ProjectSettingNotSupported.prototype); + } +} +//# sourceMappingURL=ProjectSettingNotSupported.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js.map b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js.map new file mode 100644 index 00000000..29b53a63 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectSettingNotSupported.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectSettingNotSupported.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectSettingNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,SAAS;IAC/D,YAAY,OAAe;QACzB,KAAK,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts new file mode 100644 index 00000000..e24e5901 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts @@ -0,0 +1,5 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectStatusNotSupported extends CoreError { + constructor(status: string); +} +//# sourceMappingURL=ProjectStatusNotSupported.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts.map b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts.map new file mode 100644 index 00000000..37ecf62a --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectStatusNotSupported.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectStatusNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,SAAS;gBAClD,MAAM,EAAE,MAAM;CAI3B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js new file mode 100644 index 00000000..fe23f4c6 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; +export default class ProjectStatusNotSupported extends CoreError { + constructor(status) { + super('Project status is not supported', { status }); + Object.setPrototypeOf(this, ProjectStatusNotSupported.prototype); + } +} +//# sourceMappingURL=ProjectStatusNotSupported.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js.map b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js.map new file mode 100644 index 00000000..05145b97 --- /dev/null +++ b/backend/dist/src/modules/project/core/errors/ProjectStatusNotSupported.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectStatusNotSupported.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/errors/ProjectStatusNotSupported.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,SAAS;IAC9D,YAAY,MAAc;QACxB,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts new file mode 100644 index 00000000..9660e0c7 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type PositiveInteger from '../../../shared/core/objects/PositiveInteger'; +import type ListId from '../../../list/core/object/ListId'; +import type ProjectId from '../objects/ProjectId'; +export default class ListMovedWithinProject extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, idList: ListId, newPosition: PositiveInteger); +} +//# sourceMappingURL=ListMovedWithinProject.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts.map b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts.map new file mode 100644 index 00000000..3c4d7e37 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ListMovedWithinProject.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ListMovedWithinProject.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,eAAe,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAC3D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;gBAE3D,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,eAAe;CAI/B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js new file mode 100644 index 00000000..cedb957c --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ListMovedWithinProject extends DomainEvent { + constructor(key, date, actor, idProject, idList, newPosition) { + super(key, date, actor, idProject, idProject, 'LIST_MOVED_WITHIN_PROJECT', { idList, newPosition }); + } +} +//# sourceMappingURL=ListMovedWithinProject.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js.map b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js.map new file mode 100644 index 00000000..c265774f --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ListMovedWithinProject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ListMovedWithinProject.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ListMovedWithinProject.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,YACE,GAAW,EACX,IAAc,EACd,KAAe,EACf,SAAoB,EACpB,MAAc,EACd,WAA4B;QAE5B,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,2BAA2B,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACtG,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts new file mode 100644 index 00000000..543e66ae --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; +export default class ProjectAddMemberSettingsUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting); +} +//# sourceMappingURL=ProjectAddMemberSettingsUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts.map new file mode 100644 index 00000000..ff6fe76a --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectAddMemberSettingsUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,+BAAgC,SAAQ,WAAW;gBAC1D,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc;CAGxG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js new file mode 100644 index 00000000..dcd44c60 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectAddMemberSettingsUpdated extends DomainEvent { + constructor(key, date, actor, idProject, setting) { + super(key, date, actor, idProject, idProject, 'PROJECT_ADD_MEMBER_SETTINGS_UPDATED', setting); + } +} +//# sourceMappingURL=ProjectAddMemberSettingsUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js.map new file mode 100644 index 00000000..7dde87d1 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectAddMemberSettingsUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,+BAAgC,SAAQ,WAAW;IACtE,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,OAAuB;QACrG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qCAAqC,EAAE,OAAO,CAAC,CAAC;IAChG,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts new file mode 100644 index 00000000..6e501718 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectBackGroundImage from '../objects/ProjectBackGroundImage'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectBackgroundImageUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, image: ProjectBackGroundImage); +} +//# sourceMappingURL=ProjectBackgroundImageUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts.map new file mode 100644 index 00000000..bc064a82 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundImageUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectBackgroundImageUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,WAAW;gBACxD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB;CAG9G"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js new file mode 100644 index 00000000..a2e7fded --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectBackgroundImageUpdated extends DomainEvent { + constructor(key, date, actor, idProject, image) { + super(key, date, actor, idProject, idProject, 'PROJECT_BACKGROUND_IMAGE_UPDATED', image); + } +} +//# sourceMappingURL=ProjectBackgroundImageUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js.map new file mode 100644 index 00000000..09f4a15d --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectBackgroundImageUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundImageUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectBackgroundImageUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,WAAW;IACpE,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,KAA6B;QAC3G,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts b/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts new file mode 100644 index 00000000..c6da7796 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectClosed extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectClosed.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts.map new file mode 100644 index 00000000..4cef20bd --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectClosed.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectClosed.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectClosed.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;gBACxC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectClosed.js b/backend/dist/src/modules/project/core/events/ProjectClosed.js new file mode 100644 index 00000000..33517180 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectClosed.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectClosed extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_CLOSED'); + } +} +//# sourceMappingURL=ProjectClosed.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectClosed.js.map b/backend/dist/src/modules/project/core/events/ProjectClosed.js.map new file mode 100644 index 00000000..15d6ed15 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectClosed.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectClosed.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectClosed.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts new file mode 100644 index 00000000..ddb22114 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectBackGroundColor from '../objects/ProjectBackGroundColor'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectColorUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, color: ProjectBackGroundColor); +} +//# sourceMappingURL=ProjectColorUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts.map new file mode 100644 index 00000000..5c4f54db --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectColorUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectColorUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,sBAAsB,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;gBAC9C,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB;CAG9G"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js new file mode 100644 index 00000000..a264b169 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectColorUpdated extends DomainEvent { + constructor(key, date, actor, idProject, color) { + super(key, date, actor, idProject, idProject, 'PROJECT_COLOR_UPDATED', color); + } +} +//# sourceMappingURL=ProjectColorUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js.map new file mode 100644 index 00000000..a65dce1e --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectColorUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectColorUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectColorUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,WAAW;IAC1D,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,KAA6B;QAC3G,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts new file mode 100644 index 00000000..7c82b2f1 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectCommentImmutableSetupTo extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, inmutableComment: boolean); +} +//# sourceMappingURL=ProjectCommentImmutableSetupTo.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts.map new file mode 100644 index 00000000..b1d66951 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCommentImmutableSetupTo.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,WAAW;gBACzD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO;CAG1G"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js new file mode 100644 index 00000000..a8cb8f7a --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectCommentImmutableSetupTo extends DomainEvent { + constructor(key, date, actor, idProject, inmutableComment) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMMENT_IMMUTABLE_SETUP_TO', inmutableComment); + } +} +//# sourceMappingURL=ProjectCommentImmutableSetupTo.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js.map b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js.map new file mode 100644 index 00000000..59164f46 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentImmutableSetupTo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCommentImmutableSetupTo.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,WAAW;IACrE,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,gBAAyB;QACvG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;IACxG,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts new file mode 100644 index 00000000..500213dc --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; +export default class ProjectCommentSettingsUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting); +} +//# sourceMappingURL=ProjectCommentSettingsUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts.map new file mode 100644 index 00000000..2dbc536d --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCommentSettingsUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCommentSettingsUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,WAAW;gBACxD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc;CAGxG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js new file mode 100644 index 00000000..bc697186 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectCommentSettingsUpdated extends DomainEvent { + constructor(key, date, actor, idProject, setting) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMMENT_SETTINGS_UPDATED', setting); + } +} +//# sourceMappingURL=ProjectCommentSettingsUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js.map new file mode 100644 index 00000000..9d819921 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCommentSettingsUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCommentSettingsUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCommentSettingsUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,WAAW;IACpE,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,OAAuB;QACrG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,kCAAkC,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts new file mode 100644 index 00000000..d7aa2fa4 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectCompletedTasksVisibilityUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, showCompletedTasks: boolean); +} +//# sourceMappingURL=ProjectCompletedTasksVisibilityUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts.map new file mode 100644 index 00000000..c6c06692 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCompletedTasksVisibilityUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,sCAAuC,SAAQ,WAAW;gBACjE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO;CAG5G"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js new file mode 100644 index 00000000..a01eaaef --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectCompletedTasksVisibilityUpdated extends DomainEvent { + constructor(key, date, actor, idProject, showCompletedTasks) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMPLETED_TASKS_VISIBILITY_UPDATED', showCompletedTasks); + } +} +//# sourceMappingURL=ProjectCompletedTasksVisibilityUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js.map new file mode 100644 index 00000000..a8aee3ec --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCompletedTasksVisibilityUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,sCAAuC,SAAQ,WAAW;IAC7E,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,kBAA2B;QACzG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,4CAA4C,EAAE,kBAAkB,CAAC,CAAC;IAClH,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts new file mode 100644 index 00000000..e6b996db --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; +export default class ProjectCreateResourceSettingUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting); +} +//# sourceMappingURL=ProjectCreateResourceSettingUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts.map new file mode 100644 index 00000000..45af12de --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCreateResourceSettingUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,mCAAoC,SAAQ,WAAW;gBAC9D,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc;CAGxG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js new file mode 100644 index 00000000..b6eb6a54 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectCreateResourceSettingUpdated extends DomainEvent { + constructor(key, date, actor, idProject, setting) { + super(key, date, actor, idProject, idProject, 'PROJECT_CREATE_RESOURCE_SETTING_UPDATED', setting); + } +} +//# sourceMappingURL=ProjectCreateResourceSettingUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js.map new file mode 100644 index 00000000..02baf263 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCreateResourceSettingUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,mCAAoC,SAAQ,WAAW;IAC1E,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,OAAuB;QACrG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,yCAAyC,EAAE,OAAO,CAAC,CAAC;IACpG,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts b/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts new file mode 100644 index 00000000..4948471e --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectParams from '../interfaces/ProjectParams'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectCreated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, projectParams: ProjectParams); +} +//# sourceMappingURL=ProjectCreated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts.map new file mode 100644 index 00000000..58bfcf4c --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCreated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCreated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;gBAEnD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa;CAI/B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreated.js b/backend/dist/src/modules/project/core/events/ProjectCreated.js new file mode 100644 index 00000000..7d9a9648 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectCreated extends DomainEvent { + constructor(key, date, actor, idProject, projectParams) { + super(key, date, actor, idProject, idProject, 'PROJECT_CREATED', projectParams); + } +} +//# sourceMappingURL=ProjectCreated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectCreated.js.map b/backend/dist/src/modules/project/core/events/ProjectCreated.js.map new file mode 100644 index 00000000..20b5ad19 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectCreated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectCreated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectCreated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,YACE,GAAW,EACX,IAAc,EACd,KAAe,EACf,SAAoB,EACpB,aAA4B;QAE5B,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAClF,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts b/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts new file mode 100644 index 00000000..8dc32480 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectDeleted extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectDeleted.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts.map new file mode 100644 index 00000000..7be8cd7a --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDeleted.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDeleted.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectDeleted.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;gBACzC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDeleted.js b/backend/dist/src/modules/project/core/events/ProjectDeleted.js new file mode 100644 index 00000000..368805b3 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDeleted.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectDeleted extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_DELETED'); + } +} +//# sourceMappingURL=ProjectDeleted.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDeleted.js.map b/backend/dist/src/modules/project/core/events/ProjectDeleted.js.map new file mode 100644 index 00000000..4c17f757 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDeleted.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDeleted.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectDeleted.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts new file mode 100644 index 00000000..1ad9b51d --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type None from '../../../shared/core/objects/None'; +import type ProjectDescription from '../objects/ProjectDescription'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectDescriptionUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, newDescription: ProjectDescription | None); +} +//# sourceMappingURL=ProjectDescriptionUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts.map new file mode 100644 index 00000000..294a3535 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDescriptionUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectDescriptionUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,IAAI,MAAM,mCAAmC,CAAC;AAC1D,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,WAAW;gBAE9D,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,kBAAkB,GAAG,IAAI;CAI5C"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js new file mode 100644 index 00000000..71d81f74 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectDescriptionUpdated extends DomainEvent { + constructor(key, date, actor, idProject, newDescription) { + super(key, date, actor, idProject, idProject, 'PROJECT_DESCRIPTION_UPDATED', newDescription); + } +} +//# sourceMappingURL=ProjectDescriptionUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js.map new file mode 100644 index 00000000..8b5b904f --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectDescriptionUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDescriptionUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectDescriptionUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,WAAW;IAChE,YACE,GAAW,EACX,IAAc,EACd,KAAe,EACf,SAAoB,EACpB,cAAyC;QAEzC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,6BAA6B,EAAE,cAAc,CAAC,CAAC;IAC/F,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts new file mode 100644 index 00000000..44bc11d8 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectMarkedAsFavorite extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectMarkedAsFavorite.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts.map new file mode 100644 index 00000000..00660e75 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectMarkedAsFavorite.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectMarkedAsFavorite.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,WAAW;gBAClD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js new file mode 100644 index 00000000..69a3e78e --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectMarkedAsFavorite extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_MARKED_AS_FAVORITE'); + } +} +//# sourceMappingURL=ProjectMarkedAsFavorite.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js.map b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js.map new file mode 100644 index 00000000..592bb0a8 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectMarkedAsFavorite.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectMarkedAsFavorite.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectMarkedAsFavorite.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,WAAW;IAC9D,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;IAC9E,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts new file mode 100644 index 00000000..8cb6696d --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts @@ -0,0 +1,9 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectName from '../objects/ProjectName'; +export default class ProjectNameUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, newName: ProjectName); +} +//# sourceMappingURL=ProjectNameUpdated.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts.map new file mode 100644 index 00000000..233c594a --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectNameUpdated.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectNameUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;gBAC7C,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;CAGrG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js new file mode 100644 index 00000000..e76fc512 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectNameUpdated extends DomainEvent { + constructor(key, date, actor, idProject, newName) { + super(key, date, actor, idProject, idProject, 'PROJECT_NAME_UPDATED', newName); + } +} +//# sourceMappingURL=ProjectNameUpdated.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js.map b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js.map new file mode 100644 index 00000000..ec08453b --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectNameUpdated.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectNameUpdated.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectNameUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAMlE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB,EAAE,OAAoB;QAClG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts new file mode 100644 index 00000000..f28d7c66 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectUnmarkedAsFavorite extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectUnmarkedAsFavorite.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts.map new file mode 100644 index 00000000..9e942606 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectUnmarkedAsFavorite.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectUnmarkedAsFavorite.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,WAAW;gBACpD,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js new file mode 100644 index 00000000..76413527 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectUnmarkedAsFavorite extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_UNMARKED_AS_FAVORITE'); + } +} +//# sourceMappingURL=ProjectUnmarkedAsFavorite.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js.map b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js.map new file mode 100644 index 00000000..af4ca15d --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnmarkedAsFavorite.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectUnmarkedAsFavorite.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectUnmarkedAsFavorite.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,WAAW;IAChE,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;IAChF,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts b/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts new file mode 100644 index 00000000..d15faa38 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectUnwatched extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectUnwatched.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts.map new file mode 100644 index 00000000..b702fe51 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnwatched.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectUnwatched.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectUnwatched.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;gBAC3C,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnwatched.js b/backend/dist/src/modules/project/core/events/ProjectUnwatched.js new file mode 100644 index 00000000..260ceadd --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnwatched.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectUnwatched extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_UNWATCHED'); + } +} +//# sourceMappingURL=ProjectUnwatched.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectUnwatched.js.map b/backend/dist/src/modules/project/core/events/ProjectUnwatched.js.map new file mode 100644 index 00000000..93be9600 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectUnwatched.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectUnwatched.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectUnwatched.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts b/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts new file mode 100644 index 00000000..48b0a845 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts @@ -0,0 +1,8 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +export default class ProjectWatched extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId); +} +//# sourceMappingURL=ProjectWatched.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts.map b/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts.map new file mode 100644 index 00000000..838d1524 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectWatched.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectWatched.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectWatched.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;gBACzC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;CAG/E"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectWatched.js b/backend/dist/src/modules/project/core/events/ProjectWatched.js new file mode 100644 index 00000000..011e8a66 --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectWatched.js @@ -0,0 +1,7 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +export default class ProjectWatched extends DomainEvent { + constructor(key, date, actor, idProject) { + super(key, date, actor, idProject, idProject, 'PROJECT_WATCHED'); + } +} +//# sourceMappingURL=ProjectWatched.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/events/ProjectWatched.js.map b/backend/dist/src/modules/project/core/events/ProjectWatched.js.map new file mode 100644 index 00000000..42b706ce --- /dev/null +++ b/backend/dist/src/modules/project/core/events/ProjectWatched.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectWatched.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/events/ProjectWatched.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yCAAyC,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,YAAY,GAAW,EAAE,IAAc,EAAE,KAAe,EAAE,SAAoB;QAC5E,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts new file mode 100644 index 00000000..da8aa4a5 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts @@ -0,0 +1,8 @@ +import type { AllowedAttachments } from '../../../shared/core/types/AllowedAttachment.types'; +export default interface ProjectBackgroundImageParams { + url: string; + type: AllowedAttachments; + name: string; + size: number; +} +//# sourceMappingURL=ProjectBackgroundImageParams.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts.map b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts.map new file mode 100644 index 00000000..de0b9eea --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundImageParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAE7F,MAAM,CAAC,OAAO,WAAW,4BAA4B;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js new file mode 100644 index 00000000..4114b321 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ProjectBackgroundImageParams.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js.map b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js.map new file mode 100644 index 00000000..317f8d50 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectBackgroundImageParams.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackgroundImageParams.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts b/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts new file mode 100644 index 00000000..4f2a55f3 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts @@ -0,0 +1,23 @@ +import type List from '../../../list/core/model/List'; +import type { AllowedColors } from '../../../shared/core/types/AllowedColors'; +import type { AllowedBackgroundType } from '../types/AllowedBackgroundType'; +import type { AllowedProjectSetting } from '../types/AllowedProjectSetting'; +import type { AllowedProjectStatus } from '../types/AllowedProjectStatus'; +import type ProjectBackgroundImageParams from './ProjectBackgroundImageParams'; +export default interface ProjectParams { + id: string; + status: AllowedProjectStatus; + projectName: string; + projectDescription: string | null; + background: ProjectBackgroundImageParams | AllowedColors; + backgroundType: AllowedBackgroundType; + lists: List[]; + commentAuthorization: AllowedProjectSetting; + inmutableComment: boolean; + addMemberSettings: AllowedProjectSetting; + createResourcesSettings: AllowedProjectSetting; + showCompletedTasks: boolean; + version: number; + deletedAt: Date | null; +} +//# sourceMappingURL=ProjectParams.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts.map b/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts.map new file mode 100644 index 00000000..4499acc3 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectParams.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/interfaces/ProjectParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,4BAA4B,MAAM,gCAAgC,CAAC;AAE/E,MAAM,CAAC,OAAO,WAAW,aAAa;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,4BAA4B,GAAG,aAAa,CAAC;IACzD,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,uBAAuB,EAAE,qBAAqB,CAAC;IAC/C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectParams.js b/backend/dist/src/modules/project/core/interfaces/ProjectParams.js new file mode 100644 index 00000000..8588d422 --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectParams.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ProjectParams.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/interfaces/ProjectParams.js.map b/backend/dist/src/modules/project/core/interfaces/ProjectParams.js.map new file mode 100644 index 00000000..8bf5c42f --- /dev/null +++ b/backend/dist/src/modules/project/core/interfaces/ProjectParams.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectParams.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/interfaces/ProjectParams.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/model/Project.d.ts b/backend/dist/src/modules/project/core/model/Project.d.ts new file mode 100644 index 00000000..110252f7 --- /dev/null +++ b/backend/dist/src/modules/project/core/model/Project.d.ts @@ -0,0 +1,58 @@ +import List from '../../../list/core/model/List'; +import Entity from '../../../shared/core/model/Entity'; +import IdEntity from '../../../shared/core/objects/IdEntity'; +import None from '../../../shared/core/objects/None'; +import type ProjectParams from '../interfaces/ProjectParams'; +import BackgroundType from '../objects/BackgroundType'; +import ProjectBackGroundColor from '../objects/ProjectBackGroundColor'; +import ProjectBackGroundImage from '../objects/ProjectBackGroundImage'; +import ProjectDescription from '../objects/ProjectDescription'; +import ProjectId from '../objects/ProjectId'; +import ProjectName from '../objects/ProjectName'; +import ProjectSetting from '../objects/ProjectSetting'; +import ProjectStatus from '../objects/ProjectStatus'; +export default class Project extends Entity { + private readonly id; + private status; + private projectName; + private projectDescription; + private background; + private backgroundType; + private lists; + private commentAuthorization; + private inmutableComment; + private addMemberSettings; + private createResourcesSettings; + private showCompletedTasks; + private constructor(); + static create(id: ProjectId, projectName: ProjectName, projectDescription: ProjectDescription | None, background: ProjectBackGroundImage | ProjectBackGroundColor, backgroundType: BackgroundType, lists: List[], commentAuthorization: ProjectSetting, inmutableComment: boolean, addMemberSettings: ProjectSetting, createResourcesSettings: ProjectSetting, showCompletedTasks: boolean, actor: IdEntity, key: string): Project; + static fromPrimitives(params: ProjectParams): Project; + close(key: string, actor: IdEntity): void; + delete(key: string, actor: IdEntity): void; + updateProjectName(projectName: ProjectName, key: string, actor: IdEntity): void; + updateProjectDescription(projectDescription: ProjectDescription | None, key: string, actor: IdEntity): void; + updateProjectImage(background: ProjectBackGroundImage, key: string, actor: IdEntity): void; + updateProjectColor(background: ProjectBackGroundColor, key: string, actor: IdEntity): void; + changeCommentSettings(commentAuthorization: ProjectSetting, key: string, actor: IdEntity): void; + changeAddMemberSettings(addMemberSettings: ProjectSetting, key: string, actor: IdEntity): void; + changeResourceCreationSettings(createResourcesSettings: ProjectSetting, key: string, actor: IdEntity): void; + changeImmutableCommentSettings(inmutableComment: boolean, key: string, actor: IdEntity): void; + showCompletedTaskEvents(key: string, actor: IdEntity): void; + unshowCompletedTaskEvents(key: string, actor: IdEntity): void; + getId(): ProjectId; + getStatus(): ProjectStatus; + getProjectName(): ProjectName; + getProjectDescription(): ProjectDescription | None; + getBackground(): ProjectBackGroundImage | ProjectBackGroundColor; + getBackgroundType(): BackgroundType; + getLists(): List[]; + getCommentAuthorization(): ProjectSetting; + isCommentInmutable(): boolean; + getAddMemberSettings(): ProjectSetting; + getCreateResourcesSettings(): ProjectSetting; + shouldShowCompletedTasks(): boolean; + toPrimitives(): ProjectParams; + private ensureCanBeModified; + private ensureBackgroundMatchesType; +} +//# sourceMappingURL=Project.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/model/Project.d.ts.map b/backend/dist/src/modules/project/core/model/Project.d.ts.map new file mode 100644 index 00000000..7f1ccc29 --- /dev/null +++ b/backend/dist/src/modules/project/core/model/Project.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/model/Project.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/model/Project.js b/backend/dist/src/modules/project/core/model/Project.js new file mode 100644 index 00000000..8d44ae75 --- /dev/null +++ b/backend/dist/src/modules/project/core/model/Project.js @@ -0,0 +1,211 @@ +import List from '../../../list/core/model/List'; +import Entity from '../../../shared/core/model/Entity'; +import DateTime from '../../../shared/core/objects/DateTime'; +import DeletedAt from '../../../shared/core/objects/DeletedAt'; +import IdEntity from '../../../shared/core/objects/IdEntity'; +import None from '../../../shared/core/objects/None'; +import Version from '../../../shared/core/objects/Version'; +import Attachment from '../../../shared/core/objects/Attachment'; +import IntNumber from '../../../shared/core/objects/IntNumber'; +import Text from '../../../shared/core/objects/Text'; +import Url from '../../../shared/core/objects/URL'; +import InvalidOperation from '../../../shared/core/errors/InvalidOperation'; +import ProjectAddMemberSettingsUpdated from '../events/ProjectAddMemberSettingsUpdated'; +import ProjectBackgroundImageUpdated from '../events/ProjectBackgroundImageUpdated'; +import ProjectClosed from '../events/ProjectClosed'; +import ProjectColorUpdated from '../events/ProjectColorUpdated'; +import ProjectCommentImmutableSetupTo from '../events/ProjectCommentImmutableSetupTo'; +import ProjectCommentSettingsUpdated from '../events/ProjectCommentSettingsUpdated'; +import ProjectCompletedTasksVisibilityUpdated from '../events/ProjectCompletedTasksVisibilityUpdated'; +import ProjectCreateResourceSettingUpdated from '../events/ProjectCreateResourceSettingUpdated'; +import ProjectCreated from '../events/ProjectCreated'; +import ProjectDeleted from '../events/ProjectDeleted'; +import ProjectDescriptionUpdated from '../events/ProjectDescriptionUpdated'; +import ProjectNameUpdated from '../events/ProjectNameUpdated'; +import CannotModifyClosedProject from '../errors/CannotModifyClosedProject'; +import ProjectNeedsToBeClosedBeforeDeleteIt from '../errors/ProjectNeedsToBeClosedBeforeDeleteIt'; +import BackgroundType from '../objects/BackgroundType'; +import ProjectBackGroundColor from '../objects/ProjectBackGroundColor'; +import ProjectBackGroundImage from '../objects/ProjectBackGroundImage'; +import ProjectDescription from '../objects/ProjectDescription'; +import ProjectId from '../objects/ProjectId'; +import ProjectName from '../objects/ProjectName'; +import ProjectSetting from '../objects/ProjectSetting'; +import ProjectStatus from '../objects/ProjectStatus'; +import { AllowedBackgroundType } from '../types/AllowedBackgroundType'; +import { AllowedColors } from '../../../shared/core/types/AllowedColors'; +export default class Project extends Entity { + constructor(id, status, projectName, projectDescription, background, backgroundType, lists, commentAuthorization, inmutableComment, addMemberSettings, createResourcesSettings, showCompletedTasks) { + super(id, id); + this.id = id; + this.status = status; + this.projectName = projectName; + this.projectDescription = projectDescription; + this.background = background; + this.backgroundType = backgroundType; + this.lists = lists; + this.commentAuthorization = commentAuthorization; + this.inmutableComment = inmutableComment; + this.addMemberSettings = addMemberSettings; + this.createResourcesSettings = createResourcesSettings; + this.showCompletedTasks = showCompletedTasks; + this.ensureBackgroundMatchesType(); + } + static create(id, projectName, projectDescription, background, backgroundType, lists, commentAuthorization, inmutableComment, addMemberSettings, createResourcesSettings, showCompletedTasks, actor, key) { + const project = new Project(id, ProjectStatus.open(), projectName, projectDescription, background, backgroundType, lists, commentAuthorization, inmutableComment, addMemberSettings, createResourcesSettings, showCompletedTasks); + project.create(); + project.addEvent(new ProjectCreated(key, DateTime.now(), actor, id, project.toPrimitives())); + return project; + } + static fromPrimitives(params) { + const id = new ProjectId(params.id); + const backgroundType = BackgroundType.create(params.backgroundType); + const imageParams = params.background; + const background = backgroundType.isImage() + ? new ProjectBackGroundImage(new Attachment(new Url(imageParams.url), imageParams.type, new Text(imageParams.name), new IntNumber(imageParams.size))) + : new ProjectBackGroundColor(params.background); + const project = new Project(id, ProjectStatus.create(params.status), new ProjectName(params.projectName), params.projectDescription ? new ProjectDescription(params.projectDescription) : new None(), background, backgroundType, params.lists, new ProjectSetting(params.commentAuthorization), params.inmutableComment, new ProjectSetting(params.addMemberSettings), new ProjectSetting(params.createResourcesSettings), params.showCompletedTasks); + project.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + return project; + } + close(key, actor) { + if (this.status.isClosed()) + return; + this.status = ProjectStatus.closed(); + this.addEvent(new ProjectClosed(key, DateTime.now(), actor, this.id)); + } + delete(key, actor) { + if (!this.status.isClosed()) + throw new ProjectNeedsToBeClosedBeforeDeleteIt(this.id.getID()); + this.addEvent(new ProjectDeleted(key, DateTime.now(), actor, this.id)); + super.softDelete(); + } + updateProjectName(projectName, key, actor) { + this.ensureCanBeModified(); + this.projectName = projectName; + this.addEvent(new ProjectNameUpdated(key, DateTime.now(), actor, this.id, projectName)); + } + updateProjectDescription(projectDescription, key, actor) { + this.ensureCanBeModified(); + this.projectDescription = projectDescription; + this.addEvent(new ProjectDescriptionUpdated(key, DateTime.now(), actor, this.id, projectDescription)); + } + updateProjectImage(background, key, actor) { + this.ensureCanBeModified(); + this.background = background; + this.backgroundType = BackgroundType.image(); + this.addEvent(new ProjectBackgroundImageUpdated(key, DateTime.now(), actor, this.id, background)); + } + updateProjectColor(background, key, actor) { + this.ensureCanBeModified(); + this.background = background; + this.backgroundType = BackgroundType.color(); + this.addEvent(new ProjectColorUpdated(key, DateTime.now(), actor, this.id, background)); + } + changeCommentSettings(commentAuthorization, key, actor) { + this.ensureCanBeModified(); + this.commentAuthorization = commentAuthorization; + this.addEvent(new ProjectCommentSettingsUpdated(key, DateTime.now(), actor, this.id, commentAuthorization)); + } + changeAddMemberSettings(addMemberSettings, key, actor) { + this.ensureCanBeModified(); + this.addMemberSettings = addMemberSettings; + this.addEvent(new ProjectAddMemberSettingsUpdated(key, DateTime.now(), actor, this.id, addMemberSettings)); + } + changeResourceCreationSettings(createResourcesSettings, key, actor) { + this.ensureCanBeModified(); + this.createResourcesSettings = createResourcesSettings; + this.addEvent(new ProjectCreateResourceSettingUpdated(key, DateTime.now(), actor, this.id, createResourcesSettings)); + } + changeImmutableCommentSettings(inmutableComment, key, actor) { + this.ensureCanBeModified(); + this.inmutableComment = inmutableComment; + this.addEvent(new ProjectCommentImmutableSetupTo(key, DateTime.now(), actor, this.id, inmutableComment)); + } + showCompletedTaskEvents(key, actor) { + this.ensureCanBeModified(); + if (this.showCompletedTasks) + return; + this.showCompletedTasks = true; + this.addEvent(new ProjectCompletedTasksVisibilityUpdated(key, DateTime.now(), actor, this.id, this.showCompletedTasks)); + } + unshowCompletedTaskEvents(key, actor) { + this.ensureCanBeModified(); + if (!this.showCompletedTasks) + return; + this.showCompletedTasks = false; + this.addEvent(new ProjectCompletedTasksVisibilityUpdated(key, DateTime.now(), actor, this.id, this.showCompletedTasks)); + } + getId() { + return this.id; + } + getStatus() { + return this.status; + } + getProjectName() { + return this.projectName; + } + getProjectDescription() { + return this.projectDescription; + } + getBackground() { + return this.background; + } + getBackgroundType() { + return this.backgroundType; + } + getLists() { + return [...this.lists]; + } + getCommentAuthorization() { + return this.commentAuthorization; + } + isCommentInmutable() { + return this.inmutableComment; + } + getAddMemberSettings() { + return this.addMemberSettings; + } + getCreateResourcesSettings() { + return this.createResourcesSettings; + } + shouldShowCompletedTasks() { + return this.showCompletedTasks; + } + toPrimitives() { + return { + id: this.id.getID(), + status: this.status.getStatus(), + projectName: this.projectName.getName(), + projectDescription: this.projectDescription instanceof None ? null : this.projectDescription.getDescription(), + background: this.background instanceof ProjectBackGroundImage ? { + url: this.background.getImage().getUrl().getUrl(), + type: this.background.getImage().getType(), + name: this.background.getImage().getName().getText(), + size: this.background.getImage().getSize().getValue(), + } : this.background.getColor(), + backgroundType: this.backgroundType.getType(), + lists: this.lists, + commentAuthorization: this.commentAuthorization.getSetting(), + inmutableComment: this.inmutableComment, + addMemberSettings: this.addMemberSettings.getSetting(), + createResourcesSettings: this.createResourcesSettings.getSetting(), + showCompletedTasks: this.showCompletedTasks, + version: super.getVersion().valueOf(), + deletedAt: super.getDeletedAt().toPrimitive(), + }; + } + ensureCanBeModified() { + if (this.status.isClosed()) + throw new CannotModifyClosedProject(this.id.getID()); + } + ensureBackgroundMatchesType() { + if (this.backgroundType.isImage() && !(this.background instanceof ProjectBackGroundImage)) { + throw new InvalidOperation('Project background must be an image when background type is IMAGE'); + } + if (this.backgroundType.isColor() && !(this.background instanceof ProjectBackGroundColor)) { + throw new InvalidOperation('Project background must be a color when background type is COLOR'); + } + } +} +//# sourceMappingURL=Project.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/model/Project.js.map b/backend/dist/src/modules/project/core/model/Project.js.map new file mode 100644 index 00000000..89f880f8 --- /dev/null +++ b/backend/dist/src/modules/project/core/model/Project.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Project.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/model/Project.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,SAAS,MAAM,wCAAwC,CAAC;AAC/D,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,IAAI,MAAM,mCAAmC,CAAC;AACrD,OAAO,OAAO,MAAM,sCAAsC,CAAC;AAC3D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,SAAS,MAAM,wCAAwC,CAAC;AAC/D,OAAO,IAAI,MAAM,mCAAmC,CAAC;AACrD,OAAO,GAAG,MAAM,kCAAkC,CAAC;AACnD,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,+BAA+B,MAAM,2CAA2C,CAAC;AACxF,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,8BAA8B,MAAM,0CAA0C,CAAC;AACtF,OAAO,6BAA6B,MAAM,yCAAyC,CAAC;AACpF,OAAO,sCAAsC,MAAM,kDAAkD,CAAC;AACtG,OAAO,mCAAmC,MAAM,+CAA+C,CAAC;AAChG,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,oCAAoC,MAAM,gDAAgD,CAAC;AAElG,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAIzE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IAczC,YACE,EAAa,EACb,MAAqB,EACrB,WAAwB,EACxB,kBAA6C,EAC7C,UAA2D,EAC3D,cAA8B,EAC9B,KAAa,EACb,oBAAoC,EACpC,gBAAyB,EACzB,iBAAiC,EACjC,uBAAuC,EACvC,kBAA2B;QAE3B,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAClB,EAAa,EACb,WAAwB,EACxB,kBAA6C,EAC7C,UAA2D,EAC3D,cAA8B,EAC9B,KAAa,EACb,oBAAoC,EACpC,gBAAyB,EACzB,iBAAiC,EACjC,uBAAuC,EACvC,kBAA2B,EAC3B,KAAe,EACf,GAAW;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,EAAE,EACF,aAAa,CAAC,IAAI,EAAE,EACpB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,KAAK,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;QAEF,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,MAAqB;QAChD,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,CAAC,UAA0C,CAAC;QACtE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE;YACzC,CAAC,CAAC,IAAI,sBAAsB,CAAC,IAAI,UAAU,CACzC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EACxB,WAAW,CAAC,IAA0B,EACtC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC1B,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAChC,CAAC;YACF,CAAC,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,UAA2B,CAAC,CAAC;QAEnE,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,EAAE,EACF,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACnC,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EACnC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAC1F,UAAU,EACV,cAAc,EACd,MAAM,CAAC,KAAK,EACZ,IAAI,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAC/C,MAAM,CAAC,gBAAgB,EACvB,IAAI,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAC5C,IAAI,cAAc,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAClD,MAAM,CAAC,kBAAkB,CAC1B,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,GAAW,EAAE,KAAe;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAAE,OAAO;QACnC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,GAAW,EAAE,KAAe;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAAE,MAAM,IAAI,oCAAoC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,KAAK,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC;IAEM,iBAAiB,CAAC,WAAwB,EAAE,GAAW,EAAE,KAAe;QAC7E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,wBAAwB,CAAC,kBAA6C,EAAE,GAAW,EAAE,KAAe;QACzG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACxG,CAAC;IAEM,kBAAkB,CAAC,UAAkC,EAAE,GAAW,EAAE,KAAe;QACxF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACpG,CAAC;IAEM,kBAAkB,CAAC,UAAkC,EAAE,GAAW,EAAE,KAAe;QACxF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,qBAAqB,CAAC,oBAAoC,EAAE,GAAW,EAAE,KAAe;QAC7F,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEM,uBAAuB,CAAC,iBAAiC,EAAE,GAAW,EAAE,KAAe;QAC5F,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7G,CAAC;IAEM,8BAA8B,CAAC,uBAAuC,EAAE,GAAW,EAAE,KAAe;QACzG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,mCAAmC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACvH,CAAC;IAEM,8BAA8B,CAAC,gBAAyB,EAAE,GAAW,EAAE,KAAe;QAC3F,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3G,CAAC;IAEM,uBAAuB,CAAC,GAAW,EAAE,KAAe;QACzD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,sCAAsC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1H,CAAC;IAEM,yBAAyB,CAAC,GAAW,EAAE,KAAe;QAC3D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,sCAAsC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1H,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,0BAA0B;QAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,wBAAwB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YAC7G,UAAU,EAAE,IAAI,CAAC,UAAU,YAAY,sBAAsB,CAAC,CAAC,CAAC;gBAC9D,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;gBACjD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;gBAC1C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;gBACpD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE;YAC5D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;YACtD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE;YAClE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;YACrC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE;SAC9C,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAAE,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IAEO,2BAA2B;QACjC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,sBAAsB,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,gBAAgB,CAAC,mEAAmE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,sBAAsB,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,gBAAgB,CAAC,kEAAkE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts b/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts new file mode 100644 index 00000000..cf2570a8 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts @@ -0,0 +1,13 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { AllowedBackgroundType } from '../types/AllowedBackgroundType'; +export default class BackgroundType extends ValueObject { + private type; + private constructor(); + static create(type: AllowedBackgroundType): BackgroundType; + static image(): BackgroundType; + static color(): BackgroundType; + getType(): AllowedBackgroundType; + isImage(): boolean; + isColor(): boolean; +} +//# sourceMappingURL=BackgroundType.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts.map b/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts.map new file mode 100644 index 00000000..c53dcc0c --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/BackgroundType.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundType.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/BackgroundType.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,OAAO,CAAC,IAAI,CAAyB;IAErC,OAAO;WAMO,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc;WAInD,KAAK,IAAI,cAAc;WAIvB,KAAK,IAAI,cAAc;IAI9B,OAAO,IAAI,qBAAqB;IAIhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;CAG1B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/BackgroundType.js b/backend/dist/src/modules/project/core/objects/BackgroundType.js new file mode 100644 index 00000000..2300797d --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/BackgroundType.js @@ -0,0 +1,30 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import BackgroundTypeNotSupported from '../errors/BackgroundTypeNotSupported'; +import { ALLOWED_BACKGROUND_TYPE, AllowedBackgroundType } from '../types/AllowedBackgroundType'; +export default class BackgroundType extends ValueObject { + constructor(type) { + super(); + if (!ALLOWED_BACKGROUND_TYPE.includes(type)) + throw new BackgroundTypeNotSupported(type); + this.type = type; + } + static create(type) { + return new BackgroundType(type); + } + static image() { + return new BackgroundType(AllowedBackgroundType.image); + } + static color() { + return new BackgroundType(AllowedBackgroundType.color); + } + getType() { + return this.type; + } + isImage() { + return this.type === AllowedBackgroundType.image; + } + isColor() { + return this.type === AllowedBackgroundType.color; + } +} +//# sourceMappingURL=BackgroundType.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/BackgroundType.js.map b/backend/dist/src/modules/project/core/objects/BackgroundType.js.map new file mode 100644 index 00000000..af3873fd --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/BackgroundType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BackgroundType.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/BackgroundType.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IAGrD,YAAoB,IAA2B;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAA2B;QAC9C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,KAAK,CAAC;IACnD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,KAAK,CAAC;IACnD,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts new file mode 100644 index 00000000..8d6b7434 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts @@ -0,0 +1,8 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { AllowedColors } from '../../../shared/core/types/AllowedColors'; +export default class ProjectBackGroundColor extends ValueObject { + private color; + constructor(color: AllowedColors); + getColor(): AllowedColors; +} +//# sourceMappingURL=ProjectBackGroundColor.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts.map new file mode 100644 index 00000000..139a1b05 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackGroundColor.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectBackGroundColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAkB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAGzF,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,OAAO,CAAC,KAAK,CAAiB;gBAElB,KAAK,EAAE,aAAa;IAMzB,QAAQ,IAAI,aAAa;CAGjC"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js new file mode 100644 index 00000000..628b32fb --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js @@ -0,0 +1,15 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; +import ProjectBackgroundColorNotSupported from '../errors/ProjectBackgroundColorNotSupported'; +export default class ProjectBackGroundColor extends ValueObject { + constructor(color) { + super(); + if (!ALLOWED_COLORS.includes(color)) + throw new ProjectBackgroundColorNotSupported(color); + this.color = color; + } + getColor() { + return this.color; + } +} +//# sourceMappingURL=ProjectBackGroundColor.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js.map b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js.map new file mode 100644 index 00000000..26ddce57 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundColor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackGroundColor.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectBackGroundColor.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,kCAAkC,MAAM,8CAA8C,CAAC;AAE9F,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAG7D,YAAY,KAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,kCAAkC,CAAC,KAAK,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts new file mode 100644 index 00000000..0430fe02 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts @@ -0,0 +1,8 @@ +import Attachment from '../../../shared/core/objects/Attachment'; +import ValueObject from '../../../shared/core/objects/ValueObject'; +export default class ProjectBackGroundImage extends ValueObject { + private image; + constructor(image: Attachment); + getImage(): Attachment; +} +//# sourceMappingURL=ProjectBackGroundImage.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts.map new file mode 100644 index 00000000..60479cab --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackGroundImage.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectBackGroundImage.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,OAAO,CAAC,KAAK,CAAc;gBAEf,KAAK,EAAE,UAAU;IAMtB,QAAQ,IAAI,UAAU;CAG9B"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js new file mode 100644 index 00000000..d77f74e2 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js @@ -0,0 +1,15 @@ +import InvalidParameters from '../../../shared/core/errors/InvalidParameters'; +import Attachment from '../../../shared/core/objects/Attachment'; +import ValueObject from '../../../shared/core/objects/ValueObject'; +export default class ProjectBackGroundImage extends ValueObject { + constructor(image) { + super(); + if (!Attachment.isImage(image)) + throw new InvalidParameters('Project background image must be an image'); + this.image = image; + } + getImage() { + return this.image; + } +} +//# sourceMappingURL=ProjectBackGroundImage.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js.map b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js.map new file mode 100644 index 00000000..9703e967 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectBackGroundImage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectBackGroundImage.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectBackGroundImage.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAG7D,YAAY,KAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts b/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts new file mode 100644 index 00000000..9de61b7d --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts @@ -0,0 +1,7 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +export default class ProjectDescription extends ValueObject { + private description; + constructor(description: string); + getDescription(): string; +} +//# sourceMappingURL=ProjectDescription.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts.map new file mode 100644 index 00000000..07fe6cd8 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectDescription.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDescription.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectDescription.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,OAAO,CAAC,WAAW,CAAQ;gBAEf,WAAW,EAAE,MAAM;IAKxB,cAAc,IAAI,MAAM;CAGhC"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectDescription.js b/backend/dist/src/modules/project/core/objects/ProjectDescription.js new file mode 100644 index 00000000..4acf157d --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectDescription.js @@ -0,0 +1,12 @@ +import Text from '../../../shared/core/objects/Text'; +import ValueObject from '../../../shared/core/objects/ValueObject'; +export default class ProjectDescription extends ValueObject { + constructor(description) { + super(); + this.description = new Text(description); + } + getDescription() { + return this.description.getText(); + } +} +//# sourceMappingURL=ProjectDescription.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectDescription.js.map b/backend/dist/src/modules/project/core/objects/ProjectDescription.js.map new file mode 100644 index 00000000..98374038 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectDescription.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectDescription.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectDescription.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,mCAAmC,CAAC;AACrD,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IAGzD,YAAY,WAAmB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectId.d.ts b/backend/dist/src/modules/project/core/objects/ProjectId.d.ts new file mode 100644 index 00000000..949cb31c --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectId.d.ts @@ -0,0 +1,4 @@ +import IdEntity from '../../../shared/core/objects/IdEntity'; +export default class ProjectId extends IdEntity { +} +//# sourceMappingURL=ProjectId.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectId.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectId.d.ts.map new file mode 100644 index 00000000..17c02afa --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectId.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectId.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectId.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;CAAG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectId.js b/backend/dist/src/modules/project/core/objects/ProjectId.js new file mode 100644 index 00000000..7c6ba9a1 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectId.js @@ -0,0 +1,4 @@ +import IdEntity from '../../../shared/core/objects/IdEntity'; +export default class ProjectId extends IdEntity { +} +//# sourceMappingURL=ProjectId.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectId.js.map b/backend/dist/src/modules/project/core/objects/ProjectId.js.map new file mode 100644 index 00000000..46a1820c --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectId.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectId.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectId.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;CAAG"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectName.d.ts b/backend/dist/src/modules/project/core/objects/ProjectName.d.ts new file mode 100644 index 00000000..02056a48 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectName.d.ts @@ -0,0 +1,7 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +export default class ProjectName extends ValueObject { + private name; + constructor(name: string); + getName(): string; +} +//# sourceMappingURL=ProjectName.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectName.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectName.d.ts.map new file mode 100644 index 00000000..867b4926 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectName.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectName.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectName.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAInE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAO,CAAC,IAAI,CAAQ;gBAER,IAAI,EAAE,MAAM;IAQjB,OAAO,IAAI,MAAM;CAGzB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectName.js b/backend/dist/src/modules/project/core/objects/ProjectName.js new file mode 100644 index 00000000..118d54e8 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectName.js @@ -0,0 +1,17 @@ +import LimitExceeded from '../../../shared/core/errors/LimitExceeded'; +import Text from '../../../shared/core/objects/Text'; +import ValueObject from '../../../shared/core/objects/ValueObject'; +const MAX_PROJECT_NAME_LENGTH = 1000; +export default class ProjectName extends ValueObject { + constructor(name) { + super(); + this.name = new Text(name); + if (this.name.size() > MAX_PROJECT_NAME_LENGTH) { + throw new LimitExceeded(`Project name cannot be longer than ${MAX_PROJECT_NAME_LENGTH} characters`); + } + } + getName() { + return this.name.getText(); + } +} +//# sourceMappingURL=ProjectName.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectName.js.map b/backend/dist/src/modules/project/core/objects/ProjectName.js.map new file mode 100644 index 00000000..4b3625a3 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectName.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectName.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectName.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,IAAI,MAAM,mCAAmC,CAAC;AACrD,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAGlD,YAAY,IAAY;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,uBAAuB,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CAAC,sCAAsC,uBAAuB,aAAa,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts b/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts new file mode 100644 index 00000000..5cf2ea9e --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts @@ -0,0 +1,8 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { AllowedProjectSetting } from '../types/AllowedProjectSetting'; +export default class ProjectSetting extends ValueObject { + private setting; + constructor(setting: AllowedProjectSetting); + getSetting(): AllowedProjectSetting; +} +//# sourceMappingURL=ProjectSetting.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts.map new file mode 100644 index 00000000..eb80bf01 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectSetting.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectSetting.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectSetting.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,OAAO,EAA2B,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,EAAE,qBAAqB;IAMnC,UAAU,IAAI,qBAAqB;CAG3C"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectSetting.js b/backend/dist/src/modules/project/core/objects/ProjectSetting.js new file mode 100644 index 00000000..3f3ca9d2 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectSetting.js @@ -0,0 +1,15 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import ProjectSettingNotSupported from '../errors/ProjectSettingNotSupported'; +import { ALLOWED_PROJECT_SETTING, AllowedProjectSetting } from '../types/AllowedProjectSetting'; +export default class ProjectSetting extends ValueObject { + constructor(setting) { + super(); + if (!ALLOWED_PROJECT_SETTING.includes(setting)) + throw new ProjectSettingNotSupported(setting); + this.setting = setting; + } + getSetting() { + return this.setting; + } +} +//# sourceMappingURL=ProjectSetting.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectSetting.js.map b/backend/dist/src/modules/project/core/objects/ProjectSetting.js.map new file mode 100644 index 00000000..4d5c6fbd --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectSetting.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectSetting.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectSetting.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEhG,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IAGrD,YAAY,OAA8B;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts b/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts new file mode 100644 index 00000000..c7958140 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts @@ -0,0 +1,13 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { AllowedProjectStatus } from '../types/AllowedProjectStatus'; +export default class ProjectStatus extends ValueObject { + private status; + private constructor(); + static create(status: AllowedProjectStatus): ProjectStatus; + static open(): ProjectStatus; + static closed(): ProjectStatus; + getStatus(): AllowedProjectStatus; + isClosed(): boolean; + isOpen(): boolean; +} +//# sourceMappingURL=ProjectStatus.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts.map b/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts.map new file mode 100644 index 00000000..aec8a352 --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectStatus.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectStatus.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,OAAO,EAA0B,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO;WAMO,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa;WAInD,IAAI,IAAI,aAAa;WAIrB,MAAM,IAAI,aAAa;IAI9B,SAAS,IAAI,oBAAoB;IAIjC,QAAQ,IAAI,OAAO;IAInB,MAAM,IAAI,OAAO;CAGzB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectStatus.js b/backend/dist/src/modules/project/core/objects/ProjectStatus.js new file mode 100644 index 00000000..9b1848cd --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectStatus.js @@ -0,0 +1,30 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import ProjectStatusNotSupported from '../errors/ProjectStatusNotSupported'; +import { ALLOWED_PROJECT_STATUS, AllowedProjectStatus } from '../types/AllowedProjectStatus'; +export default class ProjectStatus extends ValueObject { + constructor(status) { + super(); + if (!ALLOWED_PROJECT_STATUS.includes(status)) + throw new ProjectStatusNotSupported(status); + this.status = status; + } + static create(status) { + return new ProjectStatus(status); + } + static open() { + return new ProjectStatus(AllowedProjectStatus.open); + } + static closed() { + return new ProjectStatus(AllowedProjectStatus.closed); + } + getStatus() { + return this.status; + } + isClosed() { + return this.status === AllowedProjectStatus.closed; + } + isOpen() { + return this.status === AllowedProjectStatus.open; + } +} +//# sourceMappingURL=ProjectStatus.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/objects/ProjectStatus.js.map b/backend/dist/src/modules/project/core/objects/ProjectStatus.js.map new file mode 100644 index 00000000..668dc2dc --- /dev/null +++ b/backend/dist/src/modules/project/core/objects/ProjectStatus.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ProjectStatus.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/objects/ProjectStatus.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAGpD,YAAoB,MAA4B;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,MAA4B;QAC/C,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,IAAI;QAChB,OAAO,IAAI,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC;IACrD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,IAAI,CAAC;IACnD,CAAC;CACF"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts new file mode 100644 index 00000000..3c4ffd04 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts @@ -0,0 +1,6 @@ +export declare const ALLOWED_BACKGROUND_TYPE: readonly ["IMAGE", "COLOR"]; +export declare enum AllowedBackgroundType { + image = "IMAGE", + color = "COLOR" +} +//# sourceMappingURL=AllowedBackgroundType.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts.map b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts.map new file mode 100644 index 00000000..3c5b7a42 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedBackgroundType.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedBackgroundType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,6BAA8B,CAAC;AAEnE,oBAAY,qBAAqB;IAC/B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js new file mode 100644 index 00000000..5b70cdf0 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js @@ -0,0 +1,7 @@ +export const ALLOWED_BACKGROUND_TYPE = ['IMAGE', 'COLOR']; +export var AllowedBackgroundType; +(function (AllowedBackgroundType) { + AllowedBackgroundType["image"] = "IMAGE"; + AllowedBackgroundType["color"] = "COLOR"; +})(AllowedBackgroundType || (AllowedBackgroundType = {})); +//# sourceMappingURL=AllowedBackgroundType.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js.map b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js.map new file mode 100644 index 00000000..0840fcd9 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedBackgroundType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedBackgroundType.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedBackgroundType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;AAEnE,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,wCAAe,CAAA;AACjB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts new file mode 100644 index 00000000..caeeb622 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts @@ -0,0 +1,6 @@ +export declare const ALLOWED_PROJECT_SETTING: readonly ["ADMINS", "MEMBER"]; +export declare enum AllowedProjectSetting { + admins = "ADMINS", + member = "MEMBER" +} +//# sourceMappingURL=AllowedProjectSetting.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts.map b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts.map new file mode 100644 index 00000000..b63047fa --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedProjectSetting.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedProjectSetting.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,+BAAgC,CAAC;AAErE,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js new file mode 100644 index 00000000..0a9b8320 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js @@ -0,0 +1,7 @@ +export const ALLOWED_PROJECT_SETTING = ['ADMINS', 'MEMBER']; +export var AllowedProjectSetting; +(function (AllowedProjectSetting) { + AllowedProjectSetting["admins"] = "ADMINS"; + AllowedProjectSetting["member"] = "MEMBER"; +})(AllowedProjectSetting || (AllowedProjectSetting = {})); +//# sourceMappingURL=AllowedProjectSetting.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js.map b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js.map new file mode 100644 index 00000000..1c3beb53 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectSetting.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedProjectSetting.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedProjectSetting.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAErE,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;AACnB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts new file mode 100644 index 00000000..0b951e96 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts @@ -0,0 +1,6 @@ +export declare const ALLOWED_PROJECT_STATUS: readonly ["OPEN", "CLOSED"]; +export declare enum AllowedProjectStatus { + open = "OPEN", + closed = "CLOSED" +} +//# sourceMappingURL=AllowedProjectStatus.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts.map b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts.map new file mode 100644 index 00000000..ba2e5a58 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedProjectStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedProjectStatus.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,6BAA8B,CAAC;AAElE,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB"} \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js new file mode 100644 index 00000000..eebca75e --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js @@ -0,0 +1,7 @@ +export const ALLOWED_PROJECT_STATUS = ['OPEN', 'CLOSED']; +export var AllowedProjectStatus; +(function (AllowedProjectStatus) { + AllowedProjectStatus["open"] = "OPEN"; + AllowedProjectStatus["closed"] = "CLOSED"; +})(AllowedProjectStatus || (AllowedProjectStatus = {})); +//# sourceMappingURL=AllowedProjectStatus.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js.map b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js.map new file mode 100644 index 00000000..b2054103 --- /dev/null +++ b/backend/dist/src/modules/project/core/types/AllowedProjectStatus.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedProjectStatus.js","sourceRoot":"","sources":["../../../../../../src/modules/project/core/types/AllowedProjectStatus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAElE,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"} \ No newline at end of file diff --git a/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts b/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts new file mode 100644 index 00000000..bc644fbb --- /dev/null +++ b/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts @@ -0,0 +1,15 @@ +export declare const ALLOWED_COLORS: readonly ["RED", "BLUE", "GREEN", "LIGHTGREEN", "YELLOW", "ROSE", "SKYBLUE", "BLACK", "ORANGE", "PURPLE", "NONE"]; +export declare enum AllowedColors { + RED = "RED", + BLUE = "BLUE", + GREEN = "GREEN", + LIGHT_GREEN = "LIGHTGREEN", + YELLOW = "YELLOW", + ROSE = "ROSE", + SKY_BLUE = "SKYBLUE", + BLACK = "BLACK", + ORANGE = "ORANGE", + PURPLE = "PURPLE", + NONE = "NONE" +} +//# sourceMappingURL=AllowedColors.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts.map b/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts.map new file mode 100644 index 00000000..54b16a44 --- /dev/null +++ b/backend/dist/src/modules/shared/core/types/AllowedColors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedColors.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/shared/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mHAYjB,CAAC;AAEX,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,WAAW,eAAe;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd"} \ No newline at end of file diff --git a/backend/dist/src/modules/shared/core/types/AllowedColors.js b/backend/dist/src/modules/shared/core/types/AllowedColors.js new file mode 100644 index 00000000..4d65c955 --- /dev/null +++ b/backend/dist/src/modules/shared/core/types/AllowedColors.js @@ -0,0 +1,28 @@ +export const ALLOWED_COLORS = [ + 'RED', + 'BLUE', + 'GREEN', + 'LIGHTGREEN', + 'YELLOW', + 'ROSE', + 'SKYBLUE', + 'BLACK', + 'ORANGE', + 'PURPLE', + 'NONE', +]; +export var AllowedColors; +(function (AllowedColors) { + AllowedColors["RED"] = "RED"; + AllowedColors["BLUE"] = "BLUE"; + AllowedColors["GREEN"] = "GREEN"; + AllowedColors["LIGHT_GREEN"] = "LIGHTGREEN"; + AllowedColors["YELLOW"] = "YELLOW"; + AllowedColors["ROSE"] = "ROSE"; + AllowedColors["SKY_BLUE"] = "SKYBLUE"; + AllowedColors["BLACK"] = "BLACK"; + AllowedColors["ORANGE"] = "ORANGE"; + AllowedColors["PURPLE"] = "PURPLE"; + AllowedColors["NONE"] = "NONE"; +})(AllowedColors || (AllowedColors = {})); +//# sourceMappingURL=AllowedColors.js.map \ No newline at end of file diff --git a/backend/dist/src/modules/shared/core/types/AllowedColors.js.map b/backend/dist/src/modules/shared/core/types/AllowedColors.js.map new file mode 100644 index 00000000..bfd62e19 --- /dev/null +++ b/backend/dist/src/modules/shared/core/types/AllowedColors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AllowedColors.js","sourceRoot":"","sources":["../../../../../../src/modules/shared/core/types/AllowedColors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK;IACL,MAAM;IACN,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;CACE,CAAC;AAEX,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,2CAA0B,CAAA;IAC1B,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,qCAAoB,CAAA;IACpB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACf,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB"} \ No newline at end of file diff --git a/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts b/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts index 3262124b..43fe4a8f 100644 --- a/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts +++ b/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts @@ -4,14 +4,13 @@ export default interface TaskCriteria { limit: number; page: number; archived: "ALL" | "ACTIVE" | "ARCHIVED"; - withCategory: boolean; - wihtAssigned: boolean; idProject: IdEntity; nameLike?: string; + lists?: string[]; categories?: string[]; status?: AllowedTaskState; isOverDue?: boolean; isStarted?: boolean; - assingned?: string[]; + assigned?: string[]; } //# sourceMappingURL=TaskCriteria.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts.map b/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts.map index a1c8dc39..6a1b8778 100644 --- a/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts.map +++ b/backend/dist/src/modules/task/core/interface/TaskCriteria.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"TaskCriteria.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/task/core/interface/TaskCriteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,WAAW,YAAY;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAC,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB"} \ No newline at end of file +{"version":3,"file":"TaskCriteria.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/task/core/interface/TaskCriteria.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,CAAC,OAAO,WAAW,YAAY;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAC,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,QAAQ,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"} \ No newline at end of file diff --git a/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts b/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts index 01f4d090..eb0ac07d 100644 --- a/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts +++ b/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts @@ -1,7 +1,6 @@ import type DomainEvent from '../../../shared/core/events/DomainEvent'; import type None from '../../../shared/core/objects/None'; import type TaskCriteria from '../interface/TaskCriteria'; -import type TaskFromList from '../interface/TaskFromList'; import type Task from '../model/Task'; import type TaskId from '../objects/TaskId'; export default interface TaskRepository { @@ -14,6 +13,5 @@ export default interface TaskRepository { getCategoriesFromTaskById(taskId: TaskId, limit: number, page: number): Promise; getAssignedFromTaskById(taskId: TaskId, limit: number, page: number): Promise; getTaskLog(taskId: TaskId, limit: number, page: number): Promise; - getFromList(criteria: TaskFromList): Promise; } //# sourceMappingURL=TaskRepository.d.ts.map \ No newline at end of file diff --git a/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts.map b/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts.map index cab2751c..9f92d28d 100644 --- a/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts.map +++ b/backend/dist/src/modules/task/core/repository/TaskRepository.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"TaskRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/task/core/repository/TaskRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,IAAI,MAAM,mCAAmC,CAAC;AAC1D,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,OAAO,WAAW,cAAc;IACrC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9C,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAChF,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;CACrD"} \ No newline at end of file +{"version":3,"file":"TaskRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/task/core/repository/TaskRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,IAAI,MAAM,mCAAmC,CAAC;AAC1D,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,OAAO,WAAW,cAAc;IACrC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC9C,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACjF"} \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts b/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts new file mode 100644 index 00000000..b8a94493 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=Notification.test.d.ts.map \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts.map b/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts.map new file mode 100644 index 00000000..ee5e8435 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/model/Notification.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Notification.test.d.ts","sourceRoot":"","sources":["../../../../../../tests/modules/notification/core/model/Notification.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/model/Notification.test.js b/backend/dist/tests/modules/notification/core/model/Notification.test.js new file mode 100644 index 00000000..3ff6a3f2 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/model/Notification.test.js @@ -0,0 +1,111 @@ +import { describe, expect, it } from 'vitest'; +import NotificationAlreadyRead from '../../../../../src/modules/notification/core/error/NotificationAlreadyRead'; +import Notification from '../../../../../src/modules/notification/core/model/Notification'; +import IdNotification from '../../../../../src/modules/notification/core/objects/IdNotification'; +import { AllowedNotificationStatus } from '../../../../../src/modules/notification/core/types/AllowedNotificationStatus'; +import IdEntity from '../../../../../src/modules/shared/core/objects/IdEntity'; +const DEFAULT_ID = '019df05a-8588-758c-b5e7-92af14bf85cf'; +const EVENT_ID = '019df05a-8588-758c-b5e7-92af14bf85c0'; +const USER_ID = '019df05a-8588-758c-b5e7-92af14bf85c1'; +const ACTOR_ID = '019df05a-8588-758c-b5e7-92af14bf85c2'; +const createNotificationParams = (overrides) => ({ + id: DEFAULT_ID, + eventKey: EVENT_ID, + status: AllowedNotificationStatus.unread, + idUser: USER_ID, + version: 1, + deletedAt: null, + key: 'test-key', + ...overrides, +}); +const buildNotification = (overrides) => { + const params = createNotificationParams(overrides); + return Notification.create(params.key, new IdNotification(params.id), params.eventKey, new IdEntity(params.idUser), new IdEntity(ACTOR_ID)); +}; +describe('Notification Entity', () => { + describe('Creation', () => { + it('should create a valid unread notification', () => { + const notification = buildNotification(); + expect(notification.getId().getID()).toBe(DEFAULT_ID); + expect(notification.getEventKey()).toBe(EVENT_ID); + expect(notification.getIdUser().getID()).toBe(USER_ID); + expect(notification.getStatus().getStatus()).toBe(AllowedNotificationStatus.unread); + expect(notification.exists()).toBe(true); + }); + it('should emit NotificationCreated event on creation', () => { + const notification = buildNotification(); + const events = notification.pullEvents(); + expect(events).toHaveLength(1); + expect(events[0].getEvent()).toBe('NOTIFICATION_CREATED'); + }); + }); + describe('Read Status', () => { + it('should mark an unread notification as read', () => { + const notification = buildNotification(); + notification.pullEvents(); + notification.markAsRead('read-key', new IdEntity(ACTOR_ID)); + expect(notification.getStatus().getStatus()).toBe(AllowedNotificationStatus.read); + }); + it('should emit NotificationRead event when marked as read', () => { + const notification = buildNotification(); + notification.pullEvents(); + notification.markAsRead('read-key', new IdEntity(ACTOR_ID)); + const events = notification.pullEvents(); + expect(events).toHaveLength(1); + expect(events[0].getEvent()).toBe('NOTIFICATION_READ'); + }); + it('should not allow marking a notification as read twice', () => { + const notification = buildNotification(); + notification.markAsRead('read-key', new IdEntity(ACTOR_ID)); + expect(() => { + notification.markAsRead('read-key-2', new IdEntity(ACTOR_ID)); + }).toThrow(NotificationAlreadyRead); + }); + it('should not emit a second event when marking as read twice fails', () => { + const notification = buildNotification(); + notification.pullEvents(); + notification.markAsRead('read-key', new IdEntity(ACTOR_ID)); + notification.pullEvents(); + try { + notification.markAsRead('read-key-2', new IdEntity(ACTOR_ID)); + } + catch (e) { + expect(e).toBeInstanceOf(NotificationAlreadyRead); + } + expect(notification.pullEvents()).toHaveLength(0); + }); + }); + describe('Serialization', () => { + it('should serialize notification to primitives correctly', () => { + const params = createNotificationParams(); + const notification = buildNotification(); + const primitives = notification.toPrimitives(); + expect(primitives).toEqual({ + id: params.id, + eventKey: params.eventKey, + status: params.status, + idUser: params.idUser, + version: params.version, + deletedAt: params.deletedAt, + }); + }); + it('should deserialize from primitives correctly', () => { + const params = createNotificationParams({ status: AllowedNotificationStatus.read }); + const notification = Notification.fromPrimitives(params); + expect(notification.getId().getID()).toBe(params.id); + expect(notification.getEventKey()).toBe(params.eventKey); + expect(notification.getIdUser().getID()).toBe(params.idUser); + expect(notification.getStatus().getStatus()).toBe(AllowedNotificationStatus.read); + }); + it('should preserve immutable details after marking as read', () => { + const notification = buildNotification(); + notification.markAsRead('read-key', new IdEntity(ACTOR_ID)); + const primitives = notification.toPrimitives(); + expect(primitives.id).toBe(DEFAULT_ID); + expect(primitives.eventKey).toBe(EVENT_ID); + expect(primitives.idUser).toBe(USER_ID); + expect(primitives.status).toBe(AllowedNotificationStatus.read); + }); + }); +}); +//# sourceMappingURL=Notification.test.js.map \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/model/Notification.test.js.map b/backend/dist/tests/modules/notification/core/model/Notification.test.js.map new file mode 100644 index 00000000..8ea58018 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/model/Notification.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Notification.test.js","sourceRoot":"","sources":["../../../../../../tests/modules/notification/core/model/Notification.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts new file mode 100644 index 00000000..e67ee947 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=NotificationStatus.test.d.ts.map \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts.map b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts.map new file mode 100644 index 00000000..bf08e430 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"NotificationStatus.test.d.ts","sourceRoot":"","sources":["../../../../../../tests/modules/notification/core/objects/NotificationStatus.test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js new file mode 100644 index 00000000..8701a524 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js @@ -0,0 +1,28 @@ +import { describe, expect, it } from 'vitest'; +import NotificationStatusNotSupported from '../../../../../src/modules/notification/core/error/NotificationStatusNotSupported'; +import NotificationStatus from '../../../../../src/modules/notification/core/objects/NotificationStatus'; +import { AllowedNotificationStatus } from '../../../../../src/modules/notification/core/types/AllowedNotificationStatus'; +describe('NotificationStatus Value Object', () => { + it('should create an unread status correctly', () => { + const status = NotificationStatus.unread(); + expect(status.getStatus()).toBe(AllowedNotificationStatus.unread); + expect(status.isUnread()).toBe(true); + expect(status.isRead()).toBe(false); + }); + it('should create a read status correctly', () => { + const status = NotificationStatus.read(); + expect(status.getStatus()).toBe(AllowedNotificationStatus.read); + expect(status.isRead()).toBe(true); + expect(status.isUnread()).toBe(false); + }); + it('should create status using factory method', () => { + const status = NotificationStatus.create(AllowedNotificationStatus.read); + expect(status.getStatus()).toBe(AllowedNotificationStatus.read); + }); + it('should throw error for unsupported status', () => { + expect(() => { + NotificationStatus.create('INVALID'); + }).toThrow(NotificationStatusNotSupported); + }); +}); +//# sourceMappingURL=NotificationStatus.test.js.map \ No newline at end of file diff --git a/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js.map b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js.map new file mode 100644 index 00000000..266846e1 --- /dev/null +++ b/backend/dist/tests/modules/notification/core/objects/NotificationStatus.test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NotificationStatus.test.js","sourceRoot":"","sources":["../../../../../../tests/modules/notification/core/objects/NotificationStatus.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,8BAA8B,MAAM,mFAAmF,CAAC;AAC/H,OAAO,kBAAkB,MAAM,yEAAyE,CAAC;AACzG,OAAO,EAAE,yBAAyB,EAAE,MAAM,8EAA8E,CAAC;AAEzH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAE3C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEzE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAkB,CAAC,MAAM,CAAC,SAAsC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/src/modules/category/core/model/Category.ts b/backend/src/modules/category/core/model/Category.ts index 21a8861e..8c76059e 100644 --- a/backend/src/modules/category/core/model/Category.ts +++ b/backend/src/modules/category/core/model/Category.ts @@ -11,7 +11,7 @@ import Version from '../../../shared/core/objects/Version'; import type CategoryParams from '../interfaces/CategoryParams'; import IdEntity from '../../../shared/core/objects/IdEntity'; import CategoryDeleted from '../events/CategoryDeleted'; -import type { AllowedColors } from '../types/AllowedColors'; +import type { AllowedColors } from '../../../shared/core/types/AllowedColors'; export default class Category extends Entity { private name!: CategoryName; diff --git a/backend/src/modules/category/core/objects/CategoryColor.ts b/backend/src/modules/category/core/objects/CategoryColor.ts index 79b3a80d..932f4987 100644 --- a/backend/src/modules/category/core/objects/CategoryColor.ts +++ b/backend/src/modules/category/core/objects/CategoryColor.ts @@ -1,6 +1,6 @@ import ValueObject from '../../../shared/core/objects/ValueObject'; +import { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; import CategoryColorNotSupported from '../error/CategoryColorNotSupported'; -import { ALLOWED_COLORS, AllowedColors } from '../types/AllowedColors'; export default class CategoryColor extends ValueObject { private color!: AllowedColors; diff --git a/backend/src/modules/category/core/types/AllowedColors.ts b/backend/src/modules/category/core/types/AllowedColors.ts index d9f52615..38ee4962 100644 --- a/backend/src/modules/category/core/types/AllowedColors.ts +++ b/backend/src/modules/category/core/types/AllowedColors.ts @@ -1,27 +1 @@ -export const ALLOWED_COLORS = [ - 'RED', - 'BLUE', - 'GREEN', - 'LIGHTGREEN', - 'YELLOW', - 'ROSE', - 'SKYBLUE', - 'BLACK', - 'ORANGE', - 'PURPLE', - 'NONE', -] as const; - -export enum AllowedColors { - RED = 'RED', - BLUE = 'BLUE', - GREEN = 'GREEN', - LIGHT_GREEN = 'LIGHTGREEN', - YELLOW = 'YELLOW', - ROSE = 'ROSE', - SKY_BLUE = 'SKYBLUE', - BLACK = 'BLACK', - ORANGE = 'ORANGE', - PURPLE = 'PURPLE', - NONE = 'NONE', -} +export { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; diff --git a/backend/src/modules/list/core/model/List.ts b/backend/src/modules/list/core/model/List.ts index 0df917ea..90cbc599 100644 --- a/backend/src/modules/list/core/model/List.ts +++ b/backend/src/modules/list/core/model/List.ts @@ -180,4 +180,8 @@ export default class List extends Entity{ deletedAt: this.getDeletedAt().toPrimitive() } } + + public moveByOther(newPosition: PositiveInteger): void{ + this.position = newPosition; + } } diff --git a/backend/src/modules/project/core/errors/BackgroundTypeNotSupported.ts b/backend/src/modules/project/core/errors/BackgroundTypeNotSupported.ts new file mode 100644 index 00000000..6d7a9dbc --- /dev/null +++ b/backend/src/modules/project/core/errors/BackgroundTypeNotSupported.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class BackgroundTypeNotSupported extends CoreError { + constructor(backgroundType: string) { + super('Project background type is not supported', { backgroundType }); + Object.setPrototypeOf(this, BackgroundTypeNotSupported.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/CannotModifyClosedProject.ts b/backend/src/modules/project/core/errors/CannotModifyClosedProject.ts new file mode 100644 index 00000000..1cf1ed72 --- /dev/null +++ b/backend/src/modules/project/core/errors/CannotModifyClosedProject.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class CannotModifyClosedProject extends CoreError { + constructor(projectId: string) { + super('Cannot modify a closed project', { projectId }); + Object.setPrototypeOf(this, CannotModifyClosedProject.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/InvalidPositionInProject.ts b/backend/src/modules/project/core/errors/InvalidPositionInProject.ts new file mode 100644 index 00000000..ddee0545 --- /dev/null +++ b/backend/src/modules/project/core/errors/InvalidPositionInProject.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class InvalidPositionInProject extends CoreError { + constructor(projectId: string) { + super('Invalid position for the list in the project', { projectId }); + Object.setPrototypeOf(this, InvalidPositionInProject.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts b/backend/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts new file mode 100644 index 00000000..2809c040 --- /dev/null +++ b/backend/src/modules/project/core/errors/ProjectBackgroundColorNotSupported.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class ProjectBackgroundColorNotSupported extends CoreError { + constructor(color: string) { + super('Project background color is not supported', { color }); + Object.setPrototypeOf(this, ProjectBackgroundColorNotSupported.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts b/backend/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts new file mode 100644 index 00000000..404f8a3f --- /dev/null +++ b/backend/src/modules/project/core/errors/ProjectNeedsToBeClosedBeforeDeleteIt.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class ProjectNeedsToBeClosedBeforeDeleteIt extends CoreError { + constructor(projectId: string) { + super('Project must be closed before being deleted', { projectId }); + Object.setPrototypeOf(this, ProjectNeedsToBeClosedBeforeDeleteIt.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/ProjectSettingNotSupported.ts b/backend/src/modules/project/core/errors/ProjectSettingNotSupported.ts new file mode 100644 index 00000000..6fdbdfa0 --- /dev/null +++ b/backend/src/modules/project/core/errors/ProjectSettingNotSupported.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class ProjectSettingNotSupported extends CoreError { + constructor(setting: string) { + super('Project setting is not supported', { setting }); + Object.setPrototypeOf(this, ProjectSettingNotSupported.prototype); + } +} diff --git a/backend/src/modules/project/core/errors/ProjectStatusNotSupported.ts b/backend/src/modules/project/core/errors/ProjectStatusNotSupported.ts new file mode 100644 index 00000000..8a0d339b --- /dev/null +++ b/backend/src/modules/project/core/errors/ProjectStatusNotSupported.ts @@ -0,0 +1,8 @@ +import CoreError from '../../../shared/core/errors/CoreError'; + +export default class ProjectStatusNotSupported extends CoreError { + constructor(status: string) { + super('Project status is not supported', { status }); + Object.setPrototypeOf(this, ProjectStatusNotSupported.prototype); + } +} diff --git a/backend/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts b/backend/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts new file mode 100644 index 00000000..298f35eb --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectAddMemberSettingsUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; + +export default class ProjectAddMemberSettingsUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting) { + super(key, date, actor, idProject, idProject, 'PROJECT_ADD_MEMBER_SETTINGS_UPDATED', setting); + } +} diff --git a/backend/src/modules/project/core/events/ProjectBackgroundImageUpdated.ts b/backend/src/modules/project/core/events/ProjectBackgroundImageUpdated.ts new file mode 100644 index 00000000..0df8e293 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectBackgroundImageUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectBackGroundImage from '../objects/ProjectBackGroundImage'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectBackgroundImageUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, image: ProjectBackGroundImage) { + super(key, date, actor, idProject, idProject, 'PROJECT_BACKGROUND_IMAGE_UPDATED', image); + } +} diff --git a/backend/src/modules/project/core/events/ProjectClosed.ts b/backend/src/modules/project/core/events/ProjectClosed.ts new file mode 100644 index 00000000..9ca601a3 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectClosed.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectClosed extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId) { + super(key, date, actor, idProject, idProject, 'PROJECT_CLOSED'); + } +} diff --git a/backend/src/modules/project/core/events/ProjectColorUpdated.ts b/backend/src/modules/project/core/events/ProjectColorUpdated.ts new file mode 100644 index 00000000..22854b3e --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectColorUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectBackGroundColor from '../objects/ProjectBackGroundColor'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectColorUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, color: ProjectBackGroundColor) { + super(key, date, actor, idProject, idProject, 'PROJECT_COLOR_UPDATED', color); + } +} diff --git a/backend/src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts b/backend/src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts new file mode 100644 index 00000000..53256d62 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectCommentImmutableSetupTo.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectCommentImmutableSetupTo extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, inmutableComment: boolean) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMMENT_IMMUTABLE_SETUP_TO', inmutableComment); + } +} diff --git a/backend/src/modules/project/core/events/ProjectCommentSettingsUpdated.ts b/backend/src/modules/project/core/events/ProjectCommentSettingsUpdated.ts new file mode 100644 index 00000000..bcb56d0b --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectCommentSettingsUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; + +export default class ProjectCommentSettingsUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMMENT_SETTINGS_UPDATED', setting); + } +} diff --git a/backend/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts b/backend/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts new file mode 100644 index 00000000..b86f5f1a --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectCompletedTasksVisibilityUpdated.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectCompletedTasksVisibilityUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, showCompletedTasks: boolean) { + super(key, date, actor, idProject, idProject, 'PROJECT_COMPLETED_TASKS_VISIBILITY_UPDATED', showCompletedTasks); + } +} diff --git a/backend/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts b/backend/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts new file mode 100644 index 00000000..e2339fe1 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectCreateResourceSettingUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectSetting from '../objects/ProjectSetting'; + +export default class ProjectCreateResourceSettingUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, setting: ProjectSetting) { + super(key, date, actor, idProject, idProject, 'PROJECT_CREATE_RESOURCE_SETTING_UPDATED', setting); + } +} diff --git a/backend/src/modules/project/core/events/ProjectCreated.ts b/backend/src/modules/project/core/events/ProjectCreated.ts new file mode 100644 index 00000000..f9a2e088 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectCreated.ts @@ -0,0 +1,17 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectParams from '../interfaces/ProjectParams'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectCreated extends DomainEvent { + constructor( + key: string, + date: DateTime, + actor: IdEntity, + idProject: ProjectId, + projectParams: ProjectParams, + ) { + super(key, date, actor, idProject, idProject, 'PROJECT_CREATED', projectParams); + } +} diff --git a/backend/src/modules/project/core/events/ProjectDeleted.ts b/backend/src/modules/project/core/events/ProjectDeleted.ts new file mode 100644 index 00000000..46ff6346 --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectDeleted.ts @@ -0,0 +1,10 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectDeleted extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId) { + super(key, date, actor, idProject, idProject, 'PROJECT_DELETED'); + } +} diff --git a/backend/src/modules/project/core/events/ProjectDescriptionUpdated.ts b/backend/src/modules/project/core/events/ProjectDescriptionUpdated.ts new file mode 100644 index 00000000..a8c5232c --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectDescriptionUpdated.ts @@ -0,0 +1,18 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type None from '../../../shared/core/objects/None'; +import type ProjectDescription from '../objects/ProjectDescription'; +import type ProjectId from '../objects/ProjectId'; + +export default class ProjectDescriptionUpdated extends DomainEvent { + constructor( + key: string, + date: DateTime, + actor: IdEntity, + idProject: ProjectId, + newDescription: ProjectDescription | None, + ) { + super(key, date, actor, idProject, idProject, 'PROJECT_DESCRIPTION_UPDATED', newDescription); + } +} diff --git a/backend/src/modules/project/core/events/ProjectNameUpdated.ts b/backend/src/modules/project/core/events/ProjectNameUpdated.ts new file mode 100644 index 00000000..82ffff7d --- /dev/null +++ b/backend/src/modules/project/core/events/ProjectNameUpdated.ts @@ -0,0 +1,11 @@ +import DomainEvent from '../../../shared/core/events/DomainEvent'; +import type DateTime from '../../../shared/core/objects/DateTime'; +import type IdEntity from '../../../shared/core/objects/IdEntity'; +import type ProjectId from '../objects/ProjectId'; +import type ProjectName from '../objects/ProjectName'; + +export default class ProjectNameUpdated extends DomainEvent { + constructor(key: string, date: DateTime, actor: IdEntity, idProject: ProjectId, newName: ProjectName) { + super(key, date, actor, idProject, idProject, 'PROJECT_NAME_UPDATED', newName); + } +} diff --git a/backend/src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts b/backend/src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts new file mode 100644 index 00000000..08f0a23a --- /dev/null +++ b/backend/src/modules/project/core/interfaces/ProjectBackgroundImageParams.ts @@ -0,0 +1,8 @@ +import type { AllowedAttachments } from '../../../shared/core/types/AllowedAttachment.types'; + +export default interface ProjectBackgroundImageParams { + url: string; + type: AllowedAttachments; + name: string; + size: number; +} diff --git a/backend/src/modules/project/core/interfaces/ProjectParams.ts b/backend/src/modules/project/core/interfaces/ProjectParams.ts new file mode 100644 index 00000000..986895e7 --- /dev/null +++ b/backend/src/modules/project/core/interfaces/ProjectParams.ts @@ -0,0 +1,24 @@ +import type List from '../../../list/core/model/List'; +import type { AllowedColors } from '../../../shared/core/types/AllowedColors'; +import type { AllowedBackgroundType } from '../types/AllowedBackgroundType'; +import type { AllowedProjectSetting } from '../types/AllowedProjectSetting'; +import type { AllowedProjectStatus } from '../types/AllowedProjectStatus'; +import type ProjectBackgroundImageParams from './ProjectBackgroundImageParams'; + +export default interface ProjectParams { + id: string; + status: AllowedProjectStatus; + projectName: string; + projectDescription: string | null; + background: ProjectBackgroundImageParams | AllowedColors; + backgroundType: AllowedBackgroundType; + lists: List[]; + commentAuthorization: AllowedProjectSetting; + inmutableComment: boolean; + addMemberSettings: AllowedProjectSetting; + createResourcesSettings: AllowedProjectSetting; + showCompletedTasks: boolean; + invitaionToken: string | null; + version: number; + deletedAt: Date | null; +} diff --git a/backend/src/modules/project/core/model/Project.ts b/backend/src/modules/project/core/model/Project.ts new file mode 100644 index 00000000..75b0256b --- /dev/null +++ b/backend/src/modules/project/core/model/Project.ts @@ -0,0 +1,361 @@ +import List from '../../../list/core/model/List'; +import Entity from '../../../shared/core/model/Entity'; +import DateTime from '../../../shared/core/objects/DateTime'; +import DeletedAt from '../../../shared/core/objects/DeletedAt'; +import IdEntity from '../../../shared/core/objects/IdEntity'; +import None from '../../../shared/core/objects/None'; +import Version from '../../../shared/core/objects/Version'; +import Attachment from '../../../shared/core/objects/Attachment'; +import IntNumber from '../../../shared/core/objects/IntNumber'; +import Text from '../../../shared/core/objects/Text'; +import Url from '../../../shared/core/objects/URL'; +import InvalidOperation from '../../../shared/core/errors/InvalidOperation'; +import ProjectAddMemberSettingsUpdated from '../events/ProjectAddMemberSettingsUpdated'; +import ProjectBackgroundImageUpdated from '../events/ProjectBackgroundImageUpdated'; +import ProjectClosed from '../events/ProjectClosed'; +import ProjectColorUpdated from '../events/ProjectColorUpdated'; +import ProjectCommentImmutableSetupTo from '../events/ProjectCommentImmutableSetupTo'; +import ProjectCommentSettingsUpdated from '../events/ProjectCommentSettingsUpdated'; +import ProjectCompletedTasksVisibilityUpdated from '../events/ProjectCompletedTasksVisibilityUpdated'; +import ProjectCreateResourceSettingUpdated from '../events/ProjectCreateResourceSettingUpdated'; +import ProjectCreated from '../events/ProjectCreated'; +import ProjectDeleted from '../events/ProjectDeleted'; +import ProjectDescriptionUpdated from '../events/ProjectDescriptionUpdated'; +import ProjectNameUpdated from '../events/ProjectNameUpdated'; +import CannotModifyClosedProject from '../errors/CannotModifyClosedProject'; +import ProjectNeedsToBeClosedBeforeDeleteIt from '../errors/ProjectNeedsToBeClosedBeforeDeleteIt'; +import type ProjectParams from '../interfaces/ProjectParams'; +import BackgroundType from '../objects/BackgroundType'; +import ProjectBackGroundColor from '../objects/ProjectBackGroundColor'; +import ProjectBackGroundImage from '../objects/ProjectBackGroundImage'; +import ProjectDescription from '../objects/ProjectDescription'; +import ProjectId from '../objects/ProjectId'; +import ProjectName from '../objects/ProjectName'; +import ProjectSetting from '../objects/ProjectSetting'; +import ProjectStatus from '../objects/ProjectStatus'; +import { AllowedColors } from '../../../shared/core/types/AllowedColors'; +import type { AllowedAttachments } from '../../../shared/core/types/AllowedAttachment.types'; +import type ProjectBackgroundImageParams from '../interfaces/ProjectBackgroundImageParams'; +import InvalidPositionInProject from '../errors/InvalidPositionInProject'; +import ConflictDuplicateResource from '../../../shared/core/errors/ConflictDuplicatedResource'; +import PositiveInteger from '../../../shared/core/objects/PositiveInteger'; +import ResourceNotFound from '../../../shared/core/errors/ResourceNotFound'; +import ID from '../../../shared/core/objects/ID'; + +export default class Project extends Entity { + private readonly id!: ProjectId; + private status!: ProjectStatus; + private projectName!: ProjectName; + private projectDescription!: ProjectDescription | None; + private background!: ProjectBackGroundImage | ProjectBackGroundColor; + private backgroundType!: BackgroundType; + private lists!: List[]; + private commentAuthorization!: ProjectSetting; + private inmutableComment!: boolean; + private addMemberSettings!: ProjectSetting; + private createResourcesSettings!: ProjectSetting; + private showCompletedTasks!: boolean; + private invitaionToken!: ID | None; + + private constructor( + id: ProjectId, + status: ProjectStatus, + projectName: ProjectName, + projectDescription: ProjectDescription | None, + background: ProjectBackGroundImage | ProjectBackGroundColor, + backgroundType: BackgroundType, + lists: List[], + commentAuthorization: ProjectSetting, + inmutableComment: boolean, + addMemberSettings: ProjectSetting, + createResourcesSettings: ProjectSetting, + showCompletedTasks: boolean, + invitaionToken: ID | None = new None(), + ) { + super(id, id); + this.id = id; + this.status = status; + this.projectName = projectName; + this.projectDescription = projectDescription; + this.background = background; + this.backgroundType = backgroundType; + this.lists = lists; + this.commentAuthorization = commentAuthorization; + this.inmutableComment = inmutableComment; + this.addMemberSettings = addMemberSettings; + this.createResourcesSettings = createResourcesSettings; + this.showCompletedTasks = showCompletedTasks; + this.invitaionToken = invitaionToken; + this.ensureBackgroundMatchesType(); + } + + public static create( + id: ProjectId, + projectName: ProjectName, + projectDescription: ProjectDescription | None, + background: ProjectBackGroundImage | ProjectBackGroundColor, + backgroundType: BackgroundType, + lists: List[], + commentAuthorization: ProjectSetting, + inmutableComment: boolean, + addMemberSettings: ProjectSetting, + createResourcesSettings: ProjectSetting, + showCompletedTasks: boolean, + actor: IdEntity, + key: string, + ): Project { + const project = new Project( + id, + ProjectStatus.open(), + projectName, + projectDescription, + background, + backgroundType, + lists, + commentAuthorization, + inmutableComment, + addMemberSettings, + createResourcesSettings, + showCompletedTasks, + ); + + project.create(); + project.addEvent(new ProjectCreated(key, DateTime.now(), actor, id, project.toPrimitives())); + return project; + } + + public static fromPrimitives(params: ProjectParams): Project { + const id = new ProjectId(params.id); + const backgroundType = BackgroundType.create(params.backgroundType); + const imageParams = params.background as ProjectBackgroundImageParams; + const background = backgroundType.isImage() + ? new ProjectBackGroundImage(new Attachment( + new Url(imageParams.url), + imageParams.type as AllowedAttachments, + new Text(imageParams.name), + new IntNumber(imageParams.size), + )) + : new ProjectBackGroundColor(params.background as AllowedColors); + + const project = new Project( + id, + ProjectStatus.create(params.status), + new ProjectName(params.projectName), + params.projectDescription ? new ProjectDescription(params.projectDescription) : new None(), + background, + backgroundType, + params.lists, + new ProjectSetting(params.commentAuthorization), + params.inmutableComment, + new ProjectSetting(params.addMemberSettings), + new ProjectSetting(params.createResourcesSettings), + params.showCompletedTasks, + params.invitaionToken ? ID.fromString(params.invitaionToken) : new None() + ); + + project.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + return project; + } + + public close(key: string, actor: IdEntity): void { + if (this.status.isClosed()) return; + this.status = ProjectStatus.closed(); + this.addEvent(new ProjectClosed(key, DateTime.now(), actor, this.id)); + } + + public delete(key: string, actor: IdEntity): void { + if (!this.status.isClosed()) throw new ProjectNeedsToBeClosedBeforeDeleteIt(this.id.getID()); + this.addEvent(new ProjectDeleted(key, DateTime.now(), actor, this.id)); + super.softDelete(); + } + + public updateProjectName(projectName: ProjectName, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.projectName = projectName; + this.addEvent(new ProjectNameUpdated(key, DateTime.now(), actor, this.id, projectName)); + } + + public updateProjectDescription(projectDescription: ProjectDescription | None, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.projectDescription = projectDescription; + this.addEvent(new ProjectDescriptionUpdated(key, DateTime.now(), actor, this.id, projectDescription)); + } + + public updateProjectImage(background: ProjectBackGroundImage, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.background = background; + this.backgroundType = BackgroundType.image(); + this.addEvent(new ProjectBackgroundImageUpdated(key, DateTime.now(), actor, this.id, background)); + } + + public updateProjectColor(background: ProjectBackGroundColor, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.background = background; + this.backgroundType = BackgroundType.color(); + this.addEvent(new ProjectColorUpdated(key, DateTime.now(), actor, this.id, background)); + } + + public changeCommentSettings(commentAuthorization: ProjectSetting, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.commentAuthorization = commentAuthorization; + this.addEvent(new ProjectCommentSettingsUpdated(key, DateTime.now(), actor, this.id, commentAuthorization)); + } + + public changeAddMemberSettings(addMemberSettings: ProjectSetting, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.addMemberSettings = addMemberSettings; + this.addEvent(new ProjectAddMemberSettingsUpdated(key, DateTime.now(), actor, this.id, addMemberSettings)); + } + + public changeResourceCreationSettings(createResourcesSettings: ProjectSetting, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.createResourcesSettings = createResourcesSettings; + this.addEvent(new ProjectCreateResourceSettingUpdated(key, DateTime.now(), actor, this.id, createResourcesSettings)); + } + + public changeImmutableCommentSettings(inmutableComment: boolean, key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + this.inmutableComment = inmutableComment; + this.addEvent(new ProjectCommentImmutableSetupTo(key, DateTime.now(), actor, this.id, inmutableComment)); + } + + public showCompletedTaskEvents(key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + if (this.showCompletedTasks) return; + this.showCompletedTasks = true; + this.addEvent(new ProjectCompletedTasksVisibilityUpdated(key, DateTime.now(), actor, this.id, this.showCompletedTasks)); + } + + public unshowCompletedTaskEvents(key: string, actor: IdEntity): void { + this.ensureCanBeModified(); + if (!this.showCompletedTasks) return; + this.showCompletedTasks = false; + this.addEvent(new ProjectCompletedTasksVisibilityUpdated(key, DateTime.now(), actor, this.id, this.showCompletedTasks)); + } + + public addList(list: List): void { + this.ensureCanBeModified(); + if(this.lists.find((existingList) => existingList.getID().getID() === list.getID().getID())) { + throw new ConflictDuplicateResource(`A list with ID ${list.getID().getID()} already exists in the project.`); + } + if(list.getPosition().getValue() > this.lists.length + 1 || list.getPosition().getValue() < 1) { + throw new InvalidPositionInProject(this.id.getID()); + } + + const list1 = this.lists.slice(0, list.getPosition().getValue() - 1); + const list2 = this.lists.slice(list.getPosition().getValue() -1); + + list2.forEach(l => l.moveByOther(new PositiveInteger(l.getPosition().getValue() + 1))); + this.lists = [...list1, list, ...list2]; + } + + public removeList(listId: string): void { + this.ensureCanBeModified(); + if(!this.lists.find(l => l.getID().getID() === listId)) { + throw new ResourceNotFound(`The list with id: ${listId} does not exists in project with id: ${this.getID().getID()}`, {listId, projectId: this.getID().getID()}); + } + + this.lists = this.lists.filter(l => l.getID().getID() !== listId); + } + + public generateInvitationToken(): string { + this.ensureCanBeModified(); + if(this.invitaionToken instanceof ID) { + return this.invitaionToken.getId(); + } + this.invitaionToken = ID.generateId(); + return (this.invitaionToken as ID).getId(); + } + + public invalidateInvitationToken(): void { + this.ensureCanBeModified(); + this.invitaionToken = new None(); + } + + public getId(): ProjectId { + return this.id; + } + + public getStatus(): ProjectStatus { + return this.status; + } + + public getProjectName(): ProjectName { + return this.projectName; + } + + public getProjectDescription(): ProjectDescription | None { + return this.projectDescription; + } + + public getBackground(): ProjectBackGroundImage | ProjectBackGroundColor { + return this.background; + } + + public getBackgroundType(): BackgroundType { + return this.backgroundType; + } + + public getLists(): List[] { + return [...this.lists]; + } + + public getCommentAuthorization(): ProjectSetting { + return this.commentAuthorization; + } + + public isCommentInmutable(): boolean { + return this.inmutableComment; + } + + public getAddMemberSettings(): ProjectSetting { + return this.addMemberSettings; + } + + public getCreateResourcesSettings(): ProjectSetting { + return this.createResourcesSettings; + } + + public shouldShowCompletedTasks(): boolean { + return this.showCompletedTasks; + } + + public toPrimitives(): ProjectParams { + return { + id: this.id.getID(), + status: this.status.getStatus(), + projectName: this.projectName.getName(), + projectDescription: this.projectDescription instanceof None ? null : this.projectDescription.getDescription(), + background: this.background instanceof ProjectBackGroundImage ? { + url: this.background.getImage().getUrl().getUrl(), + type: this.background.getImage().getType(), + name: this.background.getImage().getName().getText(), + size: this.background.getImage().getSize().getValue(), + } : this.background.getColor(), + backgroundType: this.backgroundType.getType(), + lists: this.lists, + commentAuthorization: this.commentAuthorization.getSetting(), + inmutableComment: this.inmutableComment, + addMemberSettings: this.addMemberSettings.getSetting(), + createResourcesSettings: this.createResourcesSettings.getSetting(), + showCompletedTasks: this.showCompletedTasks, + invitaionToken: this.invitaionToken instanceof None ? null : (this.invitaionToken as ID).getId(), + version: super.getVersion().valueOf(), + deletedAt: super.getDeletedAt().toPrimitive(), + }; + } + + private ensureCanBeModified(): void { + if (this.status.isClosed()) throw new CannotModifyClosedProject(this.id.getID()); + } + + private ensureBackgroundMatchesType(): void { + if (this.backgroundType.isImage() && !(this.background instanceof ProjectBackGroundImage)) { + throw new InvalidOperation('Project background must be an image when background type is IMAGE'); + } + + if (this.backgroundType.isColor() && !(this.background instanceof ProjectBackGroundColor)) { + throw new InvalidOperation('Project background must be a color when background type is COLOR'); + } + } +} diff --git a/backend/src/modules/project/core/objects/BackgroundType.ts b/backend/src/modules/project/core/objects/BackgroundType.ts new file mode 100644 index 00000000..1f1122fc --- /dev/null +++ b/backend/src/modules/project/core/objects/BackgroundType.ts @@ -0,0 +1,37 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import BackgroundTypeNotSupported from '../errors/BackgroundTypeNotSupported'; +import { ALLOWED_BACKGROUND_TYPE, AllowedBackgroundType } from '../types/AllowedBackgroundType'; + +export default class BackgroundType extends ValueObject { + private type!: AllowedBackgroundType; + + private constructor(type: AllowedBackgroundType) { + super(); + if (!ALLOWED_BACKGROUND_TYPE.includes(type)) throw new BackgroundTypeNotSupported(type); + this.type = type; + } + + public static create(type: AllowedBackgroundType): BackgroundType { + return new BackgroundType(type); + } + + public static image(): BackgroundType { + return new BackgroundType(AllowedBackgroundType.image); + } + + public static color(): BackgroundType { + return new BackgroundType(AllowedBackgroundType.color); + } + + public getType(): AllowedBackgroundType { + return this.type; + } + + public isImage(): boolean { + return this.type === AllowedBackgroundType.image; + } + + public isColor(): boolean { + return this.type === AllowedBackgroundType.color; + } +} diff --git a/backend/src/modules/project/core/objects/ProjectBackGroundColor.ts b/backend/src/modules/project/core/objects/ProjectBackGroundColor.ts new file mode 100644 index 00000000..d2bbf843 --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectBackGroundColor.ts @@ -0,0 +1,17 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import { ALLOWED_COLORS, AllowedColors } from '../../../shared/core/types/AllowedColors'; +import ProjectBackgroundColorNotSupported from '../errors/ProjectBackgroundColorNotSupported'; + +export default class ProjectBackGroundColor extends ValueObject { + private color!: AllowedColors; + + constructor(color: AllowedColors) { + super(); + if (!ALLOWED_COLORS.includes(color)) throw new ProjectBackgroundColorNotSupported(color); + this.color = color; + } + + public getColor(): AllowedColors { + return this.color; + } +} diff --git a/backend/src/modules/project/core/objects/ProjectBackGroundImage.ts b/backend/src/modules/project/core/objects/ProjectBackGroundImage.ts new file mode 100644 index 00000000..c9106726 --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectBackGroundImage.ts @@ -0,0 +1,17 @@ +import InvalidParameters from '../../../shared/core/errors/InvalidParameters'; +import Attachment from '../../../shared/core/objects/Attachment'; +import ValueObject from '../../../shared/core/objects/ValueObject'; + +export default class ProjectBackGroundImage extends ValueObject { + private image!: Attachment; + + constructor(image: Attachment) { + super(); + if (!Attachment.isImage(image)) throw new InvalidParameters('Project background image must be an image'); + this.image = image; + } + + public getImage(): Attachment { + return this.image; + } +} diff --git a/backend/src/modules/project/core/objects/ProjectDescription.ts b/backend/src/modules/project/core/objects/ProjectDescription.ts new file mode 100644 index 00000000..909c3cea --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectDescription.ts @@ -0,0 +1,15 @@ +import Text from '../../../shared/core/objects/Text'; +import ValueObject from '../../../shared/core/objects/ValueObject'; + +export default class ProjectDescription extends ValueObject { + private description!: Text; + + constructor(description: string) { + super(); + this.description = new Text(description); + } + + public getDescription(): string { + return this.description.getText(); + } +} diff --git a/backend/src/modules/project/core/objects/ProjectId.ts b/backend/src/modules/project/core/objects/ProjectId.ts new file mode 100644 index 00000000..dd14d845 --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectId.ts @@ -0,0 +1,3 @@ +import IdEntity from '../../../shared/core/objects/IdEntity'; + +export default class ProjectId extends IdEntity {} diff --git a/backend/src/modules/project/core/objects/ProjectName.ts b/backend/src/modules/project/core/objects/ProjectName.ts new file mode 100644 index 00000000..dcc23370 --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectName.ts @@ -0,0 +1,21 @@ +import LimitExceeded from '../../../shared/core/errors/LimitExceeded'; +import Text from '../../../shared/core/objects/Text'; +import ValueObject from '../../../shared/core/objects/ValueObject'; + +const MAX_PROJECT_NAME_LENGTH = 1000; + +export default class ProjectName extends ValueObject { + private name!: Text; + + constructor(name: string) { + super(); + this.name = new Text(name); + if (this.name.size() > MAX_PROJECT_NAME_LENGTH) { + throw new LimitExceeded(`Project name cannot be longer than ${MAX_PROJECT_NAME_LENGTH} characters`); + } + } + + public getName(): string { + return this.name.getText(); + } +} diff --git a/backend/src/modules/project/core/objects/ProjectSetting.ts b/backend/src/modules/project/core/objects/ProjectSetting.ts new file mode 100644 index 00000000..278fa83f --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectSetting.ts @@ -0,0 +1,17 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import ProjectSettingNotSupported from '../errors/ProjectSettingNotSupported'; +import { ALLOWED_PROJECT_SETTING, AllowedProjectSetting } from '../types/AllowedProjectSetting'; + +export default class ProjectSetting extends ValueObject { + private setting!: AllowedProjectSetting; + + constructor(setting: AllowedProjectSetting) { + super(); + if (!ALLOWED_PROJECT_SETTING.includes(setting)) throw new ProjectSettingNotSupported(setting); + this.setting = setting; + } + + public getSetting(): AllowedProjectSetting { + return this.setting; + } +} diff --git a/backend/src/modules/project/core/objects/ProjectStatus.ts b/backend/src/modules/project/core/objects/ProjectStatus.ts new file mode 100644 index 00000000..154d45ed --- /dev/null +++ b/backend/src/modules/project/core/objects/ProjectStatus.ts @@ -0,0 +1,37 @@ +import ValueObject from '../../../shared/core/objects/ValueObject'; +import ProjectStatusNotSupported from '../errors/ProjectStatusNotSupported'; +import { ALLOWED_PROJECT_STATUS, AllowedProjectStatus } from '../types/AllowedProjectStatus'; + +export default class ProjectStatus extends ValueObject { + private status!: AllowedProjectStatus; + + private constructor(status: AllowedProjectStatus) { + super(); + if (!ALLOWED_PROJECT_STATUS.includes(status)) throw new ProjectStatusNotSupported(status); + this.status = status; + } + + public static create(status: AllowedProjectStatus): ProjectStatus { + return new ProjectStatus(status); + } + + public static open(): ProjectStatus { + return new ProjectStatus(AllowedProjectStatus.open); + } + + public static closed(): ProjectStatus { + return new ProjectStatus(AllowedProjectStatus.closed); + } + + public getStatus(): AllowedProjectStatus { + return this.status; + } + + public isClosed(): boolean { + return this.status === AllowedProjectStatus.closed; + } + + public isOpen(): boolean { + return this.status === AllowedProjectStatus.open; + } +} diff --git a/backend/src/modules/project/core/types/AllowedBackgroundType.ts b/backend/src/modules/project/core/types/AllowedBackgroundType.ts new file mode 100644 index 00000000..ec071247 --- /dev/null +++ b/backend/src/modules/project/core/types/AllowedBackgroundType.ts @@ -0,0 +1,6 @@ +export const ALLOWED_BACKGROUND_TYPE = ['IMAGE', 'COLOR'] as const; + +export enum AllowedBackgroundType { + image = 'IMAGE', + color = 'COLOR', +} diff --git a/backend/src/modules/project/core/types/AllowedProjectSetting.ts b/backend/src/modules/project/core/types/AllowedProjectSetting.ts new file mode 100644 index 00000000..0dac4724 --- /dev/null +++ b/backend/src/modules/project/core/types/AllowedProjectSetting.ts @@ -0,0 +1,6 @@ +export const ALLOWED_PROJECT_SETTING = ['ADMINS', 'MEMBER'] as const; + +export enum AllowedProjectSetting { + admins = 'ADMINS', + member = 'MEMBER', +} diff --git a/backend/src/modules/project/core/types/AllowedProjectStatus.ts b/backend/src/modules/project/core/types/AllowedProjectStatus.ts new file mode 100644 index 00000000..b78749a9 --- /dev/null +++ b/backend/src/modules/project/core/types/AllowedProjectStatus.ts @@ -0,0 +1,6 @@ +export const ALLOWED_PROJECT_STATUS = ['OPEN', 'CLOSED'] as const; + +export enum AllowedProjectStatus { + open = 'OPEN', + closed = 'CLOSED', +} diff --git a/backend/src/modules/shared/core/types/AllowedColors.ts b/backend/src/modules/shared/core/types/AllowedColors.ts new file mode 100644 index 00000000..d9f52615 --- /dev/null +++ b/backend/src/modules/shared/core/types/AllowedColors.ts @@ -0,0 +1,27 @@ +export const ALLOWED_COLORS = [ + 'RED', + 'BLUE', + 'GREEN', + 'LIGHTGREEN', + 'YELLOW', + 'ROSE', + 'SKYBLUE', + 'BLACK', + 'ORANGE', + 'PURPLE', + 'NONE', +] as const; + +export enum AllowedColors { + RED = 'RED', + BLUE = 'BLUE', + GREEN = 'GREEN', + LIGHT_GREEN = 'LIGHTGREEN', + YELLOW = 'YELLOW', + ROSE = 'ROSE', + SKY_BLUE = 'SKYBLUE', + BLACK = 'BLACK', + ORANGE = 'ORANGE', + PURPLE = 'PURPLE', + NONE = 'NONE', +} From 90fa98df2fd384bb35931770a99b0c5070ea3f06 Mon Sep 17 00:00:00 2001 From: Rafael de Jesus Guzman Torres Date: Tue, 9 Jun 2026 20:47:35 -0600 Subject: [PATCH 3/3] feat: remove version logic from domain --- backend/agents.md | 1 - .../core/interfaces/CategoryParams.ts | 1 - .../modules/category/core/model/Category.ts | 3 --- .../core/interfaces/CheckListParams.ts | 1 - .../modules/checklist/core/model/CheckList.ts | 4 +-- .../comment/core/interfaces/CommentParams.ts | 1 - .../src/modules/comment/core/model/Comment.ts | 4 +-- .../link/core/interfaces/LinkParams.ts | 1 - backend/src/modules/link/core/model/Link.ts | 4 +-- .../list/core/interfaces/ListParams.ts | 1 - backend/src/modules/list/core/model/List.ts | 4 +-- .../member/core/interfaces/MemberParams.ts | 1 - .../src/modules/member/core/model/Member.ts | 4 +-- .../core/interfaces/NotificationParams.ts | 1 - .../notification/core/model/Notification.ts | 3 --- .../project/core/interfaces/ProjectParams.ts | 1 - .../src/modules/project/core/model/Project.ts | 4 +-- .../src/modules/shared/core/model/Entity.ts | 11 +------- .../modules/shared/core/objects/Version.ts | 21 ---------------- .../modules/task/core/interface/TaskParams.ts | 1 - backend/src/modules/task/core/model/Task.ts | 4 +-- .../core/interface/TaskAttachmentParams.ts | 1 - .../core/model/TaskAttachment.ts | 4 +-- .../core/model/TaskAttachment.test.ts | 1 - .../category/core/model/Category.test.ts | 3 --- .../comment/core/model/Comment.test.ts | 3 --- .../modules/link/core/model/Link.test.ts | 1 - .../modules/list/core/model/List.test.ts | 1 - .../modules/member/core/model/Member.test.ts | 2 -- .../core/model/Notification.test.ts | 3 --- .../modules/shared/core/model/Entity.test.ts | 15 ++--------- .../shared/core/objects/Version.test.ts | 25 ------------------- .../modules/task/core/model/Task.test.ts | 1 - 33 files changed, 11 insertions(+), 125 deletions(-) delete mode 100644 backend/src/modules/shared/core/objects/Version.ts delete mode 100644 backend/tests/modules/shared/core/objects/Version.test.ts diff --git a/backend/agents.md b/backend/agents.md index 5763e771..d752b533 100644 --- a/backend/agents.md +++ b/backend/agents.md @@ -29,7 +29,6 @@ - Factory method to build objects and emit events or apply logic, private constructors - Shared module contain useful objects, errors and the primary entitties or classes to dont repeat logic and maintain the strucutre - Softdelete instead of hard delete -- Versioning to avoid inconsitencies - Uses uuid v7 to have better distribution, dont depend from database and dont use secuential ids that easily can de gessed - Dont use try-catch inside domain - Key from event is used as an indepotency key, is provided by client diff --git a/backend/src/modules/category/core/interfaces/CategoryParams.ts b/backend/src/modules/category/core/interfaces/CategoryParams.ts index 2f59935a..5d18ffcc 100644 --- a/backend/src/modules/category/core/interfaces/CategoryParams.ts +++ b/backend/src/modules/category/core/interfaces/CategoryParams.ts @@ -3,6 +3,5 @@ export default interface CategoryParams { idProject: string; name: string; color: string; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/category/core/model/Category.ts b/backend/src/modules/category/core/model/Category.ts index 8c76059e..f1f2df24 100644 --- a/backend/src/modules/category/core/model/Category.ts +++ b/backend/src/modules/category/core/model/Category.ts @@ -7,7 +7,6 @@ import CategoryCreated from '../events/CategoryCreated'; import CategoryNameChanged from '../events/CategoryNameChanged'; import CategoryColorChanged from '../events/CategoryColorChanged'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; -import Version from '../../../shared/core/objects/Version'; import type CategoryParams from '../interfaces/CategoryParams'; import IdEntity from '../../../shared/core/objects/IdEntity'; import CategoryDeleted from '../events/CategoryDeleted'; @@ -57,7 +56,6 @@ export default class Category extends Entity { ); category.build( - new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt) ); @@ -95,7 +93,6 @@ export default class Category extends Entity { idProject: this.getIdProject().getID(), name: this.name.getName(), color: this.color.getColor(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/checklist/core/interfaces/CheckListParams.ts b/backend/src/modules/checklist/core/interfaces/CheckListParams.ts index 5489bd8d..d7e1e982 100644 --- a/backend/src/modules/checklist/core/interfaces/CheckListParams.ts +++ b/backend/src/modules/checklist/core/interfaces/CheckListParams.ts @@ -6,6 +6,5 @@ export default interface CheckListParams { name: string; items: ChecklistItemParams[]; completedPercentage: number; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/checklist/core/model/CheckList.ts b/backend/src/modules/checklist/core/model/CheckList.ts index 4376efe1..df75aee2 100644 --- a/backend/src/modules/checklist/core/model/CheckList.ts +++ b/backend/src/modules/checklist/core/model/CheckList.ts @@ -2,7 +2,6 @@ import Entity from '../../../shared/core/model/Entity'; import DateTime from '../../../shared/core/objects/DateTime'; import IdEntity from '../../../shared/core/objects/IdEntity'; import Text from '../../../shared/core/objects/Text'; -import Version from '../../../shared/core/objects/Version'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import type CheckListParams from '../interfaces/CheckListParams'; import ChecklistItem from '../objects/ChecklistItem'; @@ -56,7 +55,7 @@ export default class CheckList extends Entity { new PercentageCompleted(params.completedPercentage), ); - checklist.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + checklist.build(DeletedAt.createFromPrimitive(params.deletedAt)); return checklist; } @@ -131,7 +130,6 @@ export default class CheckList extends Entity { name: this.name.getName(), items: this.items.map((item) => item.toPrimitives()), completedPercentage: this.completedPercentage.toPrimitive(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/comment/core/interfaces/CommentParams.ts b/backend/src/modules/comment/core/interfaces/CommentParams.ts index 6b1d2e8b..00761a80 100644 --- a/backend/src/modules/comment/core/interfaces/CommentParams.ts +++ b/backend/src/modules/comment/core/interfaces/CommentParams.ts @@ -4,6 +4,5 @@ export default interface CommentParams { idTask: string; content: string; mentions: string[]; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/comment/core/model/Comment.ts b/backend/src/modules/comment/core/model/Comment.ts index 0aef701f..af221e5c 100644 --- a/backend/src/modules/comment/core/model/Comment.ts +++ b/backend/src/modules/comment/core/model/Comment.ts @@ -4,7 +4,6 @@ import Text from "../../../shared/core/objects/Text"; import IdComment from "../objects/IdComment"; import Collection from "../../../shared/core/objects/Collection"; import DateTime from "../../../shared/core/objects/DateTime"; -import Version from "../../../shared/core/objects/Version"; import DeletedAt from "../../../shared/core/objects/DeletedAt"; import type CommentParams from "../interfaces/CommentParams"; import CommentCreated from "../events/CommentCreated"; @@ -59,7 +58,7 @@ export default class Comment extends Entity { new Collection(mentions, [], []) ); - comment.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + comment.build(DeletedAt.createFromPrimitive(params.deletedAt)); return comment; } @@ -120,7 +119,6 @@ export default class Comment extends Entity { content: this.content.getText(), mentions: this.mentions.getPrimitives(), idTask: (super.getOwner() as IdEntity).getID(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/link/core/interfaces/LinkParams.ts b/backend/src/modules/link/core/interfaces/LinkParams.ts index 55831918..8efa2e96 100644 --- a/backend/src/modules/link/core/interfaces/LinkParams.ts +++ b/backend/src/modules/link/core/interfaces/LinkParams.ts @@ -3,6 +3,5 @@ export default interface LinkParams { idTask: string; url: string; visibleText: string | null; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/link/core/model/Link.ts b/backend/src/modules/link/core/model/Link.ts index a1c4e688..8d02c8b9 100644 --- a/backend/src/modules/link/core/model/Link.ts +++ b/backend/src/modules/link/core/model/Link.ts @@ -4,7 +4,6 @@ import None from '../../../shared/core/objects/None'; import Text from '../../../shared/core/objects/Text'; import Url from '../../../shared/core/objects/URL'; import DateTime from '../../../shared/core/objects/DateTime'; -import Version from '../../../shared/core/objects/Version'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import type LinkParams from '../interfaces/LinkParams'; import LinkId from '../objects/LinkId'; @@ -44,7 +43,7 @@ export default class Link extends Entity { params.visibleText ? new Text(params.visibleText) : new None(), ); - link.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + link.build(DeletedAt.createFromPrimitive(params.deletedAt)); return link; } @@ -82,7 +81,6 @@ export default class Link extends Entity { idTask: this.getTaskId().getID(), url: this.url.getUrl(), visibleText: this.visibleText instanceof None ? null : this.visibleText.getText(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/list/core/interfaces/ListParams.ts b/backend/src/modules/list/core/interfaces/ListParams.ts index ef4cc534..26782d8b 100644 --- a/backend/src/modules/list/core/interfaces/ListParams.ts +++ b/backend/src/modules/list/core/interfaces/ListParams.ts @@ -7,6 +7,5 @@ export default interface ListParams{ archived: boolean, tasks: Task[], projectId: string, - version: number, deletedAt: Date | null } diff --git a/backend/src/modules/list/core/model/List.ts b/backend/src/modules/list/core/model/List.ts index 90cbc599..41454534 100644 --- a/backend/src/modules/list/core/model/List.ts +++ b/backend/src/modules/list/core/model/List.ts @@ -2,7 +2,6 @@ import ListId from "../object/ListId"; import Text from "../../../shared/core/objects/Text"; import Entity from "../../../shared/core/model/Entity"; import DeletedAt from "../../../shared/core/objects/DeletedAt"; -import Version from "../../../shared/core/objects/Version"; import IdEntity from "../../../shared/core/objects/IdEntity"; import Task from "../../../task/core/model/Task"; import None from "../../../shared/core/objects/None"; @@ -63,7 +62,7 @@ export default class List extends Entity{ params.tasks, new IdEntity(params.projectId) ); - list.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + list.build(DeletedAt.createFromPrimitive(params.deletedAt)); return list; } @@ -176,7 +175,6 @@ export default class List extends Entity{ archived: this.archived, tasks: this.tasks, projectId: this.getOwner().toString(), - version: this.getVersion().valueOf(), deletedAt: this.getDeletedAt().toPrimitive() } } diff --git a/backend/src/modules/member/core/interfaces/MemberParams.ts b/backend/src/modules/member/core/interfaces/MemberParams.ts index 03414c43..82595a9c 100644 --- a/backend/src/modules/member/core/interfaces/MemberParams.ts +++ b/backend/src/modules/member/core/interfaces/MemberParams.ts @@ -7,6 +7,5 @@ export default interface MemberParams { idAccount: string; status: AllowedMemberStatus; role: AllowedMemberRoles; - version: number | null; deletedAt: Date | null; } diff --git a/backend/src/modules/member/core/model/Member.ts b/backend/src/modules/member/core/model/Member.ts index 65d4e192..d6d926ff 100644 --- a/backend/src/modules/member/core/model/Member.ts +++ b/backend/src/modules/member/core/model/Member.ts @@ -10,7 +10,6 @@ import MemberDeleted from '../events/MemberDeleted'; import ProjectMetadata from '../objects/ProjectMetadata'; import IdEntity from '../../../shared/core/objects/IdEntity'; import type MemberParams from '../interfaces/MemberParams'; -import Version from '../../../shared/core/objects/Version'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import MemberRoleChanged from '../events/MemberRoleChanged'; @@ -72,7 +71,7 @@ export default class Member extends Entity { new ProjectMetadata() ); - member.build(new Version(params.version as number), DeletedAt.createFromPrimitive(params.deletedAt)); + member.build(DeletedAt.createFromPrimitive(params.deletedAt)); return member; } @@ -127,7 +126,6 @@ export default class Member extends Entity { idAccount: this.idAccount.getID(), status: this.status.getStatus(), role: this.role.getRole(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive() }; } diff --git a/backend/src/modules/notification/core/interfaces/NotificationParams.ts b/backend/src/modules/notification/core/interfaces/NotificationParams.ts index e6e8bac4..7abd878a 100644 --- a/backend/src/modules/notification/core/interfaces/NotificationParams.ts +++ b/backend/src/modules/notification/core/interfaces/NotificationParams.ts @@ -5,6 +5,5 @@ export default interface NotificationParams { eventKey: string; status: AllowedNotificationStatus; idUser: string; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/notification/core/model/Notification.ts b/backend/src/modules/notification/core/model/Notification.ts index 6d793ba5..f7ebcdfb 100644 --- a/backend/src/modules/notification/core/model/Notification.ts +++ b/backend/src/modules/notification/core/model/Notification.ts @@ -2,7 +2,6 @@ import Entity from '../../../shared/core/model/Entity'; import DateTime from '../../../shared/core/objects/DateTime'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import IdEntity from '../../../shared/core/objects/IdEntity'; -import Version from '../../../shared/core/objects/Version'; import NotificationCreated from '../events/NotificationCreated'; import NotificationRead from '../events/NotificationRead'; import NotificationAlreadyRead from '../error/NotificationAlreadyRead'; @@ -49,7 +48,6 @@ export default class Notification extends Entity { ); notification.build( - new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt), ); @@ -89,7 +87,6 @@ export default class Notification extends Entity { eventKey: this.eventKey, status: this.status.getStatus(), idUser: this.getIdUser().getID(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/project/core/interfaces/ProjectParams.ts b/backend/src/modules/project/core/interfaces/ProjectParams.ts index 986895e7..0b0e3294 100644 --- a/backend/src/modules/project/core/interfaces/ProjectParams.ts +++ b/backend/src/modules/project/core/interfaces/ProjectParams.ts @@ -19,6 +19,5 @@ export default interface ProjectParams { createResourcesSettings: AllowedProjectSetting; showCompletedTasks: boolean; invitaionToken: string | null; - version: number; deletedAt: Date | null; } diff --git a/backend/src/modules/project/core/model/Project.ts b/backend/src/modules/project/core/model/Project.ts index 75b0256b..a3d127ba 100644 --- a/backend/src/modules/project/core/model/Project.ts +++ b/backend/src/modules/project/core/model/Project.ts @@ -4,7 +4,6 @@ import DateTime from '../../../shared/core/objects/DateTime'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import IdEntity from '../../../shared/core/objects/IdEntity'; import None from '../../../shared/core/objects/None'; -import Version from '../../../shared/core/objects/Version'; import Attachment from '../../../shared/core/objects/Attachment'; import IntNumber from '../../../shared/core/objects/IntNumber'; import Text from '../../../shared/core/objects/Text'; @@ -153,7 +152,7 @@ export default class Project extends Entity { params.invitaionToken ? ID.fromString(params.invitaionToken) : new None() ); - project.build(new Version(params.version), DeletedAt.createFromPrimitive(params.deletedAt)); + project.build(DeletedAt.createFromPrimitive(params.deletedAt)); return project; } @@ -340,7 +339,6 @@ export default class Project extends Entity { createResourcesSettings: this.createResourcesSettings.getSetting(), showCompletedTasks: this.showCompletedTasks, invitaionToken: this.invitaionToken instanceof None ? null : (this.invitaionToken as ID).getId(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/shared/core/model/Entity.ts b/backend/src/modules/shared/core/model/Entity.ts index b50c10b1..421f533b 100644 --- a/backend/src/modules/shared/core/model/Entity.ts +++ b/backend/src/modules/shared/core/model/Entity.ts @@ -5,12 +5,10 @@ import DateTime from '../objects/DateTime'; import DeletedAt from '../objects/DeletedAt'; import type IdEntity from '../objects/IdEntity'; import None from '../objects/None'; -import Version from '../objects/Version'; export default abstract class Entity { private tmpHistory: DomainEvent[] = []; private lastUpdate!: DateTime; - private version!: Version; private deletedAt!: DeletedAt; private owner!: IdEntity | None; private readonly idEntity!: IdEntity; @@ -27,16 +25,13 @@ export default abstract class Entity { this.tmpHistory.push(event); this.lastUpdate = event.getDate(); - this.version = this.version.increment(); } protected create(): void { - this.version = new Version(0); this.deletedAt = DeletedAt.createActive(); } - protected build(version: Version, deletedAt: DeletedAt): void { - this.version = version; + protected build(deletedAt: DeletedAt): void { this.deletedAt = deletedAt; } @@ -64,10 +59,6 @@ export default abstract class Entity { return this.lastUpdate; } - public getVersion(): Version{ - return this.version; - } - public getDeletedAt(): DeletedAt { return this.deletedAt; } diff --git a/backend/src/modules/shared/core/objects/Version.ts b/backend/src/modules/shared/core/objects/Version.ts deleted file mode 100644 index 03cb9acd..00000000 --- a/backend/src/modules/shared/core/objects/Version.ts +++ /dev/null @@ -1,21 +0,0 @@ -import InvalidParameters from "../errors/InvalidParameters"; -import IntNumber from "./IntNumber"; - -export default class Version { - private version: IntNumber; - - constructor(version: number) { - this.version = new IntNumber(version); - if(this.version.getValue() < 0) { - throw new InvalidParameters('Version number cannot be negative'); - } - } - - increment(): Version { - return new Version(this.version.getValue() + 1); - } - - valueOf(): number { - return this.version.getValue(); - } -} diff --git a/backend/src/modules/task/core/interface/TaskParams.ts b/backend/src/modules/task/core/interface/TaskParams.ts index 694ad97f..d9c74c67 100644 --- a/backend/src/modules/task/core/interface/TaskParams.ts +++ b/backend/src/modules/task/core/interface/TaskParams.ts @@ -14,6 +14,5 @@ export default interface TaskParams { dueDate: Date | null; isOverdue: boolean; isStarted: boolean; - version: number | null; deletedAt: Date | null; } diff --git a/backend/src/modules/task/core/model/Task.ts b/backend/src/modules/task/core/model/Task.ts index 7b46802f..72623b33 100644 --- a/backend/src/modules/task/core/model/Task.ts +++ b/backend/src/modules/task/core/model/Task.ts @@ -26,7 +26,6 @@ import TaskContributorDeleted from '../events/TaskMemberDeleted'; import TaskMemberAdded from '../events/TaskMemberAdded'; import IdEntity from '../../../shared/core/objects/IdEntity'; import type TaskParams from '../interface/TaskParams'; -import Version from '../../../shared/core/objects/Version'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import Text from '../../../shared/core/objects/Text'; import type { AllowedTaskState } from '../types/AllowedTaskState'; @@ -117,7 +116,7 @@ export default class Task extends Entity { new Collection(assigned, [], []) ); - task.build(new Version(params.version as number), DeletedAt.createFromPrimitive(params.deletedAt)); + task.build(DeletedAt.createFromPrimitive(params.deletedAt)); return task; } @@ -427,7 +426,6 @@ export default class Task extends Entity { isOverdue: this.isOverdue, isStarted: this.isStarted, dueDate: this.dueDate instanceof DateTime ? this.dueDate.getDate() : null, - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/src/modules/taskAttachment/core/interface/TaskAttachmentParams.ts b/backend/src/modules/taskAttachment/core/interface/TaskAttachmentParams.ts index fa3fde98..847feb7e 100644 --- a/backend/src/modules/taskAttachment/core/interface/TaskAttachmentParams.ts +++ b/backend/src/modules/taskAttachment/core/interface/TaskAttachmentParams.ts @@ -7,6 +7,5 @@ export default interface TaskAttachmentParams { name: string; size: number; }; - version: number | null; deletedAt: Date | null; } diff --git a/backend/src/modules/taskAttachment/core/model/TaskAttachment.ts b/backend/src/modules/taskAttachment/core/model/TaskAttachment.ts index a6ce4da0..7cf6ba96 100644 --- a/backend/src/modules/taskAttachment/core/model/TaskAttachment.ts +++ b/backend/src/modules/taskAttachment/core/model/TaskAttachment.ts @@ -1,7 +1,6 @@ import Entity from '../../../shared/core/model/Entity'; import DateTime from '../../../shared/core/objects/DateTime'; import IdEntity from '../../../shared/core/objects/IdEntity'; -import Version from '../../../shared/core/objects/Version'; import DeletedAt from '../../../shared/core/objects/DeletedAt'; import Attachment from '../../../shared/core/objects/Attachment'; import Url from '../../../shared/core/objects/URL'; @@ -57,7 +56,7 @@ export default class TaskAttachment extends Entity { new IdEntity(params.idTask), ); - taskAttachment.build(new Version(params.version as number), DeletedAt.createFromPrimitive(params.deletedAt)); + taskAttachment.build(DeletedAt.createFromPrimitive(params.deletedAt)); return taskAttachment; } @@ -119,7 +118,6 @@ export default class TaskAttachment extends Entity { name: this.attachment.getName().getText(), size: this.attachment.getSize().getValue(), }, - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().toPrimitive(), }; } diff --git a/backend/tests/modules/attachment/core/model/TaskAttachment.test.ts b/backend/tests/modules/attachment/core/model/TaskAttachment.test.ts index 6ac989b7..12f74271 100644 --- a/backend/tests/modules/attachment/core/model/TaskAttachment.test.ts +++ b/backend/tests/modules/attachment/core/model/TaskAttachment.test.ts @@ -43,7 +43,6 @@ describe('TaskAttachment entity tests', () => { name: 'file.png', size: 128, }, - version: expect.any(Number), deletedAt: null, }); diff --git a/backend/tests/modules/category/core/model/Category.test.ts b/backend/tests/modules/category/core/model/Category.test.ts index 64e7012a..c8460684 100644 --- a/backend/tests/modules/category/core/model/Category.test.ts +++ b/backend/tests/modules/category/core/model/Category.test.ts @@ -16,7 +16,6 @@ const createCategoryParams = ( idProject: string; name: string; color: AllowedColors; - version: number; deletedAt: Date | null; idActor: string; key: string; @@ -26,7 +25,6 @@ const createCategoryParams = ( idProject: DEFAULT_ID, name: "Backlog", color: AllowedColors.BLACK, - version: 1, deletedAt: null, key: "test-key", ...overrides @@ -141,7 +139,6 @@ describe("Category Entity", () => { idProject: params.idProject, name: params.name, color: params.color, - version: params.version, deletedAt: params.deletedAt }); }); diff --git a/backend/tests/modules/comment/core/model/Comment.test.ts b/backend/tests/modules/comment/core/model/Comment.test.ts index 945daff4..bef5c4cf 100644 --- a/backend/tests/modules/comment/core/model/Comment.test.ts +++ b/backend/tests/modules/comment/core/model/Comment.test.ts @@ -20,7 +20,6 @@ const createCommentParams = ( idTask: string; content: string; mentions: string[]; - version: number; deletedAt: Date | null; key: string; }> @@ -30,7 +29,6 @@ const createCommentParams = ( idTask: TASK_ID, content: "This is a test comment", mentions: [], - version: 1, deletedAt: null, key: "test-key", ...overrides @@ -250,7 +248,6 @@ describe("Comment Entity", () => { expect(primitives.creator).toBe(params.creator); expect(primitives.content).toBe(params.content); expect(primitives.mentions).toEqual([]); - expect(primitives.version).toBe(1); expect(primitives.deletedAt).toBeNull(); }); diff --git a/backend/tests/modules/link/core/model/Link.test.ts b/backend/tests/modules/link/core/model/Link.test.ts index ceceec6f..480ab2a1 100644 --- a/backend/tests/modules/link/core/model/Link.test.ts +++ b/backend/tests/modules/link/core/model/Link.test.ts @@ -21,7 +21,6 @@ const createLinkParams = ( idTask: TASK_ID, url: URL_VALUE, visibleText: INITIAL_TEXT, - version: 0, deletedAt: null, ...overrides, }); diff --git a/backend/tests/modules/list/core/model/List.test.ts b/backend/tests/modules/list/core/model/List.test.ts index 0bfdd848..141b7c26 100644 --- a/backend/tests/modules/list/core/model/List.test.ts +++ b/backend/tests/modules/list/core/model/List.test.ts @@ -89,7 +89,6 @@ describe('List', () => { archived: false, tasks: [], projectId: '0343c815-7220-7d64-8c42-6f2af4f9fd37', - version: 2, deletedAt: null, }); diff --git a/backend/tests/modules/member/core/model/Member.test.ts b/backend/tests/modules/member/core/model/Member.test.ts index a564cf8c..91ece189 100644 --- a/backend/tests/modules/member/core/model/Member.test.ts +++ b/backend/tests/modules/member/core/model/Member.test.ts @@ -122,7 +122,6 @@ describe("Member Entity", () => { it("should reconstruct a member from primitives", () => { const primitives = { ...createParams({ role: AllowedMemberRoles.member }), - version: 1, deletedAt: null, }; @@ -148,7 +147,6 @@ describe("Member Entity", () => { idAccount: DEFAULT_ID, status: AllowedMemberStatus.active, role: AllowedMemberRoles.admin, - version: 1, deletedAt: null, }); }); diff --git a/backend/tests/modules/notification/core/model/Notification.test.ts b/backend/tests/modules/notification/core/model/Notification.test.ts index 8c14aae3..9fa03950 100644 --- a/backend/tests/modules/notification/core/model/Notification.test.ts +++ b/backend/tests/modules/notification/core/model/Notification.test.ts @@ -17,7 +17,6 @@ const createNotificationParams = ( eventKey: string; status: AllowedNotificationStatus; idUser: string; - version: number; deletedAt: Date | null; key: string; }>, @@ -26,7 +25,6 @@ const createNotificationParams = ( eventKey: EVENT_ID, status: AllowedNotificationStatus.unread, idUser: USER_ID, - version: 1, deletedAt: null, key: 'test-key', ...overrides, @@ -126,7 +124,6 @@ describe('Notification Entity', () => { eventKey: params.eventKey, status: params.status, idUser: params.idUser, - version: params.version, deletedAt: params.deletedAt, }); }); diff --git a/backend/tests/modules/shared/core/model/Entity.test.ts b/backend/tests/modules/shared/core/model/Entity.test.ts index 3e968099..33996c08 100644 --- a/backend/tests/modules/shared/core/model/Entity.test.ts +++ b/backend/tests/modules/shared/core/model/Entity.test.ts @@ -1,5 +1,4 @@ import { describe, it, expect } from 'vitest'; -import Version from "../../../../../src/modules/shared/core/objects/Version"; import DeletedAt from "../../../../../src/modules/shared/core/objects/DeletedAt"; import Entity from "../../../../../src/modules/shared/core/model/Entity"; import IdEntity from "../../../../../src/modules/shared/core/objects/IdEntity"; @@ -15,7 +14,6 @@ describe('Entity abstract class', () => { interface TestParams{ idEntity: string, - version: number, deletedAt: Date | null, owner: string | null } @@ -36,7 +34,7 @@ describe('Entity abstract class', () => { ): TestEntity { const owner: IdEntity | None = params.owner ? new IdEntity(params.owner) : new None(); const instance = new TestEntity(new IdEntity(params.idEntity), owner); - instance.build(new Version(params.version), params.deletedAt? DeletedAt.createDeleted(DateTime.create(params.deletedAt)): DeletedAt.createActive()); + instance.build(params.deletedAt? DeletedAt.createDeleted(DateTime.create(params.deletedAt)): DeletedAt.createActive()); return instance; } @@ -51,7 +49,6 @@ describe('Entity abstract class', () => { toPrimitives(): TestParams { return { idEntity: super.getID().getID(), - version: super.getVersion().valueOf(), deletedAt: super.getDeletedAt().exists()? null: (super.getDeletedAt().getDeletedTime() as DateTime).getDate() as Date, owner: isNone(super.getOwner())? null: (super.getOwner() as IdEntity).getID() }; @@ -109,15 +106,11 @@ describe('Entity abstract class', () => { expect(events).toContain(event); }); - it("should increase version and update lastUpdate when adding an event", () => { + it("should update lastUpdate when adding an event", () => { const entity = createTestEntity(); const event = createDomainEvent(); - const initialVersion = entity.getVersion().valueOf(); - expect(initialVersion).toEqual(0); entity.addEvent(event); - expect(entity.getVersion().valueOf()).toEqual(1); - expect(entity.getVersion().valueOf()).toBe(initialVersion + 1); expect(entity.getLastUpdate()).toBe(event.getDate()); }); @@ -146,7 +139,6 @@ describe('Entity abstract class', () => { const entity = TestEntity.fromPrimitives( { idEntity: idEntity.getID(), - version: 5, deletedAt: (deletedAt.getDeletedTime() as DateTime).getDate() as Date, owner: null } @@ -168,7 +160,6 @@ describe('Entity abstract class', () => { const primitives = entity.toPrimitives(); expect(primitives.idEntity).toBe(entity.getID().getID()); - expect(primitives.version).toBe(entity.getVersion().valueOf()); expect(primitives.deletedAt).toBeNull(); }); @@ -190,14 +181,12 @@ describe('Entity abstract class', () => { const reconstructed = TestEntity.fromPrimitives( { idEntity: primitives.idEntity, - version: primitives.version, deletedAt: primitives.deletedAt, owner: primitives.owner } ); expect(reconstructed.getID().getID()).toBe(primitives.idEntity); - expect(reconstructed.getVersion().valueOf()).toBe(primitives.version); }); diff --git a/backend/tests/modules/shared/core/objects/Version.test.ts b/backend/tests/modules/shared/core/objects/Version.test.ts deleted file mode 100644 index 81afd1df..00000000 --- a/backend/tests/modules/shared/core/objects/Version.test.ts +++ /dev/null @@ -1,25 +0,0 @@ -import InvalidParameters from "../../../../../src/modules/shared/core/errors/InvalidParameters"; -import Version from "../../../../../src/modules/shared/core/objects/Version"; -import { describe, it, expect } from 'vitest'; - -describe('Version', () => { - it('should create a version object with the correct properties', () => { - const version = new Version(1); - expect(version.valueOf()).toBe(1); - }); - - it('should increment the version number', () => { - const version = new Version(1); - const newVersion = version.increment(); - expect(newVersion.valueOf()).toBe(2); - }); - - it('Should just allow integer positive values', () => { - expect(() => new Version(1.5)).toThrow(InvalidParameters); - expect(() => new Version(-1.5)).toThrow(InvalidParameters); - expect(() => new Version(-1)).toThrow(InvalidParameters); - expect(() => new Version('1' as unknown as number)).toThrow(InvalidParameters); - expect(() => new Version('' as unknown as number)).toThrow(InvalidParameters); - expect(() => new Version(undefined as unknown as number)).toThrow(InvalidParameters); - }); -}); \ No newline at end of file diff --git a/backend/tests/modules/task/core/model/Task.test.ts b/backend/tests/modules/task/core/model/Task.test.ts index 093c9281..742f85bb 100644 --- a/backend/tests/modules/task/core/model/Task.test.ts +++ b/backend/tests/modules/task/core/model/Task.test.ts @@ -446,7 +446,6 @@ describe('Task', () => { expect(primitives.id).toBe('0243c815-7220-7d64-8c42-6f2af4f9fd37'); expect(primitives.idProject).toBe('0343c815-7220-7d64-8c42-6f2af4f9fd37'); expect((task.getOwner() as IdEntity).getID()).toBe('0343c815-7220-7d64-8c42-6f2af4f9fd37'); - expect(primitives.version).toEqual(7); expect(primitives.deletedAt).toBeNull(); });