@shizuoka-its/core 2.1.2 → 3.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -25
- package/dist/_virtual/_rolldown/runtime.cjs +13 -0
- package/dist/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/application/exceptions/ApplicationExceptions.cjs +124 -0
- package/dist/application/exceptions/ApplicationExceptions.cjs.map +1 -0
- package/dist/application/exceptions/ApplicationExceptions.mjs +115 -0
- package/dist/application/exceptions/ApplicationExceptions.mjs.map +1 -0
- package/dist/application/index.cjs +39 -0
- package/dist/application/index.mjs +40 -0
- package/dist/application/usecase/base.cjs +11 -0
- package/dist/application/usecase/base.cjs.map +1 -0
- package/dist/application/usecase/base.d.cts +12 -0
- package/dist/application/usecase/base.d.mts +12 -0
- package/dist/application/usecase/base.mjs +11 -0
- package/dist/application/usecase/base.mjs.map +1 -0
- package/dist/application/usecase/event/AddExhibitToEvent.cjs +27 -0
- package/dist/application/usecase/event/AddExhibitToEvent.cjs.map +1 -0
- package/dist/application/usecase/event/AddExhibitToEvent.d.cts +32 -0
- package/dist/application/usecase/event/AddExhibitToEvent.d.mts +32 -0
- package/dist/application/usecase/event/AddExhibitToEvent.mjs +27 -0
- package/dist/application/usecase/event/AddExhibitToEvent.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitDescription.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitName.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitName.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitName.d.cts +26 -0
- package/dist/application/usecase/event/ChangeExhibitName.d.mts +26 -0
- package/dist/application/usecase/event/ChangeExhibitName.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitName.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.cjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.d.cts +27 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.d.mts +27 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.mjs +23 -0
- package/dist/application/usecase/event/ChangeExhibitUrl.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.d.cts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.d.mts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.cts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.mts +27 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs.map +1 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.cts +26 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.mts +26 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs +23 -0
- package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs.map +1 -0
- package/dist/application/usecase/event/CreateEvent.cjs +23 -0
- package/dist/application/usecase/event/CreateEvent.cjs.map +1 -0
- package/dist/application/usecase/event/CreateEvent.d.cts +25 -0
- package/dist/application/usecase/event/CreateEvent.d.mts +25 -0
- package/dist/application/usecase/event/CreateEvent.mjs +23 -0
- package/dist/application/usecase/event/CreateEvent.mjs.map +1 -0
- package/dist/application/usecase/event/DeleteEvent.cjs +22 -0
- package/dist/application/usecase/event/DeleteEvent.cjs.map +1 -0
- package/dist/application/usecase/event/DeleteEvent.d.cts +23 -0
- package/dist/application/usecase/event/DeleteEvent.d.mts +23 -0
- package/dist/application/usecase/event/DeleteEvent.mjs +22 -0
- package/dist/application/usecase/event/DeleteEvent.mjs.map +1 -0
- package/dist/application/usecase/event/GetEvent.cjs +18 -0
- package/dist/application/usecase/event/GetEvent.cjs.map +1 -0
- package/dist/application/usecase/event/GetEvent.d.cts +23 -0
- package/dist/application/usecase/event/GetEvent.d.mts +23 -0
- package/dist/application/usecase/event/GetEvent.mjs +18 -0
- package/dist/application/usecase/event/GetEvent.mjs.map +1 -0
- package/dist/application/usecase/event/GetEventList.cjs +15 -0
- package/dist/application/usecase/event/GetEventList.cjs.map +1 -0
- package/dist/application/usecase/event/GetEventList.d.cts +17 -0
- package/dist/application/usecase/event/GetEventList.d.mts +17 -0
- package/dist/application/usecase/event/GetEventList.mjs +15 -0
- package/dist/application/usecase/event/GetEventList.mjs.map +1 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs +23 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs.map +1 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.d.cts +25 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.d.mts +25 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs +23 -0
- package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs.map +1 -0
- package/dist/application/usecase/event/UpdateEvent.cjs +21 -0
- package/dist/application/usecase/event/UpdateEvent.cjs.map +1 -0
- package/dist/application/usecase/event/UpdateEvent.d.cts +22 -0
- package/dist/application/usecase/event/UpdateEvent.d.mts +22 -0
- package/dist/application/usecase/event/UpdateEvent.mjs +21 -0
- package/dist/application/usecase/event/UpdateEvent.mjs.map +1 -0
- package/dist/application/usecase/event/index.cjs +14 -0
- package/dist/application/usecase/event/index.mjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.d.cts +20 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.d.mts +20 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs +15 -0
- package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs +18 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.cts +20 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.mts +20 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs +18 -0
- package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.cts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.mts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.cts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.mts +22 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs +19 -0
- package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs +22 -0
- package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs.map +1 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.cts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.mts +24 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs +21 -0
- package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs.map +1 -0
- package/dist/application/usecase/karte/CorrectKarte.cjs +20 -0
- package/dist/application/usecase/karte/CorrectKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/CorrectKarte.d.cts +20 -0
- package/dist/application/usecase/karte/CorrectKarte.d.mts +20 -0
- package/dist/application/usecase/karte/CorrectKarte.mjs +20 -0
- package/dist/application/usecase/karte/CorrectKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/CreateKarte.cjs +19 -0
- package/dist/application/usecase/karte/CreateKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/CreateKarte.d.cts +20 -0
- package/dist/application/usecase/karte/CreateKarte.d.mts +20 -0
- package/dist/application/usecase/karte/CreateKarte.mjs +19 -0
- package/dist/application/usecase/karte/CreateKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/GetKarte.cjs +18 -0
- package/dist/application/usecase/karte/GetKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/GetKarte.d.cts +20 -0
- package/dist/application/usecase/karte/GetKarte.d.mts +20 -0
- package/dist/application/usecase/karte/GetKarte.mjs +18 -0
- package/dist/application/usecase/karte/GetKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/ImportKarte.cjs +19 -0
- package/dist/application/usecase/karte/ImportKarte.cjs.map +1 -0
- package/dist/application/usecase/karte/ImportKarte.d.cts +39 -0
- package/dist/application/usecase/karte/ImportKarte.d.mts +39 -0
- package/dist/application/usecase/karte/ImportKarte.mjs +19 -0
- package/dist/application/usecase/karte/ImportKarte.mjs.map +1 -0
- package/dist/application/usecase/karte/ListKartes.cjs +15 -0
- package/dist/application/usecase/karte/ListKartes.cjs.map +1 -0
- package/dist/application/usecase/karte/ListKartes.d.cts +17 -0
- package/dist/application/usecase/karte/ListKartes.d.mts +17 -0
- package/dist/application/usecase/karte/ListKartes.mjs +15 -0
- package/dist/application/usecase/karte/ListKartes.mjs.map +1 -0
- package/dist/application/usecase/karte/index.cjs +5 -0
- package/dist/application/usecase/karte/index.mjs +6 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.cjs +20 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.cjs.map +1 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.d.cts +21 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.d.mts +21 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.mjs +20 -0
- package/dist/application/usecase/member/ChangeDiscordNickName.mjs.map +1 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.cjs +27 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.cjs.map +1 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.d.cts +25 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.d.mts +25 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.mjs +27 -0
- package/dist/application/usecase/member/ConnectDiscordAccount.mjs.map +1 -0
- package/dist/application/usecase/member/GetMember.cjs +15 -0
- package/dist/application/usecase/member/GetMember.cjs.map +1 -0
- package/dist/application/usecase/member/GetMember.d.cts +20 -0
- package/dist/application/usecase/member/GetMember.d.mts +20 -0
- package/dist/application/usecase/member/GetMember.mjs +15 -0
- package/dist/application/usecase/member/GetMember.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.cjs +18 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.d.cts +22 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.d.mts +22 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.mjs +18 -0
- package/dist/application/usecase/member/GetMemberByDiscordId.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByEmail.cjs +15 -0
- package/dist/application/usecase/member/GetMemberByEmail.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberByEmail.d.cts +20 -0
- package/dist/application/usecase/member/GetMemberByEmail.d.mts +20 -0
- package/dist/application/usecase/member/GetMemberByEmail.mjs +15 -0
- package/dist/application/usecase/member/GetMemberByEmail.mjs.map +1 -0
- package/dist/application/usecase/member/GetMemberList.cjs +15 -0
- package/dist/application/usecase/member/GetMemberList.cjs.map +1 -0
- package/dist/application/usecase/member/GetMemberList.d.cts +17 -0
- package/dist/application/usecase/member/GetMemberList.d.mts +17 -0
- package/dist/application/usecase/member/GetMemberList.mjs +15 -0
- package/dist/application/usecase/member/GetMemberList.mjs.map +1 -0
- package/dist/application/usecase/member/RegisterMember.cjs +30 -0
- package/dist/application/usecase/member/RegisterMember.cjs.map +1 -0
- package/dist/application/usecase/member/RegisterMember.d.cts +28 -0
- package/dist/application/usecase/member/RegisterMember.d.mts +28 -0
- package/dist/application/usecase/member/RegisterMember.mjs +30 -0
- package/dist/application/usecase/member/RegisterMember.mjs.map +1 -0
- package/dist/application/usecase/member/UpdateMember.cjs +24 -0
- package/dist/application/usecase/member/UpdateMember.cjs.map +1 -0
- package/dist/application/usecase/member/UpdateMember.d.cts +26 -0
- package/dist/application/usecase/member/UpdateMember.d.mts +26 -0
- package/dist/application/usecase/member/UpdateMember.mjs +24 -0
- package/dist/application/usecase/member/UpdateMember.mjs.map +1 -0
- package/dist/application/usecase/member/index.cjs +8 -0
- package/dist/application/usecase/member/index.mjs +9 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.cjs +47 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.cjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.d.cts +43 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.d.mts +43 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.mjs +46 -0
- package/dist/domain/aggregates/discord-account/DiscordAccount.mjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.cts +14 -0
- package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.mts +14 -0
- package/dist/domain/aggregates/discord-account/DiscordId.cjs +8 -0
- package/dist/domain/aggregates/discord-account/DiscordId.cjs.map +1 -0
- package/dist/domain/aggregates/discord-account/DiscordId.d.cts +9 -0
- package/dist/domain/aggregates/discord-account/DiscordId.d.mts +9 -0
- package/dist/domain/aggregates/discord-account/DiscordId.mjs +8 -0
- package/dist/domain/aggregates/discord-account/DiscordId.mjs.map +1 -0
- package/dist/domain/aggregates/event/Event.cjs +91 -0
- package/dist/domain/aggregates/event/Event.cjs.map +1 -0
- package/dist/domain/aggregates/event/Event.d.cts +59 -0
- package/dist/domain/aggregates/event/Event.d.mts +59 -0
- package/dist/domain/aggregates/event/Event.mjs +91 -0
- package/dist/domain/aggregates/event/Event.mjs.map +1 -0
- package/dist/domain/aggregates/event/EventId.cjs +8 -0
- package/dist/domain/aggregates/event/EventId.cjs.map +1 -0
- package/dist/domain/aggregates/event/EventId.d.cts +9 -0
- package/dist/domain/aggregates/event/EventId.d.mts +9 -0
- package/dist/domain/aggregates/event/EventId.mjs +8 -0
- package/dist/domain/aggregates/event/EventId.mjs.map +1 -0
- package/dist/domain/aggregates/event/EventRepository.d.cts +17 -0
- package/dist/domain/aggregates/event/EventRepository.d.mts +17 -0
- package/dist/domain/aggregates/event/Exhibit.cjs +86 -0
- package/dist/domain/aggregates/event/Exhibit.cjs.map +1 -0
- package/dist/domain/aggregates/event/Exhibit.d.cts +52 -0
- package/dist/domain/aggregates/event/Exhibit.d.mts +52 -0
- package/dist/domain/aggregates/event/Exhibit.mjs +86 -0
- package/dist/domain/aggregates/event/Exhibit.mjs.map +1 -0
- package/dist/domain/aggregates/event/ExhibitId.cjs +8 -0
- package/dist/domain/aggregates/event/ExhibitId.cjs.map +1 -0
- package/dist/domain/aggregates/event/ExhibitId.d.cts +9 -0
- package/dist/domain/aggregates/event/ExhibitId.d.mts +9 -0
- package/dist/domain/aggregates/event/ExhibitId.mjs +8 -0
- package/dist/domain/aggregates/event/ExhibitId.mjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalk.cjs +39 -0
- package/dist/domain/aggregates/event/LightningTalk.cjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalk.d.cts +27 -0
- package/dist/domain/aggregates/event/LightningTalk.d.mts +27 -0
- package/dist/domain/aggregates/event/LightningTalk.mjs +39 -0
- package/dist/domain/aggregates/event/LightningTalk.mjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.cjs +12 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.cjs.map +1 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.d.cts +9 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.d.mts +9 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.mjs +12 -0
- package/dist/domain/aggregates/event/LightningTalkDuration.mjs.map +1 -0
- package/dist/domain/aggregates/event/Url.cjs +19 -0
- package/dist/domain/aggregates/event/Url.cjs.map +1 -0
- package/dist/domain/aggregates/event/Url.d.cts +9 -0
- package/dist/domain/aggregates/event/Url.d.mts +9 -0
- package/dist/domain/aggregates/event/Url.mjs +19 -0
- package/dist/domain/aggregates/event/Url.mjs.map +1 -0
- package/dist/domain/aggregates/index.cjs +25 -0
- package/dist/domain/aggregates/index.mjs +26 -0
- package/dist/domain/aggregates/karte/Assignee.cjs +7 -0
- package/dist/domain/aggregates/karte/Assignee.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Assignee.d.cts +20 -0
- package/dist/domain/aggregates/karte/Assignee.d.mts +20 -0
- package/dist/domain/aggregates/karte/Assignee.mjs +7 -0
- package/dist/domain/aggregates/karte/Assignee.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Client.cjs +20 -0
- package/dist/domain/aggregates/karte/Client.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Client.d.cts +42 -0
- package/dist/domain/aggregates/karte/Client.d.mts +42 -0
- package/dist/domain/aggregates/karte/Client.mjs +19 -0
- package/dist/domain/aggregates/karte/Client.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Consent.d.cts +14 -0
- package/dist/domain/aggregates/karte/Consent.d.mts +14 -0
- package/dist/domain/aggregates/karte/Consultation.d.cts +19 -0
- package/dist/domain/aggregates/karte/Consultation.d.mts +19 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.cjs +89 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.cjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.d.cts +75 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.d.mts +75 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.mjs +89 -0
- package/dist/domain/aggregates/karte/ConsultationCategory.mjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultedAt.cjs +90 -0
- package/dist/domain/aggregates/karte/ConsultedAt.cjs.map +1 -0
- package/dist/domain/aggregates/karte/ConsultedAt.d.cts +49 -0
- package/dist/domain/aggregates/karte/ConsultedAt.d.mts +49 -0
- package/dist/domain/aggregates/karte/ConsultedAt.mjs +85 -0
- package/dist/domain/aggregates/karte/ConsultedAt.mjs.map +1 -0
- package/dist/domain/aggregates/karte/FollowUp.cjs +13 -0
- package/dist/domain/aggregates/karte/FollowUp.cjs.map +1 -0
- package/dist/domain/aggregates/karte/FollowUp.d.cts +8 -0
- package/dist/domain/aggregates/karte/FollowUp.d.mts +8 -0
- package/dist/domain/aggregates/karte/FollowUp.mjs +13 -0
- package/dist/domain/aggregates/karte/FollowUp.mjs.map +1 -0
- package/dist/domain/aggregates/karte/Karte.cjs +94 -0
- package/dist/domain/aggregates/karte/Karte.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Karte.d.cts +131 -0
- package/dist/domain/aggregates/karte/Karte.d.mts +131 -0
- package/dist/domain/aggregates/karte/Karte.mjs +94 -0
- package/dist/domain/aggregates/karte/Karte.mjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteId.cjs +8 -0
- package/dist/domain/aggregates/karte/KarteId.cjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteId.d.cts +9 -0
- package/dist/domain/aggregates/karte/KarteId.d.mts +9 -0
- package/dist/domain/aggregates/karte/KarteId.mjs +8 -0
- package/dist/domain/aggregates/karte/KarteId.mjs.map +1 -0
- package/dist/domain/aggregates/karte/KarteRepository.d.cts +12 -0
- package/dist/domain/aggregates/karte/KarteRepository.d.mts +12 -0
- package/dist/domain/aggregates/karte/Resolution.cjs +7 -0
- package/dist/domain/aggregates/karte/Resolution.cjs.map +1 -0
- package/dist/domain/aggregates/karte/Resolution.d.cts +21 -0
- package/dist/domain/aggregates/karte/Resolution.d.mts +21 -0
- package/dist/domain/aggregates/karte/Resolution.mjs +7 -0
- package/dist/domain/aggregates/karte/Resolution.mjs.map +1 -0
- package/dist/domain/aggregates/karte/SupportRecord.d.cts +22 -0
- package/dist/domain/aggregates/karte/SupportRecord.d.mts +22 -0
- package/dist/domain/aggregates/karte/WorkDuration.cjs +11 -0
- package/dist/domain/aggregates/karte/WorkDuration.cjs.map +1 -0
- package/dist/domain/aggregates/karte/WorkDuration.d.cts +10 -0
- package/dist/domain/aggregates/karte/WorkDuration.d.mts +10 -0
- package/dist/domain/aggregates/karte/WorkDuration.mjs +11 -0
- package/dist/domain/aggregates/karte/WorkDuration.mjs.map +1 -0
- package/dist/domain/aggregates/karte/index.cjs +9 -0
- package/dist/domain/aggregates/karte/index.mjs +10 -0
- package/dist/domain/aggregates/member/Email.cjs +12 -0
- package/dist/domain/aggregates/member/Email.cjs.map +1 -0
- package/dist/domain/aggregates/member/Email.d.cts +9 -0
- package/dist/domain/aggregates/member/Email.d.mts +9 -0
- package/dist/domain/aggregates/member/Email.mjs +12 -0
- package/dist/domain/aggregates/member/Email.mjs.map +1 -0
- package/dist/domain/aggregates/member/Member.cjs +247 -0
- package/dist/domain/aggregates/member/Member.cjs.map +1 -0
- package/dist/domain/aggregates/member/Member.d.cts +91 -0
- package/dist/domain/aggregates/member/Member.d.mts +91 -0
- package/dist/domain/aggregates/member/Member.mjs +245 -0
- package/dist/domain/aggregates/member/Member.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberEvent.cjs +20 -0
- package/dist/domain/aggregates/member/MemberEvent.cjs.map +1 -0
- package/dist/domain/aggregates/member/MemberEvent.d.cts +115 -0
- package/dist/domain/aggregates/member/MemberEvent.d.mts +115 -0
- package/dist/domain/aggregates/member/MemberEvent.mjs +20 -0
- package/dist/domain/aggregates/member/MemberEvent.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberId.cjs +8 -0
- package/dist/domain/aggregates/member/MemberId.cjs.map +1 -0
- package/dist/domain/aggregates/member/MemberId.d.cts +9 -0
- package/dist/domain/aggregates/member/MemberId.d.mts +9 -0
- package/dist/domain/aggregates/member/MemberId.mjs +8 -0
- package/dist/domain/aggregates/member/MemberId.mjs.map +1 -0
- package/dist/domain/aggregates/member/MemberRepository.d.cts +14 -0
- package/dist/domain/aggregates/member/MemberRepository.d.mts +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.cjs +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.cjs.map +1 -0
- package/dist/domain/aggregates/member/UniversityEmail.d.cts +9 -0
- package/dist/domain/aggregates/member/UniversityEmail.d.mts +9 -0
- package/dist/domain/aggregates/member/UniversityEmail.mjs +14 -0
- package/dist/domain/aggregates/member/UniversityEmail.mjs.map +1 -0
- package/dist/domain/aggregates/member/index.cjs +5 -0
- package/dist/domain/aggregates/member/index.mjs +6 -0
- package/dist/domain/base/DomainEvent.d.cts +9 -0
- package/dist/domain/base/DomainEvent.d.mts +9 -0
- package/dist/domain/base/NonEmptyArray.d.cts +10 -0
- package/dist/domain/base/NonEmptyArray.d.mts +10 -0
- package/dist/domain/base/NonEmptyString.cjs +12 -0
- package/dist/domain/base/NonEmptyString.cjs.map +1 -0
- package/dist/domain/base/NonEmptyString.d.cts +12 -0
- package/dist/domain/base/NonEmptyString.d.mts +12 -0
- package/dist/domain/base/NonEmptyString.mjs +12 -0
- package/dist/domain/base/NonEmptyString.mjs.map +1 -0
- package/dist/domain/base/ValueObject.cjs +21 -0
- package/dist/domain/base/ValueObject.cjs.map +1 -0
- package/dist/domain/base/ValueObject.d.cts +12 -0
- package/dist/domain/base/ValueObject.d.mts +12 -0
- package/dist/domain/base/ValueObject.mjs +21 -0
- package/dist/domain/base/ValueObject.mjs.map +1 -0
- package/dist/domain/exceptions/DomainExceptions.cjs +196 -0
- package/dist/domain/exceptions/DomainExceptions.cjs.map +1 -0
- package/dist/domain/exceptions/DomainExceptions.d.cts +192 -0
- package/dist/domain/exceptions/DomainExceptions.d.mts +192 -0
- package/dist/domain/exceptions/DomainExceptions.mjs +181 -0
- package/dist/domain/exceptions/DomainExceptions.mjs.map +1 -0
- package/dist/domain/index.cjs +32 -0
- package/dist/domain/index.mjs +33 -0
- package/dist/domain/shared/Recorded.cjs +17 -0
- package/dist/domain/shared/Recorded.cjs.map +1 -0
- package/dist/domain/shared/Recorded.d.cts +20 -0
- package/dist/domain/shared/Recorded.d.mts +20 -0
- package/dist/domain/shared/Recorded.mjs +16 -0
- package/dist/domain/shared/Recorded.mjs.map +1 -0
- package/dist/domain/shared/StudentId.cjs +35 -0
- package/dist/domain/shared/StudentId.cjs.map +1 -0
- package/dist/domain/shared/StudentId.d.cts +25 -0
- package/dist/domain/shared/StudentId.d.mts +25 -0
- package/dist/domain/shared/StudentId.mjs +35 -0
- package/dist/domain/shared/StudentId.mjs.map +1 -0
- package/dist/domain/shared/affiliation/Affiliation.cjs +12 -0
- package/dist/domain/shared/affiliation/Affiliation.cjs.map +1 -0
- package/dist/domain/shared/affiliation/Affiliation.d.cts +59 -0
- package/dist/domain/shared/affiliation/Affiliation.d.mts +59 -0
- package/dist/domain/shared/affiliation/Affiliation.mjs +12 -0
- package/dist/domain/shared/affiliation/Affiliation.mjs.map +1 -0
- package/dist/domain/shared/affiliation/index.cjs +2 -0
- package/dist/domain/shared/affiliation/index.mjs +3 -0
- package/dist/domain/shared/affiliation/universityStructure.cjs +444 -0
- package/dist/domain/shared/affiliation/universityStructure.cjs.map +1 -0
- package/dist/domain/shared/affiliation/universityStructure.d.cts +262 -0
- package/dist/domain/shared/affiliation/universityStructure.d.mts +262 -0
- package/dist/domain/shared/affiliation/universityStructure.mjs +439 -0
- package/dist/domain/shared/affiliation/universityStructure.mjs.map +1 -0
- package/dist/domain/shared/index.cjs +5 -0
- package/dist/domain/shared/index.mjs +6 -0
- package/dist/executable/event.cjs +63 -0
- package/dist/executable/event.cjs.map +1 -0
- package/dist/executable/event.d.cts +56 -0
- package/dist/executable/event.d.mts +56 -0
- package/dist/executable/event.mjs +63 -0
- package/dist/executable/event.mjs.map +1 -0
- package/dist/executable/eventService.cjs +146 -0
- package/dist/executable/eventService.cjs.map +1 -0
- package/dist/executable/eventService.d.cts +143 -0
- package/dist/executable/eventService.d.mts +143 -0
- package/dist/executable/eventService.mjs +146 -0
- package/dist/executable/eventService.mjs.map +1 -0
- package/dist/executable/index.cjs +6 -0
- package/dist/executable/index.mjs +7 -0
- package/dist/executable/karte.cjs +24 -0
- package/dist/executable/karte.cjs.map +1 -0
- package/dist/executable/karte.d.cts +19 -0
- package/dist/executable/karte.d.mts +19 -0
- package/dist/executable/karte.mjs +24 -0
- package/dist/executable/karte.mjs.map +1 -0
- package/dist/executable/karteService.cjs +79 -0
- package/dist/executable/karteService.cjs.map +1 -0
- package/dist/executable/karteService.d.cts +87 -0
- package/dist/executable/karteService.d.mts +87 -0
- package/dist/executable/karteService.mjs +79 -0
- package/dist/executable/karteService.mjs.map +1 -0
- package/dist/executable/member.cjs +32 -0
- package/dist/executable/member.cjs.map +1 -0
- package/dist/executable/member.d.cts +25 -0
- package/dist/executable/member.d.mts +25 -0
- package/dist/executable/member.mjs +32 -0
- package/dist/executable/member.mjs.map +1 -0
- package/dist/executable/memberService.cjs +63 -0
- package/dist/executable/memberService.cjs.map +1 -0
- package/dist/executable/memberService.d.cts +59 -0
- package/dist/executable/memberService.d.mts +59 -0
- package/dist/executable/memberService.mjs +63 -0
- package/dist/executable/memberService.mjs.map +1 -0
- package/dist/index.cjs +105 -1914
- package/dist/index.d.cts +46 -754
- package/dist/index.d.mts +46 -0
- package/dist/index.mjs +39 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs +57 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs +57 -0
- package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs +196 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs +196 -0
- package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs +241 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs +241 -0
- package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs +112 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs.map +1 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs +112 -0
- package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs.map +1 -0
- package/dist/infrastructure/drizzle/client.cjs +20 -0
- package/dist/infrastructure/drizzle/client.cjs.map +1 -0
- package/dist/infrastructure/drizzle/client.mjs +20 -0
- package/dist/infrastructure/drizzle/client.mjs.map +1 -0
- package/dist/infrastructure/drizzle/index.cjs +4 -0
- package/dist/infrastructure/drizzle/index.mjs +5 -0
- package/dist/infrastructure/drizzle/schema.cjs +353 -0
- package/dist/infrastructure/drizzle/schema.cjs.map +1 -0
- package/dist/infrastructure/drizzle/schema.mjs +337 -0
- package/dist/infrastructure/drizzle/schema.mjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs +14 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs +14 -0
- package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.cjs +61 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.cjs.map +1 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.mjs +61 -0
- package/dist/infrastructure/drizzle/serializeMemberEvent.mjs.map +1 -0
- package/dist/infrastructure/index.cjs +5 -0
- package/dist/infrastructure/index.mjs +6 -0
- package/package.json +67 -60
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -754
- package/dist/index.js +0 -1875
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const require_DomainExceptions = require("../../exceptions/DomainExceptions.cjs");
|
|
2
|
+
const require_ValueObject = require("../../base/ValueObject.cjs");
|
|
3
|
+
//#region src/domain/aggregates/member/Email.ts
|
|
4
|
+
var Email = class extends require_ValueObject.ValueObject {
|
|
5
|
+
validate() {
|
|
6
|
+
this.throwIfInvalid(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(this.value), new require_DomainExceptions.InvalidEmailFormatException(this.value));
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.Email = Email;
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=Email.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.cjs","names":["ValueObject","InvalidEmailFormatException"],"sources":["../../../../src/domain/aggregates/member/Email.ts"],"sourcesContent":["import { ValueObject } from \"../../base\";\nimport { InvalidEmailFormatException } from \"../../exceptions\";\n\nexport class Email extends ValueObject<string> {\n\tprotected validate(): void {\n\t\tconst emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t\tthis.throwIfInvalid(emailRegex.test(this.value), new InvalidEmailFormatException(this.value));\n\t}\n}\n"],"mappings":";;;AAGA,IAAa,QAAb,cAA2BA,oBAAAA,YAAoB;CAC9C,WAA2B;AAE1B,OAAK,eADc,mDACY,KAAK,KAAK,MAAM,EAAE,IAAIC,yBAAAA,4BAA4B,KAAK,MAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValueObject } from "../../base/ValueObject.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/domain/aggregates/member/Email.d.ts
|
|
4
|
+
declare class Email extends ValueObject<string> {
|
|
5
|
+
protected validate(): void;
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { Email };
|
|
9
|
+
//# sourceMappingURL=Email.d.cts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValueObject } from "../../base/ValueObject.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/domain/aggregates/member/Email.d.ts
|
|
4
|
+
declare class Email extends ValueObject<string> {
|
|
5
|
+
protected validate(): void;
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { Email };
|
|
9
|
+
//# sourceMappingURL=Email.d.mts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InvalidEmailFormatException } from "../../exceptions/DomainExceptions.mjs";
|
|
2
|
+
import { ValueObject } from "../../base/ValueObject.mjs";
|
|
3
|
+
//#region src/domain/aggregates/member/Email.ts
|
|
4
|
+
var Email = class extends ValueObject {
|
|
5
|
+
validate() {
|
|
6
|
+
this.throwIfInvalid(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(this.value), new InvalidEmailFormatException(this.value));
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { Email };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=Email.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Email.mjs","names":[],"sources":["../../../../src/domain/aggregates/member/Email.ts"],"sourcesContent":["import { ValueObject } from \"../../base\";\nimport { InvalidEmailFormatException } from \"../../exceptions\";\n\nexport class Email extends ValueObject<string> {\n\tprotected validate(): void {\n\t\tconst emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\t\tthis.throwIfInvalid(emailRegex.test(this.value), new InvalidEmailFormatException(this.value));\n\t}\n}\n"],"mappings":";;;AAGA,IAAa,QAAb,cAA2B,YAAoB;CAC9C,WAA2B;AAE1B,OAAK,eADc,mDACY,KAAK,KAAK,MAAM,EAAE,IAAI,4BAA4B,KAAK,MAAM,CAAC"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
const require_DomainExceptions = require("../../exceptions/DomainExceptions.cjs");
|
|
2
|
+
const require_Affiliation = require("../../shared/affiliation/Affiliation.cjs");
|
|
3
|
+
require("../../shared/index.cjs");
|
|
4
|
+
//#region src/domain/aggregates/member/Member.ts
|
|
5
|
+
var ActiveMember = class ActiveMember {
|
|
6
|
+
status = "active";
|
|
7
|
+
constructor(id, email, name, personalEmail, studentId, affiliation, domainEvents = []) {
|
|
8
|
+
this.id = id;
|
|
9
|
+
this.email = email;
|
|
10
|
+
this.name = name;
|
|
11
|
+
this.personalEmail = personalEmail;
|
|
12
|
+
this.studentId = studentId;
|
|
13
|
+
this.affiliation = affiliation;
|
|
14
|
+
this.domainEvents = domainEvents;
|
|
15
|
+
}
|
|
16
|
+
static register(props) {
|
|
17
|
+
return new ActiveMember(props.id, props.email, props.name, props.personalEmail, props.studentId, props.affiliation, [{
|
|
18
|
+
eventName: "MemberRegistered",
|
|
19
|
+
id: props.id,
|
|
20
|
+
email: props.email,
|
|
21
|
+
name: props.name,
|
|
22
|
+
personalEmail: props.personalEmail,
|
|
23
|
+
studentId: props.studentId,
|
|
24
|
+
affiliation: props.affiliation,
|
|
25
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
26
|
+
}]);
|
|
27
|
+
}
|
|
28
|
+
static reconstruct(props) {
|
|
29
|
+
return new ActiveMember(props.id, props.email, props.name, props.personalEmail, props.studentId, props.affiliation);
|
|
30
|
+
}
|
|
31
|
+
remove(reason) {
|
|
32
|
+
return new FormerMember(this.id, this.email, this.name, this.personalEmail, [...this.domainEvents, {
|
|
33
|
+
eventName: "MemberRemoved",
|
|
34
|
+
id: this.id,
|
|
35
|
+
email: this.email,
|
|
36
|
+
reason,
|
|
37
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
38
|
+
}]);
|
|
39
|
+
}
|
|
40
|
+
unconfirm() {
|
|
41
|
+
return new UnconfirmedMember(this.id, this.email, this.name, this.personalEmail, [...this.domainEvents, {
|
|
42
|
+
eventName: "MemberUnconfirmed",
|
|
43
|
+
id: this.id,
|
|
44
|
+
email: this.email,
|
|
45
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
46
|
+
}]);
|
|
47
|
+
}
|
|
48
|
+
changeName(newName) {
|
|
49
|
+
return new ActiveMember(this.id, this.email, newName, this.personalEmail, this.studentId, this.affiliation, [...this.domainEvents, {
|
|
50
|
+
eventName: "NameChanged",
|
|
51
|
+
id: this.id,
|
|
52
|
+
email: this.email,
|
|
53
|
+
previousName: this.name,
|
|
54
|
+
newName,
|
|
55
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
56
|
+
}]);
|
|
57
|
+
}
|
|
58
|
+
changePersonalEmail(newEmail) {
|
|
59
|
+
return new ActiveMember(this.id, this.email, this.name, newEmail, this.studentId, this.affiliation, [...this.domainEvents, {
|
|
60
|
+
eventName: "PersonalEmailChanged",
|
|
61
|
+
id: this.id,
|
|
62
|
+
email: this.email,
|
|
63
|
+
previousPersonalEmail: this.personalEmail,
|
|
64
|
+
newPersonalEmail: newEmail,
|
|
65
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
66
|
+
}]);
|
|
67
|
+
}
|
|
68
|
+
changeStudentId(newStudentId) {
|
|
69
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, newStudentId, this.affiliation, [...this.domainEvents, {
|
|
70
|
+
eventName: "StudentIdChanged",
|
|
71
|
+
id: this.id,
|
|
72
|
+
email: this.email,
|
|
73
|
+
previousStudentId: this.studentId,
|
|
74
|
+
newStudentId,
|
|
75
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
76
|
+
}]);
|
|
77
|
+
}
|
|
78
|
+
advanceInternally(newAffiliation, newStudentId) {
|
|
79
|
+
this.validateAdvancement(newAffiliation);
|
|
80
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, newStudentId, newAffiliation, [...this.domainEvents, {
|
|
81
|
+
eventName: "InternallyAdvanced",
|
|
82
|
+
id: this.id,
|
|
83
|
+
email: this.email,
|
|
84
|
+
previousAffiliation: this.affiliation,
|
|
85
|
+
newAffiliation,
|
|
86
|
+
previousStudentId: this.studentId,
|
|
87
|
+
newStudentId,
|
|
88
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
89
|
+
}]);
|
|
90
|
+
}
|
|
91
|
+
transferFaculty(newAffiliation) {
|
|
92
|
+
if (this.affiliation.type !== "undergraduate") throw new require_DomainExceptions.InvalidAffiliationOperationException("転学部", require_Affiliation.affiliationTypeNames[this.affiliation.type], "学部生のみ可能です");
|
|
93
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, this.studentId, newAffiliation, [...this.domainEvents, {
|
|
94
|
+
eventName: "FacultyTransferred",
|
|
95
|
+
id: this.id,
|
|
96
|
+
email: this.email,
|
|
97
|
+
previousAffiliation: this.affiliation,
|
|
98
|
+
newAffiliation,
|
|
99
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
100
|
+
}]);
|
|
101
|
+
}
|
|
102
|
+
transferDepartment(newAffiliation) {
|
|
103
|
+
if (this.affiliation.type !== "undergraduate") throw new require_DomainExceptions.InvalidAffiliationOperationException("転学科", require_Affiliation.affiliationTypeNames[this.affiliation.type], "学部生のみ可能です");
|
|
104
|
+
if (this.affiliation.value.faculty !== newAffiliation.value.faculty) throw new require_DomainExceptions.InvalidAffiliationOperationException("転学科", require_Affiliation.affiliationTypeNames[this.affiliation.type], `同一学部内でのみ可能です(現在: ${this.affiliation.value.faculty})`);
|
|
105
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, this.studentId, newAffiliation, [...this.domainEvents, {
|
|
106
|
+
eventName: "DepartmentTransferred",
|
|
107
|
+
id: this.id,
|
|
108
|
+
email: this.email,
|
|
109
|
+
previousAffiliation: this.affiliation,
|
|
110
|
+
newAffiliation,
|
|
111
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
112
|
+
}]);
|
|
113
|
+
}
|
|
114
|
+
transferMajor(newAffiliation) {
|
|
115
|
+
if (this.affiliation.type === "undergraduate") throw new require_DomainExceptions.InvalidAffiliationOperationException("転専攻", require_Affiliation.affiliationTypeNames[this.affiliation.type], "大学院生のみ可能です");
|
|
116
|
+
if (this.affiliation.value.school !== newAffiliation.value.school) throw new require_DomainExceptions.InvalidAffiliationOperationException("転専攻", require_Affiliation.affiliationTypeNames[this.affiliation.type], `同一研究科内でのみ可能です(現在: ${this.affiliation.value.school})`);
|
|
117
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, this.studentId, newAffiliation, [...this.domainEvents, {
|
|
118
|
+
eventName: "MajorTransferred",
|
|
119
|
+
id: this.id,
|
|
120
|
+
email: this.email,
|
|
121
|
+
previousAffiliation: this.affiliation,
|
|
122
|
+
newAffiliation,
|
|
123
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
124
|
+
}]);
|
|
125
|
+
}
|
|
126
|
+
getDomainEvents() {
|
|
127
|
+
return [...this.domainEvents];
|
|
128
|
+
}
|
|
129
|
+
validateAdvancement(newAffiliation) {
|
|
130
|
+
if (this.affiliation.type === "undergraduate") {
|
|
131
|
+
if (newAffiliation.type !== "master") throw new require_DomainExceptions.InvalidAffiliationOperationException("内部進学", require_Affiliation.affiliationTypeNames[this.affiliation.type], "学部生からは修士課程のみ可能です");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (this.affiliation.type === "master") {
|
|
135
|
+
if (newAffiliation.type !== "doctoral") throw new require_DomainExceptions.InvalidAffiliationOperationException("内部進学", require_Affiliation.affiliationTypeNames[this.affiliation.type], "修士からは博士課程のみ可能です");
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
throw new require_DomainExceptions.InvalidAffiliationOperationException("内部進学", require_Affiliation.affiliationTypeNames[this.affiliation.type], "この課程からの内部進学はできません");
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var UnconfirmedMember = class UnconfirmedMember {
|
|
142
|
+
status = "unconfirmed";
|
|
143
|
+
constructor(id, email, name, personalEmail, domainEvents = []) {
|
|
144
|
+
this.id = id;
|
|
145
|
+
this.email = email;
|
|
146
|
+
this.name = name;
|
|
147
|
+
this.personalEmail = personalEmail;
|
|
148
|
+
this.domainEvents = domainEvents;
|
|
149
|
+
}
|
|
150
|
+
static reconstruct(props) {
|
|
151
|
+
return new UnconfirmedMember(props.id, props.email, props.name, props.personalEmail);
|
|
152
|
+
}
|
|
153
|
+
confirm(studentId, affiliation) {
|
|
154
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, studentId, affiliation, [...this.domainEvents, {
|
|
155
|
+
eventName: "MemberConfirmed",
|
|
156
|
+
id: this.id,
|
|
157
|
+
email: this.email,
|
|
158
|
+
studentId,
|
|
159
|
+
affiliation,
|
|
160
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
161
|
+
}]);
|
|
162
|
+
}
|
|
163
|
+
remove(reason) {
|
|
164
|
+
return new FormerMember(this.id, this.email, this.name, this.personalEmail, [...this.domainEvents, {
|
|
165
|
+
eventName: "MemberRemoved",
|
|
166
|
+
id: this.id,
|
|
167
|
+
email: this.email,
|
|
168
|
+
reason,
|
|
169
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
170
|
+
}]);
|
|
171
|
+
}
|
|
172
|
+
changeName(newName) {
|
|
173
|
+
return new UnconfirmedMember(this.id, this.email, newName, this.personalEmail, [...this.domainEvents, {
|
|
174
|
+
eventName: "NameChanged",
|
|
175
|
+
id: this.id,
|
|
176
|
+
email: this.email,
|
|
177
|
+
previousName: this.name,
|
|
178
|
+
newName,
|
|
179
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
180
|
+
}]);
|
|
181
|
+
}
|
|
182
|
+
changePersonalEmail(newEmail) {
|
|
183
|
+
return new UnconfirmedMember(this.id, this.email, this.name, newEmail, [...this.domainEvents, {
|
|
184
|
+
eventName: "PersonalEmailChanged",
|
|
185
|
+
id: this.id,
|
|
186
|
+
email: this.email,
|
|
187
|
+
previousPersonalEmail: this.personalEmail,
|
|
188
|
+
newPersonalEmail: newEmail,
|
|
189
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
190
|
+
}]);
|
|
191
|
+
}
|
|
192
|
+
getDomainEvents() {
|
|
193
|
+
return [...this.domainEvents];
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
var FormerMember = class FormerMember {
|
|
197
|
+
status = "former";
|
|
198
|
+
constructor(id, email, name, personalEmail, domainEvents = []) {
|
|
199
|
+
this.id = id;
|
|
200
|
+
this.email = email;
|
|
201
|
+
this.name = name;
|
|
202
|
+
this.personalEmail = personalEmail;
|
|
203
|
+
this.domainEvents = domainEvents;
|
|
204
|
+
}
|
|
205
|
+
static reconstruct(props) {
|
|
206
|
+
return new FormerMember(props.id, props.email, props.name, props.personalEmail);
|
|
207
|
+
}
|
|
208
|
+
reregister(studentId, affiliation) {
|
|
209
|
+
return new ActiveMember(this.id, this.email, this.name, this.personalEmail, studentId, affiliation, [...this.domainEvents, {
|
|
210
|
+
eventName: "MemberReregistered",
|
|
211
|
+
id: this.id,
|
|
212
|
+
email: this.email,
|
|
213
|
+
studentId,
|
|
214
|
+
affiliation,
|
|
215
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
216
|
+
}]);
|
|
217
|
+
}
|
|
218
|
+
changeName(newName) {
|
|
219
|
+
return new FormerMember(this.id, this.email, newName, this.personalEmail, [...this.domainEvents, {
|
|
220
|
+
eventName: "NameChanged",
|
|
221
|
+
id: this.id,
|
|
222
|
+
email: this.email,
|
|
223
|
+
previousName: this.name,
|
|
224
|
+
newName,
|
|
225
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
226
|
+
}]);
|
|
227
|
+
}
|
|
228
|
+
changePersonalEmail(newEmail) {
|
|
229
|
+
return new FormerMember(this.id, this.email, this.name, newEmail, [...this.domainEvents, {
|
|
230
|
+
eventName: "PersonalEmailChanged",
|
|
231
|
+
id: this.id,
|
|
232
|
+
email: this.email,
|
|
233
|
+
previousPersonalEmail: this.personalEmail,
|
|
234
|
+
newPersonalEmail: newEmail,
|
|
235
|
+
occurredAt: /* @__PURE__ */ new Date()
|
|
236
|
+
}]);
|
|
237
|
+
}
|
|
238
|
+
getDomainEvents() {
|
|
239
|
+
return [...this.domainEvents];
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
//#endregion
|
|
243
|
+
exports.ActiveMember = ActiveMember;
|
|
244
|
+
exports.FormerMember = FormerMember;
|
|
245
|
+
exports.UnconfirmedMember = UnconfirmedMember;
|
|
246
|
+
|
|
247
|
+
//# sourceMappingURL=Member.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Member.cjs","names":["InvalidAffiliationOperationException","affiliationTypeNames"],"sources":["../../../../src/domain/aggregates/member/Member.ts"],"sourcesContent":["import { InvalidAffiliationOperationException } from \"../../exceptions\";\nimport type { Recorded } from \"../../shared\";\nimport type { StudentId } from \"../../shared\";\nimport {\n\ttype CompleteAffiliation,\n\ttype CompleteDoctoralAffiliation,\n\ttype CompleteMasterAffiliation,\n\ttype CompleteProfessionalAffiliation,\n\ttype CompleteUndergraduateAffiliation,\n\taffiliationTypeNames,\n} from \"../../shared\";\nimport type { Email } from \"./Email\";\nimport type { MemberDomainEvent, RemovalReason } from \"./MemberEvent\";\nimport type { MemberId } from \"./MemberId\";\nimport type { UniversityEmail } from \"./UniversityEmail\";\n\n// ── ActiveMember(室員) ──\n\nexport class ActiveMember {\n\treadonly status = \"active\" as const;\n\n\tconstructor(\n\t\treadonly id: MemberId,\n\t\treadonly email: UniversityEmail,\n\t\treadonly name: string,\n\t\treadonly personalEmail: Recorded<Email>,\n\t\treadonly studentId: StudentId,\n\t\treadonly affiliation: CompleteAffiliation,\n\t\tprivate readonly domainEvents: readonly MemberDomainEvent[] = [],\n\t) {}\n\n\tstatic register(props: {\n\t\tid: MemberId;\n\t\temail: UniversityEmail;\n\t\tname: string;\n\t\tpersonalEmail: Recorded<Email>;\n\t\tstudentId: StudentId;\n\t\taffiliation: CompleteAffiliation;\n\t}): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tprops.id,\n\t\t\tprops.email,\n\t\t\tprops.name,\n\t\t\tprops.personalEmail,\n\t\t\tprops.studentId,\n\t\t\tprops.affiliation,\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\teventName: \"MemberRegistered\",\n\t\t\t\t\tid: props.id,\n\t\t\t\t\temail: props.email,\n\t\t\t\t\tname: props.name,\n\t\t\t\t\tpersonalEmail: props.personalEmail,\n\t\t\t\t\tstudentId: props.studentId,\n\t\t\t\t\taffiliation: props.affiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tstatic reconstruct(props: {\n\t\tid: MemberId;\n\t\temail: UniversityEmail;\n\t\tname: string;\n\t\tpersonalEmail: Recorded<Email>;\n\t\tstudentId: StudentId;\n\t\taffiliation: CompleteAffiliation;\n\t}): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tprops.id,\n\t\t\tprops.email,\n\t\t\tprops.name,\n\t\t\tprops.personalEmail,\n\t\t\tprops.studentId,\n\t\t\tprops.affiliation,\n\t\t);\n\t}\n\n\tremove(reason: RemovalReason): FormerMember {\n\t\treturn new FormerMember(this.id, this.email, this.name, this.personalEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"MemberRemoved\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\treason,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tunconfirm(): UnconfirmedMember {\n\t\treturn new UnconfirmedMember(this.id, this.email, this.name, this.personalEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"MemberUnconfirmed\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tchangeName(newName: string): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tnewName,\n\t\t\tthis.personalEmail,\n\t\t\tthis.studentId,\n\t\t\tthis.affiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"NameChanged\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousName: this.name,\n\t\t\t\t\tnewName,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tchangePersonalEmail(newEmail: Recorded<Email>): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tnewEmail,\n\t\t\tthis.studentId,\n\t\t\tthis.affiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"PersonalEmailChanged\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousPersonalEmail: this.personalEmail,\n\t\t\t\t\tnewPersonalEmail: newEmail,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tchangeStudentId(newStudentId: StudentId): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tnewStudentId,\n\t\t\tthis.affiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"StudentIdChanged\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousStudentId: this.studentId,\n\t\t\t\t\tnewStudentId,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tadvanceInternally(\n\t\tnewAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation,\n\t\tnewStudentId: StudentId,\n\t): ActiveMember {\n\t\tthis.validateAdvancement(newAffiliation);\n\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tnewStudentId,\n\t\t\tnewAffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"InternallyAdvanced\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousAffiliation: this.affiliation,\n\t\t\t\t\tnewAffiliation,\n\t\t\t\t\tpreviousStudentId: this.studentId,\n\t\t\t\t\tnewStudentId,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\ttransferFaculty(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember {\n\t\tif (this.affiliation.type !== \"undergraduate\") {\n\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\"転学部\",\n\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t\"学部生のみ可能です\",\n\t\t\t);\n\t\t}\n\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tthis.studentId,\n\t\t\tnewAffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"FacultyTransferred\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousAffiliation: this.affiliation,\n\t\t\t\t\tnewAffiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\ttransferDepartment(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember {\n\t\tif (this.affiliation.type !== \"undergraduate\") {\n\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\"転学科\",\n\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t\"学部生のみ可能です\",\n\t\t\t);\n\t\t}\n\n\t\tif (this.affiliation.value.faculty !== newAffiliation.value.faculty) {\n\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\"転学科\",\n\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t`同一学部内でのみ可能です(現在: ${this.affiliation.value.faculty})`,\n\t\t\t);\n\t\t}\n\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tthis.studentId,\n\t\t\tnewAffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"DepartmentTransferred\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousAffiliation: this.affiliation,\n\t\t\t\t\tnewAffiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\ttransferMajor(\n\t\tnewAffiliation:\n\t\t\t| CompleteMasterAffiliation\n\t\t\t| CompleteDoctoralAffiliation\n\t\t\t| CompleteProfessionalAffiliation,\n\t): ActiveMember {\n\t\tif (this.affiliation.type === \"undergraduate\") {\n\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\"転専攻\",\n\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t\"大学院生のみ可能です\",\n\t\t\t);\n\t\t}\n\n\t\tif (this.affiliation.value.school !== newAffiliation.value.school) {\n\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\"転専攻\",\n\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t`同一研究科内でのみ可能です(現在: ${this.affiliation.value.school})`,\n\t\t\t);\n\t\t}\n\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tthis.studentId,\n\t\t\tnewAffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"MajorTransferred\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tpreviousAffiliation: this.affiliation,\n\t\t\t\t\tnewAffiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tgetDomainEvents(): readonly MemberDomainEvent[] {\n\t\treturn [...this.domainEvents];\n\t}\n\n\tprivate validateAdvancement(\n\t\tnewAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation,\n\t): void {\n\t\tif (this.affiliation.type === \"undergraduate\") {\n\t\t\tif (newAffiliation.type !== \"master\") {\n\t\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\t\"内部進学\",\n\t\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t\t\"学部生からは修士課程のみ可能です\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.affiliation.type === \"master\") {\n\t\t\tif (newAffiliation.type !== \"doctoral\") {\n\t\t\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\t\t\"内部進学\",\n\t\t\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\t\t\"修士からは博士課程のみ可能です\",\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tthrow new InvalidAffiliationOperationException(\n\t\t\t\"内部進学\",\n\t\t\taffiliationTypeNames[this.affiliation.type],\n\t\t\t\"この課程からの内部進学はできません\",\n\t\t);\n\t}\n}\n\n// ── UnconfirmedMember(未確認) ──\n\nexport class UnconfirmedMember {\n\treadonly status = \"unconfirmed\" as const;\n\n\tconstructor(\n\t\treadonly id: MemberId,\n\t\treadonly email: UniversityEmail,\n\t\treadonly name: string,\n\t\treadonly personalEmail: Recorded<Email>,\n\t\tprivate readonly domainEvents: readonly MemberDomainEvent[] = [],\n\t) {}\n\n\tstatic reconstruct(props: {\n\t\tid: MemberId;\n\t\temail: UniversityEmail;\n\t\tname: string;\n\t\tpersonalEmail: Recorded<Email>;\n\t}): UnconfirmedMember {\n\t\treturn new UnconfirmedMember(props.id, props.email, props.name, props.personalEmail);\n\t}\n\n\tconfirm(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tstudentId,\n\t\t\taffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"MemberConfirmed\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tstudentId,\n\t\t\t\t\taffiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tremove(reason: RemovalReason): FormerMember {\n\t\treturn new FormerMember(this.id, this.email, this.name, this.personalEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"MemberRemoved\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\treason,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tchangeName(newName: string): UnconfirmedMember {\n\t\treturn new UnconfirmedMember(this.id, this.email, newName, this.personalEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"NameChanged\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\tpreviousName: this.name,\n\t\t\t\tnewName,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tchangePersonalEmail(newEmail: Recorded<Email>): UnconfirmedMember {\n\t\treturn new UnconfirmedMember(this.id, this.email, this.name, newEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"PersonalEmailChanged\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\tpreviousPersonalEmail: this.personalEmail,\n\t\t\t\tnewPersonalEmail: newEmail,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tgetDomainEvents(): readonly MemberDomainEvent[] {\n\t\treturn [...this.domainEvents];\n\t}\n}\n\n// ── FormerMember(元室員) ──\n\nexport class FormerMember {\n\treadonly status = \"former\" as const;\n\n\tconstructor(\n\t\treadonly id: MemberId,\n\t\treadonly email: UniversityEmail,\n\t\treadonly name: string,\n\t\treadonly personalEmail: Recorded<Email>,\n\t\tprivate readonly domainEvents: readonly MemberDomainEvent[] = [],\n\t) {}\n\n\tstatic reconstruct(props: {\n\t\tid: MemberId;\n\t\temail: UniversityEmail;\n\t\tname: string;\n\t\tpersonalEmail: Recorded<Email>;\n\t}): FormerMember {\n\t\treturn new FormerMember(props.id, props.email, props.name, props.personalEmail);\n\t}\n\n\treregister(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember {\n\t\treturn new ActiveMember(\n\t\t\tthis.id,\n\t\t\tthis.email,\n\t\t\tthis.name,\n\t\t\tthis.personalEmail,\n\t\t\tstudentId,\n\t\t\taffiliation,\n\t\t\t[\n\t\t\t\t...this.domainEvents,\n\t\t\t\t{\n\t\t\t\t\teventName: \"MemberReregistered\",\n\t\t\t\t\tid: this.id,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tstudentId,\n\t\t\t\t\taffiliation,\n\t\t\t\t\toccurredAt: new Date(),\n\t\t\t\t},\n\t\t\t],\n\t\t);\n\t}\n\n\tchangeName(newName: string): FormerMember {\n\t\treturn new FormerMember(this.id, this.email, newName, this.personalEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"NameChanged\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\tpreviousName: this.name,\n\t\t\t\tnewName,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tchangePersonalEmail(newEmail: Recorded<Email>): FormerMember {\n\t\treturn new FormerMember(this.id, this.email, this.name, newEmail, [\n\t\t\t...this.domainEvents,\n\t\t\t{\n\t\t\t\teventName: \"PersonalEmailChanged\",\n\t\t\t\tid: this.id,\n\t\t\t\temail: this.email,\n\t\t\t\tpreviousPersonalEmail: this.personalEmail,\n\t\t\t\tnewPersonalEmail: newEmail,\n\t\t\t\toccurredAt: new Date(),\n\t\t\t},\n\t\t]);\n\t}\n\n\tgetDomainEvents(): readonly MemberDomainEvent[] {\n\t\treturn [...this.domainEvents];\n\t}\n}\n\n/** Member集約 — 室員・未確認・元室員のいずれかの状態を取る */\nexport type Member = ActiveMember | UnconfirmedMember | FormerMember;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { CompleteAffiliation, CompleteDoctoralAffiliation, CompleteMasterAffiliation, CompleteProfessionalAffiliation, CompleteUndergraduateAffiliation } from "../../shared/affiliation/Affiliation.cjs";
|
|
2
|
+
import { Recorded } from "../../shared/Recorded.cjs";
|
|
3
|
+
import { StudentId } from "../../shared/StudentId.cjs";
|
|
4
|
+
import { Email } from "./Email.cjs";
|
|
5
|
+
import { MemberId } from "./MemberId.cjs";
|
|
6
|
+
import { UniversityEmail } from "./UniversityEmail.cjs";
|
|
7
|
+
import { MemberDomainEvent, RemovalReason } from "./MemberEvent.cjs";
|
|
8
|
+
|
|
9
|
+
//#region src/domain/aggregates/member/Member.d.ts
|
|
10
|
+
declare class ActiveMember {
|
|
11
|
+
readonly id: MemberId;
|
|
12
|
+
readonly email: UniversityEmail;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly personalEmail: Recorded<Email>;
|
|
15
|
+
readonly studentId: StudentId;
|
|
16
|
+
readonly affiliation: CompleteAffiliation;
|
|
17
|
+
private readonly domainEvents;
|
|
18
|
+
readonly status: "active";
|
|
19
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, studentId: StudentId, affiliation: CompleteAffiliation, domainEvents?: readonly MemberDomainEvent[]);
|
|
20
|
+
static register(props: {
|
|
21
|
+
id: MemberId;
|
|
22
|
+
email: UniversityEmail;
|
|
23
|
+
name: string;
|
|
24
|
+
personalEmail: Recorded<Email>;
|
|
25
|
+
studentId: StudentId;
|
|
26
|
+
affiliation: CompleteAffiliation;
|
|
27
|
+
}): ActiveMember;
|
|
28
|
+
static reconstruct(props: {
|
|
29
|
+
id: MemberId;
|
|
30
|
+
email: UniversityEmail;
|
|
31
|
+
name: string;
|
|
32
|
+
personalEmail: Recorded<Email>;
|
|
33
|
+
studentId: StudentId;
|
|
34
|
+
affiliation: CompleteAffiliation;
|
|
35
|
+
}): ActiveMember;
|
|
36
|
+
remove(reason: RemovalReason): FormerMember;
|
|
37
|
+
unconfirm(): UnconfirmedMember;
|
|
38
|
+
changeName(newName: string): ActiveMember;
|
|
39
|
+
changePersonalEmail(newEmail: Recorded<Email>): ActiveMember;
|
|
40
|
+
changeStudentId(newStudentId: StudentId): ActiveMember;
|
|
41
|
+
advanceInternally(newAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation, newStudentId: StudentId): ActiveMember;
|
|
42
|
+
transferFaculty(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember;
|
|
43
|
+
transferDepartment(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember;
|
|
44
|
+
transferMajor(newAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation | CompleteProfessionalAffiliation): ActiveMember;
|
|
45
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
46
|
+
private validateAdvancement;
|
|
47
|
+
}
|
|
48
|
+
declare class UnconfirmedMember {
|
|
49
|
+
readonly id: MemberId;
|
|
50
|
+
readonly email: UniversityEmail;
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly personalEmail: Recorded<Email>;
|
|
53
|
+
private readonly domainEvents;
|
|
54
|
+
readonly status: "unconfirmed";
|
|
55
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, domainEvents?: readonly MemberDomainEvent[]);
|
|
56
|
+
static reconstruct(props: {
|
|
57
|
+
id: MemberId;
|
|
58
|
+
email: UniversityEmail;
|
|
59
|
+
name: string;
|
|
60
|
+
personalEmail: Recorded<Email>;
|
|
61
|
+
}): UnconfirmedMember;
|
|
62
|
+
confirm(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember;
|
|
63
|
+
remove(reason: RemovalReason): FormerMember;
|
|
64
|
+
changeName(newName: string): UnconfirmedMember;
|
|
65
|
+
changePersonalEmail(newEmail: Recorded<Email>): UnconfirmedMember;
|
|
66
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
67
|
+
}
|
|
68
|
+
declare class FormerMember {
|
|
69
|
+
readonly id: MemberId;
|
|
70
|
+
readonly email: UniversityEmail;
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly personalEmail: Recorded<Email>;
|
|
73
|
+
private readonly domainEvents;
|
|
74
|
+
readonly status: "former";
|
|
75
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, domainEvents?: readonly MemberDomainEvent[]);
|
|
76
|
+
static reconstruct(props: {
|
|
77
|
+
id: MemberId;
|
|
78
|
+
email: UniversityEmail;
|
|
79
|
+
name: string;
|
|
80
|
+
personalEmail: Recorded<Email>;
|
|
81
|
+
}): FormerMember;
|
|
82
|
+
reregister(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember;
|
|
83
|
+
changeName(newName: string): FormerMember;
|
|
84
|
+
changePersonalEmail(newEmail: Recorded<Email>): FormerMember;
|
|
85
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
86
|
+
}
|
|
87
|
+
/** Member集約 — 室員・未確認・元室員のいずれかの状態を取る */
|
|
88
|
+
type Member = ActiveMember | UnconfirmedMember | FormerMember;
|
|
89
|
+
//#endregion
|
|
90
|
+
export { ActiveMember, FormerMember, Member, UnconfirmedMember };
|
|
91
|
+
//# sourceMappingURL=Member.d.cts.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { CompleteAffiliation, CompleteDoctoralAffiliation, CompleteMasterAffiliation, CompleteProfessionalAffiliation, CompleteUndergraduateAffiliation } from "../../shared/affiliation/Affiliation.mjs";
|
|
2
|
+
import { Recorded } from "../../shared/Recorded.mjs";
|
|
3
|
+
import { StudentId } from "../../shared/StudentId.mjs";
|
|
4
|
+
import { Email } from "./Email.mjs";
|
|
5
|
+
import { MemberId } from "./MemberId.mjs";
|
|
6
|
+
import { UniversityEmail } from "./UniversityEmail.mjs";
|
|
7
|
+
import { MemberDomainEvent, RemovalReason } from "./MemberEvent.mjs";
|
|
8
|
+
|
|
9
|
+
//#region src/domain/aggregates/member/Member.d.ts
|
|
10
|
+
declare class ActiveMember {
|
|
11
|
+
readonly id: MemberId;
|
|
12
|
+
readonly email: UniversityEmail;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly personalEmail: Recorded<Email>;
|
|
15
|
+
readonly studentId: StudentId;
|
|
16
|
+
readonly affiliation: CompleteAffiliation;
|
|
17
|
+
private readonly domainEvents;
|
|
18
|
+
readonly status: "active";
|
|
19
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, studentId: StudentId, affiliation: CompleteAffiliation, domainEvents?: readonly MemberDomainEvent[]);
|
|
20
|
+
static register(props: {
|
|
21
|
+
id: MemberId;
|
|
22
|
+
email: UniversityEmail;
|
|
23
|
+
name: string;
|
|
24
|
+
personalEmail: Recorded<Email>;
|
|
25
|
+
studentId: StudentId;
|
|
26
|
+
affiliation: CompleteAffiliation;
|
|
27
|
+
}): ActiveMember;
|
|
28
|
+
static reconstruct(props: {
|
|
29
|
+
id: MemberId;
|
|
30
|
+
email: UniversityEmail;
|
|
31
|
+
name: string;
|
|
32
|
+
personalEmail: Recorded<Email>;
|
|
33
|
+
studentId: StudentId;
|
|
34
|
+
affiliation: CompleteAffiliation;
|
|
35
|
+
}): ActiveMember;
|
|
36
|
+
remove(reason: RemovalReason): FormerMember;
|
|
37
|
+
unconfirm(): UnconfirmedMember;
|
|
38
|
+
changeName(newName: string): ActiveMember;
|
|
39
|
+
changePersonalEmail(newEmail: Recorded<Email>): ActiveMember;
|
|
40
|
+
changeStudentId(newStudentId: StudentId): ActiveMember;
|
|
41
|
+
advanceInternally(newAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation, newStudentId: StudentId): ActiveMember;
|
|
42
|
+
transferFaculty(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember;
|
|
43
|
+
transferDepartment(newAffiliation: CompleteUndergraduateAffiliation): ActiveMember;
|
|
44
|
+
transferMajor(newAffiliation: CompleteMasterAffiliation | CompleteDoctoralAffiliation | CompleteProfessionalAffiliation): ActiveMember;
|
|
45
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
46
|
+
private validateAdvancement;
|
|
47
|
+
}
|
|
48
|
+
declare class UnconfirmedMember {
|
|
49
|
+
readonly id: MemberId;
|
|
50
|
+
readonly email: UniversityEmail;
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly personalEmail: Recorded<Email>;
|
|
53
|
+
private readonly domainEvents;
|
|
54
|
+
readonly status: "unconfirmed";
|
|
55
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, domainEvents?: readonly MemberDomainEvent[]);
|
|
56
|
+
static reconstruct(props: {
|
|
57
|
+
id: MemberId;
|
|
58
|
+
email: UniversityEmail;
|
|
59
|
+
name: string;
|
|
60
|
+
personalEmail: Recorded<Email>;
|
|
61
|
+
}): UnconfirmedMember;
|
|
62
|
+
confirm(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember;
|
|
63
|
+
remove(reason: RemovalReason): FormerMember;
|
|
64
|
+
changeName(newName: string): UnconfirmedMember;
|
|
65
|
+
changePersonalEmail(newEmail: Recorded<Email>): UnconfirmedMember;
|
|
66
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
67
|
+
}
|
|
68
|
+
declare class FormerMember {
|
|
69
|
+
readonly id: MemberId;
|
|
70
|
+
readonly email: UniversityEmail;
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly personalEmail: Recorded<Email>;
|
|
73
|
+
private readonly domainEvents;
|
|
74
|
+
readonly status: "former";
|
|
75
|
+
constructor(id: MemberId, email: UniversityEmail, name: string, personalEmail: Recorded<Email>, domainEvents?: readonly MemberDomainEvent[]);
|
|
76
|
+
static reconstruct(props: {
|
|
77
|
+
id: MemberId;
|
|
78
|
+
email: UniversityEmail;
|
|
79
|
+
name: string;
|
|
80
|
+
personalEmail: Recorded<Email>;
|
|
81
|
+
}): FormerMember;
|
|
82
|
+
reregister(studentId: StudentId, affiliation: CompleteAffiliation): ActiveMember;
|
|
83
|
+
changeName(newName: string): FormerMember;
|
|
84
|
+
changePersonalEmail(newEmail: Recorded<Email>): FormerMember;
|
|
85
|
+
getDomainEvents(): readonly MemberDomainEvent[];
|
|
86
|
+
}
|
|
87
|
+
/** Member集約 — 室員・未確認・元室員のいずれかの状態を取る */
|
|
88
|
+
type Member = ActiveMember | UnconfirmedMember | FormerMember;
|
|
89
|
+
//#endregion
|
|
90
|
+
export { ActiveMember, FormerMember, Member, UnconfirmedMember };
|
|
91
|
+
//# sourceMappingURL=Member.d.mts.map
|