@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.
Files changed (524) hide show
  1. package/README.md +45 -25
  2. package/dist/_virtual/_rolldown/runtime.cjs +13 -0
  3. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  4. package/dist/application/exceptions/ApplicationExceptions.cjs +124 -0
  5. package/dist/application/exceptions/ApplicationExceptions.cjs.map +1 -0
  6. package/dist/application/exceptions/ApplicationExceptions.mjs +115 -0
  7. package/dist/application/exceptions/ApplicationExceptions.mjs.map +1 -0
  8. package/dist/application/index.cjs +39 -0
  9. package/dist/application/index.mjs +40 -0
  10. package/dist/application/usecase/base.cjs +11 -0
  11. package/dist/application/usecase/base.cjs.map +1 -0
  12. package/dist/application/usecase/base.d.cts +12 -0
  13. package/dist/application/usecase/base.d.mts +12 -0
  14. package/dist/application/usecase/base.mjs +11 -0
  15. package/dist/application/usecase/base.mjs.map +1 -0
  16. package/dist/application/usecase/event/AddExhibitToEvent.cjs +27 -0
  17. package/dist/application/usecase/event/AddExhibitToEvent.cjs.map +1 -0
  18. package/dist/application/usecase/event/AddExhibitToEvent.d.cts +32 -0
  19. package/dist/application/usecase/event/AddExhibitToEvent.d.mts +32 -0
  20. package/dist/application/usecase/event/AddExhibitToEvent.mjs +27 -0
  21. package/dist/application/usecase/event/AddExhibitToEvent.mjs.map +1 -0
  22. package/dist/application/usecase/event/ChangeExhibitDescription.cjs +23 -0
  23. package/dist/application/usecase/event/ChangeExhibitDescription.cjs.map +1 -0
  24. package/dist/application/usecase/event/ChangeExhibitDescription.d.cts +26 -0
  25. package/dist/application/usecase/event/ChangeExhibitDescription.d.mts +26 -0
  26. package/dist/application/usecase/event/ChangeExhibitDescription.mjs +23 -0
  27. package/dist/application/usecase/event/ChangeExhibitDescription.mjs.map +1 -0
  28. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs +23 -0
  29. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.cjs.map +1 -0
  30. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.cts +26 -0
  31. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.d.mts +26 -0
  32. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs +23 -0
  33. package/dist/application/usecase/event/ChangeExhibitMarkdownContent.mjs.map +1 -0
  34. package/dist/application/usecase/event/ChangeExhibitName.cjs +23 -0
  35. package/dist/application/usecase/event/ChangeExhibitName.cjs.map +1 -0
  36. package/dist/application/usecase/event/ChangeExhibitName.d.cts +26 -0
  37. package/dist/application/usecase/event/ChangeExhibitName.d.mts +26 -0
  38. package/dist/application/usecase/event/ChangeExhibitName.mjs +23 -0
  39. package/dist/application/usecase/event/ChangeExhibitName.mjs.map +1 -0
  40. package/dist/application/usecase/event/ChangeExhibitUrl.cjs +23 -0
  41. package/dist/application/usecase/event/ChangeExhibitUrl.cjs.map +1 -0
  42. package/dist/application/usecase/event/ChangeExhibitUrl.d.cts +27 -0
  43. package/dist/application/usecase/event/ChangeExhibitUrl.d.mts +27 -0
  44. package/dist/application/usecase/event/ChangeExhibitUrl.mjs +23 -0
  45. package/dist/application/usecase/event/ChangeExhibitUrl.mjs.map +1 -0
  46. package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs +23 -0
  47. package/dist/application/usecase/event/ChangeLightningTalkDuration.cjs.map +1 -0
  48. package/dist/application/usecase/event/ChangeLightningTalkDuration.d.cts +27 -0
  49. package/dist/application/usecase/event/ChangeLightningTalkDuration.d.mts +27 -0
  50. package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs +23 -0
  51. package/dist/application/usecase/event/ChangeLightningTalkDuration.mjs.map +1 -0
  52. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs +23 -0
  53. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.cjs.map +1 -0
  54. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.cts +27 -0
  55. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.d.mts +27 -0
  56. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs +23 -0
  57. package/dist/application/usecase/event/ChangeLightningTalkSlideUrl.mjs.map +1 -0
  58. package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs +23 -0
  59. package/dist/application/usecase/event/ChangeLightningTalkStartTime.cjs.map +1 -0
  60. package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.cts +26 -0
  61. package/dist/application/usecase/event/ChangeLightningTalkStartTime.d.mts +26 -0
  62. package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs +23 -0
  63. package/dist/application/usecase/event/ChangeLightningTalkStartTime.mjs.map +1 -0
  64. package/dist/application/usecase/event/CreateEvent.cjs +23 -0
  65. package/dist/application/usecase/event/CreateEvent.cjs.map +1 -0
  66. package/dist/application/usecase/event/CreateEvent.d.cts +25 -0
  67. package/dist/application/usecase/event/CreateEvent.d.mts +25 -0
  68. package/dist/application/usecase/event/CreateEvent.mjs +23 -0
  69. package/dist/application/usecase/event/CreateEvent.mjs.map +1 -0
  70. package/dist/application/usecase/event/DeleteEvent.cjs +22 -0
  71. package/dist/application/usecase/event/DeleteEvent.cjs.map +1 -0
  72. package/dist/application/usecase/event/DeleteEvent.d.cts +23 -0
  73. package/dist/application/usecase/event/DeleteEvent.d.mts +23 -0
  74. package/dist/application/usecase/event/DeleteEvent.mjs +22 -0
  75. package/dist/application/usecase/event/DeleteEvent.mjs.map +1 -0
  76. package/dist/application/usecase/event/GetEvent.cjs +18 -0
  77. package/dist/application/usecase/event/GetEvent.cjs.map +1 -0
  78. package/dist/application/usecase/event/GetEvent.d.cts +23 -0
  79. package/dist/application/usecase/event/GetEvent.d.mts +23 -0
  80. package/dist/application/usecase/event/GetEvent.mjs +18 -0
  81. package/dist/application/usecase/event/GetEvent.mjs.map +1 -0
  82. package/dist/application/usecase/event/GetEventList.cjs +15 -0
  83. package/dist/application/usecase/event/GetEventList.cjs.map +1 -0
  84. package/dist/application/usecase/event/GetEventList.d.cts +17 -0
  85. package/dist/application/usecase/event/GetEventList.d.mts +17 -0
  86. package/dist/application/usecase/event/GetEventList.mjs +15 -0
  87. package/dist/application/usecase/event/GetEventList.mjs.map +1 -0
  88. package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs +23 -0
  89. package/dist/application/usecase/event/RemoveExhibitFromEvent.cjs.map +1 -0
  90. package/dist/application/usecase/event/RemoveExhibitFromEvent.d.cts +25 -0
  91. package/dist/application/usecase/event/RemoveExhibitFromEvent.d.mts +25 -0
  92. package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs +23 -0
  93. package/dist/application/usecase/event/RemoveExhibitFromEvent.mjs.map +1 -0
  94. package/dist/application/usecase/event/UpdateEvent.cjs +21 -0
  95. package/dist/application/usecase/event/UpdateEvent.cjs.map +1 -0
  96. package/dist/application/usecase/event/UpdateEvent.d.cts +22 -0
  97. package/dist/application/usecase/event/UpdateEvent.d.mts +22 -0
  98. package/dist/application/usecase/event/UpdateEvent.mjs +21 -0
  99. package/dist/application/usecase/event/UpdateEvent.mjs.map +1 -0
  100. package/dist/application/usecase/event/index.cjs +14 -0
  101. package/dist/application/usecase/event/index.mjs +15 -0
  102. package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs +15 -0
  103. package/dist/application/usecase/eventParticipation/GetEventsByMember.cjs.map +1 -0
  104. package/dist/application/usecase/eventParticipation/GetEventsByMember.d.cts +20 -0
  105. package/dist/application/usecase/eventParticipation/GetEventsByMember.d.mts +20 -0
  106. package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs +15 -0
  107. package/dist/application/usecase/eventParticipation/GetEventsByMember.mjs.map +1 -0
  108. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs +18 -0
  109. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.cjs.map +1 -0
  110. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.cts +20 -0
  111. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.d.mts +20 -0
  112. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs +18 -0
  113. package/dist/application/usecase/eventParticipation/GetExhibitsByMember.mjs.map +1 -0
  114. package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs +19 -0
  115. package/dist/application/usecase/eventParticipation/GetMembersByEvent.cjs.map +1 -0
  116. package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.cts +22 -0
  117. package/dist/application/usecase/eventParticipation/GetMembersByEvent.d.mts +22 -0
  118. package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs +19 -0
  119. package/dist/application/usecase/eventParticipation/GetMembersByEvent.mjs.map +1 -0
  120. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs +19 -0
  121. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.cjs.map +1 -0
  122. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.cts +22 -0
  123. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.d.mts +22 -0
  124. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs +19 -0
  125. package/dist/application/usecase/eventParticipation/GetMembersByExhibit.mjs.map +1 -0
  126. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs +22 -0
  127. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.cjs.map +1 -0
  128. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.cts +24 -0
  129. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.d.mts +24 -0
  130. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs +22 -0
  131. package/dist/application/usecase/eventParticipation/RegisterMemberToEvent.mjs.map +1 -0
  132. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs +22 -0
  133. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.cjs.map +1 -0
  134. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.cts +24 -0
  135. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.d.mts +24 -0
  136. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs +22 -0
  137. package/dist/application/usecase/eventParticipation/RegisterMemberToExhibit.mjs.map +1 -0
  138. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs +21 -0
  139. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.cjs.map +1 -0
  140. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.cts +24 -0
  141. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.d.mts +24 -0
  142. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs +21 -0
  143. package/dist/application/usecase/eventParticipation/RemoveMemberFromEvent.mjs.map +1 -0
  144. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs +21 -0
  145. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.cjs.map +1 -0
  146. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.cts +24 -0
  147. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.d.mts +24 -0
  148. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs +21 -0
  149. package/dist/application/usecase/eventParticipation/RemoveMemberFromExhibit.mjs.map +1 -0
  150. package/dist/application/usecase/karte/CorrectKarte.cjs +20 -0
  151. package/dist/application/usecase/karte/CorrectKarte.cjs.map +1 -0
  152. package/dist/application/usecase/karte/CorrectKarte.d.cts +20 -0
  153. package/dist/application/usecase/karte/CorrectKarte.d.mts +20 -0
  154. package/dist/application/usecase/karte/CorrectKarte.mjs +20 -0
  155. package/dist/application/usecase/karte/CorrectKarte.mjs.map +1 -0
  156. package/dist/application/usecase/karte/CreateKarte.cjs +19 -0
  157. package/dist/application/usecase/karte/CreateKarte.cjs.map +1 -0
  158. package/dist/application/usecase/karte/CreateKarte.d.cts +20 -0
  159. package/dist/application/usecase/karte/CreateKarte.d.mts +20 -0
  160. package/dist/application/usecase/karte/CreateKarte.mjs +19 -0
  161. package/dist/application/usecase/karte/CreateKarte.mjs.map +1 -0
  162. package/dist/application/usecase/karte/GetKarte.cjs +18 -0
  163. package/dist/application/usecase/karte/GetKarte.cjs.map +1 -0
  164. package/dist/application/usecase/karte/GetKarte.d.cts +20 -0
  165. package/dist/application/usecase/karte/GetKarte.d.mts +20 -0
  166. package/dist/application/usecase/karte/GetKarte.mjs +18 -0
  167. package/dist/application/usecase/karte/GetKarte.mjs.map +1 -0
  168. package/dist/application/usecase/karte/ImportKarte.cjs +19 -0
  169. package/dist/application/usecase/karte/ImportKarte.cjs.map +1 -0
  170. package/dist/application/usecase/karte/ImportKarte.d.cts +39 -0
  171. package/dist/application/usecase/karte/ImportKarte.d.mts +39 -0
  172. package/dist/application/usecase/karte/ImportKarte.mjs +19 -0
  173. package/dist/application/usecase/karte/ImportKarte.mjs.map +1 -0
  174. package/dist/application/usecase/karte/ListKartes.cjs +15 -0
  175. package/dist/application/usecase/karte/ListKartes.cjs.map +1 -0
  176. package/dist/application/usecase/karte/ListKartes.d.cts +17 -0
  177. package/dist/application/usecase/karte/ListKartes.d.mts +17 -0
  178. package/dist/application/usecase/karte/ListKartes.mjs +15 -0
  179. package/dist/application/usecase/karte/ListKartes.mjs.map +1 -0
  180. package/dist/application/usecase/karte/index.cjs +5 -0
  181. package/dist/application/usecase/karte/index.mjs +6 -0
  182. package/dist/application/usecase/member/ChangeDiscordNickName.cjs +20 -0
  183. package/dist/application/usecase/member/ChangeDiscordNickName.cjs.map +1 -0
  184. package/dist/application/usecase/member/ChangeDiscordNickName.d.cts +21 -0
  185. package/dist/application/usecase/member/ChangeDiscordNickName.d.mts +21 -0
  186. package/dist/application/usecase/member/ChangeDiscordNickName.mjs +20 -0
  187. package/dist/application/usecase/member/ChangeDiscordNickName.mjs.map +1 -0
  188. package/dist/application/usecase/member/ConnectDiscordAccount.cjs +27 -0
  189. package/dist/application/usecase/member/ConnectDiscordAccount.cjs.map +1 -0
  190. package/dist/application/usecase/member/ConnectDiscordAccount.d.cts +25 -0
  191. package/dist/application/usecase/member/ConnectDiscordAccount.d.mts +25 -0
  192. package/dist/application/usecase/member/ConnectDiscordAccount.mjs +27 -0
  193. package/dist/application/usecase/member/ConnectDiscordAccount.mjs.map +1 -0
  194. package/dist/application/usecase/member/GetMember.cjs +15 -0
  195. package/dist/application/usecase/member/GetMember.cjs.map +1 -0
  196. package/dist/application/usecase/member/GetMember.d.cts +20 -0
  197. package/dist/application/usecase/member/GetMember.d.mts +20 -0
  198. package/dist/application/usecase/member/GetMember.mjs +15 -0
  199. package/dist/application/usecase/member/GetMember.mjs.map +1 -0
  200. package/dist/application/usecase/member/GetMemberByDiscordId.cjs +18 -0
  201. package/dist/application/usecase/member/GetMemberByDiscordId.cjs.map +1 -0
  202. package/dist/application/usecase/member/GetMemberByDiscordId.d.cts +22 -0
  203. package/dist/application/usecase/member/GetMemberByDiscordId.d.mts +22 -0
  204. package/dist/application/usecase/member/GetMemberByDiscordId.mjs +18 -0
  205. package/dist/application/usecase/member/GetMemberByDiscordId.mjs.map +1 -0
  206. package/dist/application/usecase/member/GetMemberByEmail.cjs +15 -0
  207. package/dist/application/usecase/member/GetMemberByEmail.cjs.map +1 -0
  208. package/dist/application/usecase/member/GetMemberByEmail.d.cts +20 -0
  209. package/dist/application/usecase/member/GetMemberByEmail.d.mts +20 -0
  210. package/dist/application/usecase/member/GetMemberByEmail.mjs +15 -0
  211. package/dist/application/usecase/member/GetMemberByEmail.mjs.map +1 -0
  212. package/dist/application/usecase/member/GetMemberList.cjs +15 -0
  213. package/dist/application/usecase/member/GetMemberList.cjs.map +1 -0
  214. package/dist/application/usecase/member/GetMemberList.d.cts +17 -0
  215. package/dist/application/usecase/member/GetMemberList.d.mts +17 -0
  216. package/dist/application/usecase/member/GetMemberList.mjs +15 -0
  217. package/dist/application/usecase/member/GetMemberList.mjs.map +1 -0
  218. package/dist/application/usecase/member/RegisterMember.cjs +30 -0
  219. package/dist/application/usecase/member/RegisterMember.cjs.map +1 -0
  220. package/dist/application/usecase/member/RegisterMember.d.cts +28 -0
  221. package/dist/application/usecase/member/RegisterMember.d.mts +28 -0
  222. package/dist/application/usecase/member/RegisterMember.mjs +30 -0
  223. package/dist/application/usecase/member/RegisterMember.mjs.map +1 -0
  224. package/dist/application/usecase/member/UpdateMember.cjs +24 -0
  225. package/dist/application/usecase/member/UpdateMember.cjs.map +1 -0
  226. package/dist/application/usecase/member/UpdateMember.d.cts +26 -0
  227. package/dist/application/usecase/member/UpdateMember.d.mts +26 -0
  228. package/dist/application/usecase/member/UpdateMember.mjs +24 -0
  229. package/dist/application/usecase/member/UpdateMember.mjs.map +1 -0
  230. package/dist/application/usecase/member/index.cjs +8 -0
  231. package/dist/application/usecase/member/index.mjs +9 -0
  232. package/dist/domain/aggregates/discord-account/DiscordAccount.cjs +47 -0
  233. package/dist/domain/aggregates/discord-account/DiscordAccount.cjs.map +1 -0
  234. package/dist/domain/aggregates/discord-account/DiscordAccount.d.cts +43 -0
  235. package/dist/domain/aggregates/discord-account/DiscordAccount.d.mts +43 -0
  236. package/dist/domain/aggregates/discord-account/DiscordAccount.mjs +46 -0
  237. package/dist/domain/aggregates/discord-account/DiscordAccount.mjs.map +1 -0
  238. package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.cts +14 -0
  239. package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.mts +14 -0
  240. package/dist/domain/aggregates/discord-account/DiscordId.cjs +8 -0
  241. package/dist/domain/aggregates/discord-account/DiscordId.cjs.map +1 -0
  242. package/dist/domain/aggregates/discord-account/DiscordId.d.cts +9 -0
  243. package/dist/domain/aggregates/discord-account/DiscordId.d.mts +9 -0
  244. package/dist/domain/aggregates/discord-account/DiscordId.mjs +8 -0
  245. package/dist/domain/aggregates/discord-account/DiscordId.mjs.map +1 -0
  246. package/dist/domain/aggregates/event/Event.cjs +91 -0
  247. package/dist/domain/aggregates/event/Event.cjs.map +1 -0
  248. package/dist/domain/aggregates/event/Event.d.cts +59 -0
  249. package/dist/domain/aggregates/event/Event.d.mts +59 -0
  250. package/dist/domain/aggregates/event/Event.mjs +91 -0
  251. package/dist/domain/aggregates/event/Event.mjs.map +1 -0
  252. package/dist/domain/aggregates/event/EventId.cjs +8 -0
  253. package/dist/domain/aggregates/event/EventId.cjs.map +1 -0
  254. package/dist/domain/aggregates/event/EventId.d.cts +9 -0
  255. package/dist/domain/aggregates/event/EventId.d.mts +9 -0
  256. package/dist/domain/aggregates/event/EventId.mjs +8 -0
  257. package/dist/domain/aggregates/event/EventId.mjs.map +1 -0
  258. package/dist/domain/aggregates/event/EventRepository.d.cts +17 -0
  259. package/dist/domain/aggregates/event/EventRepository.d.mts +17 -0
  260. package/dist/domain/aggregates/event/Exhibit.cjs +86 -0
  261. package/dist/domain/aggregates/event/Exhibit.cjs.map +1 -0
  262. package/dist/domain/aggregates/event/Exhibit.d.cts +52 -0
  263. package/dist/domain/aggregates/event/Exhibit.d.mts +52 -0
  264. package/dist/domain/aggregates/event/Exhibit.mjs +86 -0
  265. package/dist/domain/aggregates/event/Exhibit.mjs.map +1 -0
  266. package/dist/domain/aggregates/event/ExhibitId.cjs +8 -0
  267. package/dist/domain/aggregates/event/ExhibitId.cjs.map +1 -0
  268. package/dist/domain/aggregates/event/ExhibitId.d.cts +9 -0
  269. package/dist/domain/aggregates/event/ExhibitId.d.mts +9 -0
  270. package/dist/domain/aggregates/event/ExhibitId.mjs +8 -0
  271. package/dist/domain/aggregates/event/ExhibitId.mjs.map +1 -0
  272. package/dist/domain/aggregates/event/LightningTalk.cjs +39 -0
  273. package/dist/domain/aggregates/event/LightningTalk.cjs.map +1 -0
  274. package/dist/domain/aggregates/event/LightningTalk.d.cts +27 -0
  275. package/dist/domain/aggregates/event/LightningTalk.d.mts +27 -0
  276. package/dist/domain/aggregates/event/LightningTalk.mjs +39 -0
  277. package/dist/domain/aggregates/event/LightningTalk.mjs.map +1 -0
  278. package/dist/domain/aggregates/event/LightningTalkDuration.cjs +12 -0
  279. package/dist/domain/aggregates/event/LightningTalkDuration.cjs.map +1 -0
  280. package/dist/domain/aggregates/event/LightningTalkDuration.d.cts +9 -0
  281. package/dist/domain/aggregates/event/LightningTalkDuration.d.mts +9 -0
  282. package/dist/domain/aggregates/event/LightningTalkDuration.mjs +12 -0
  283. package/dist/domain/aggregates/event/LightningTalkDuration.mjs.map +1 -0
  284. package/dist/domain/aggregates/event/Url.cjs +19 -0
  285. package/dist/domain/aggregates/event/Url.cjs.map +1 -0
  286. package/dist/domain/aggregates/event/Url.d.cts +9 -0
  287. package/dist/domain/aggregates/event/Url.d.mts +9 -0
  288. package/dist/domain/aggregates/event/Url.mjs +19 -0
  289. package/dist/domain/aggregates/event/Url.mjs.map +1 -0
  290. package/dist/domain/aggregates/index.cjs +25 -0
  291. package/dist/domain/aggregates/index.mjs +26 -0
  292. package/dist/domain/aggregates/karte/Assignee.cjs +7 -0
  293. package/dist/domain/aggregates/karte/Assignee.cjs.map +1 -0
  294. package/dist/domain/aggregates/karte/Assignee.d.cts +20 -0
  295. package/dist/domain/aggregates/karte/Assignee.d.mts +20 -0
  296. package/dist/domain/aggregates/karte/Assignee.mjs +7 -0
  297. package/dist/domain/aggregates/karte/Assignee.mjs.map +1 -0
  298. package/dist/domain/aggregates/karte/Client.cjs +20 -0
  299. package/dist/domain/aggregates/karte/Client.cjs.map +1 -0
  300. package/dist/domain/aggregates/karte/Client.d.cts +42 -0
  301. package/dist/domain/aggregates/karte/Client.d.mts +42 -0
  302. package/dist/domain/aggregates/karte/Client.mjs +19 -0
  303. package/dist/domain/aggregates/karte/Client.mjs.map +1 -0
  304. package/dist/domain/aggregates/karte/Consent.d.cts +14 -0
  305. package/dist/domain/aggregates/karte/Consent.d.mts +14 -0
  306. package/dist/domain/aggregates/karte/Consultation.d.cts +19 -0
  307. package/dist/domain/aggregates/karte/Consultation.d.mts +19 -0
  308. package/dist/domain/aggregates/karte/ConsultationCategory.cjs +89 -0
  309. package/dist/domain/aggregates/karte/ConsultationCategory.cjs.map +1 -0
  310. package/dist/domain/aggregates/karte/ConsultationCategory.d.cts +75 -0
  311. package/dist/domain/aggregates/karte/ConsultationCategory.d.mts +75 -0
  312. package/dist/domain/aggregates/karte/ConsultationCategory.mjs +89 -0
  313. package/dist/domain/aggregates/karte/ConsultationCategory.mjs.map +1 -0
  314. package/dist/domain/aggregates/karte/ConsultedAt.cjs +90 -0
  315. package/dist/domain/aggregates/karte/ConsultedAt.cjs.map +1 -0
  316. package/dist/domain/aggregates/karte/ConsultedAt.d.cts +49 -0
  317. package/dist/domain/aggregates/karte/ConsultedAt.d.mts +49 -0
  318. package/dist/domain/aggregates/karte/ConsultedAt.mjs +85 -0
  319. package/dist/domain/aggregates/karte/ConsultedAt.mjs.map +1 -0
  320. package/dist/domain/aggregates/karte/FollowUp.cjs +13 -0
  321. package/dist/domain/aggregates/karte/FollowUp.cjs.map +1 -0
  322. package/dist/domain/aggregates/karte/FollowUp.d.cts +8 -0
  323. package/dist/domain/aggregates/karte/FollowUp.d.mts +8 -0
  324. package/dist/domain/aggregates/karte/FollowUp.mjs +13 -0
  325. package/dist/domain/aggregates/karte/FollowUp.mjs.map +1 -0
  326. package/dist/domain/aggregates/karte/Karte.cjs +94 -0
  327. package/dist/domain/aggregates/karte/Karte.cjs.map +1 -0
  328. package/dist/domain/aggregates/karte/Karte.d.cts +131 -0
  329. package/dist/domain/aggregates/karte/Karte.d.mts +131 -0
  330. package/dist/domain/aggregates/karte/Karte.mjs +94 -0
  331. package/dist/domain/aggregates/karte/Karte.mjs.map +1 -0
  332. package/dist/domain/aggregates/karte/KarteId.cjs +8 -0
  333. package/dist/domain/aggregates/karte/KarteId.cjs.map +1 -0
  334. package/dist/domain/aggregates/karte/KarteId.d.cts +9 -0
  335. package/dist/domain/aggregates/karte/KarteId.d.mts +9 -0
  336. package/dist/domain/aggregates/karte/KarteId.mjs +8 -0
  337. package/dist/domain/aggregates/karte/KarteId.mjs.map +1 -0
  338. package/dist/domain/aggregates/karte/KarteRepository.d.cts +12 -0
  339. package/dist/domain/aggregates/karte/KarteRepository.d.mts +12 -0
  340. package/dist/domain/aggregates/karte/Resolution.cjs +7 -0
  341. package/dist/domain/aggregates/karte/Resolution.cjs.map +1 -0
  342. package/dist/domain/aggregates/karte/Resolution.d.cts +21 -0
  343. package/dist/domain/aggregates/karte/Resolution.d.mts +21 -0
  344. package/dist/domain/aggregates/karte/Resolution.mjs +7 -0
  345. package/dist/domain/aggregates/karte/Resolution.mjs.map +1 -0
  346. package/dist/domain/aggregates/karte/SupportRecord.d.cts +22 -0
  347. package/dist/domain/aggregates/karte/SupportRecord.d.mts +22 -0
  348. package/dist/domain/aggregates/karte/WorkDuration.cjs +11 -0
  349. package/dist/domain/aggregates/karte/WorkDuration.cjs.map +1 -0
  350. package/dist/domain/aggregates/karte/WorkDuration.d.cts +10 -0
  351. package/dist/domain/aggregates/karte/WorkDuration.d.mts +10 -0
  352. package/dist/domain/aggregates/karte/WorkDuration.mjs +11 -0
  353. package/dist/domain/aggregates/karte/WorkDuration.mjs.map +1 -0
  354. package/dist/domain/aggregates/karte/index.cjs +9 -0
  355. package/dist/domain/aggregates/karte/index.mjs +10 -0
  356. package/dist/domain/aggregates/member/Email.cjs +12 -0
  357. package/dist/domain/aggregates/member/Email.cjs.map +1 -0
  358. package/dist/domain/aggregates/member/Email.d.cts +9 -0
  359. package/dist/domain/aggregates/member/Email.d.mts +9 -0
  360. package/dist/domain/aggregates/member/Email.mjs +12 -0
  361. package/dist/domain/aggregates/member/Email.mjs.map +1 -0
  362. package/dist/domain/aggregates/member/Member.cjs +247 -0
  363. package/dist/domain/aggregates/member/Member.cjs.map +1 -0
  364. package/dist/domain/aggregates/member/Member.d.cts +91 -0
  365. package/dist/domain/aggregates/member/Member.d.mts +91 -0
  366. package/dist/domain/aggregates/member/Member.mjs +245 -0
  367. package/dist/domain/aggregates/member/Member.mjs.map +1 -0
  368. package/dist/domain/aggregates/member/MemberEvent.cjs +20 -0
  369. package/dist/domain/aggregates/member/MemberEvent.cjs.map +1 -0
  370. package/dist/domain/aggregates/member/MemberEvent.d.cts +115 -0
  371. package/dist/domain/aggregates/member/MemberEvent.d.mts +115 -0
  372. package/dist/domain/aggregates/member/MemberEvent.mjs +20 -0
  373. package/dist/domain/aggregates/member/MemberEvent.mjs.map +1 -0
  374. package/dist/domain/aggregates/member/MemberId.cjs +8 -0
  375. package/dist/domain/aggregates/member/MemberId.cjs.map +1 -0
  376. package/dist/domain/aggregates/member/MemberId.d.cts +9 -0
  377. package/dist/domain/aggregates/member/MemberId.d.mts +9 -0
  378. package/dist/domain/aggregates/member/MemberId.mjs +8 -0
  379. package/dist/domain/aggregates/member/MemberId.mjs.map +1 -0
  380. package/dist/domain/aggregates/member/MemberRepository.d.cts +14 -0
  381. package/dist/domain/aggregates/member/MemberRepository.d.mts +14 -0
  382. package/dist/domain/aggregates/member/UniversityEmail.cjs +14 -0
  383. package/dist/domain/aggregates/member/UniversityEmail.cjs.map +1 -0
  384. package/dist/domain/aggregates/member/UniversityEmail.d.cts +9 -0
  385. package/dist/domain/aggregates/member/UniversityEmail.d.mts +9 -0
  386. package/dist/domain/aggregates/member/UniversityEmail.mjs +14 -0
  387. package/dist/domain/aggregates/member/UniversityEmail.mjs.map +1 -0
  388. package/dist/domain/aggregates/member/index.cjs +5 -0
  389. package/dist/domain/aggregates/member/index.mjs +6 -0
  390. package/dist/domain/base/DomainEvent.d.cts +9 -0
  391. package/dist/domain/base/DomainEvent.d.mts +9 -0
  392. package/dist/domain/base/NonEmptyArray.d.cts +10 -0
  393. package/dist/domain/base/NonEmptyArray.d.mts +10 -0
  394. package/dist/domain/base/NonEmptyString.cjs +12 -0
  395. package/dist/domain/base/NonEmptyString.cjs.map +1 -0
  396. package/dist/domain/base/NonEmptyString.d.cts +12 -0
  397. package/dist/domain/base/NonEmptyString.d.mts +12 -0
  398. package/dist/domain/base/NonEmptyString.mjs +12 -0
  399. package/dist/domain/base/NonEmptyString.mjs.map +1 -0
  400. package/dist/domain/base/ValueObject.cjs +21 -0
  401. package/dist/domain/base/ValueObject.cjs.map +1 -0
  402. package/dist/domain/base/ValueObject.d.cts +12 -0
  403. package/dist/domain/base/ValueObject.d.mts +12 -0
  404. package/dist/domain/base/ValueObject.mjs +21 -0
  405. package/dist/domain/base/ValueObject.mjs.map +1 -0
  406. package/dist/domain/exceptions/DomainExceptions.cjs +196 -0
  407. package/dist/domain/exceptions/DomainExceptions.cjs.map +1 -0
  408. package/dist/domain/exceptions/DomainExceptions.d.cts +192 -0
  409. package/dist/domain/exceptions/DomainExceptions.d.mts +192 -0
  410. package/dist/domain/exceptions/DomainExceptions.mjs +181 -0
  411. package/dist/domain/exceptions/DomainExceptions.mjs.map +1 -0
  412. package/dist/domain/index.cjs +32 -0
  413. package/dist/domain/index.mjs +33 -0
  414. package/dist/domain/shared/Recorded.cjs +17 -0
  415. package/dist/domain/shared/Recorded.cjs.map +1 -0
  416. package/dist/domain/shared/Recorded.d.cts +20 -0
  417. package/dist/domain/shared/Recorded.d.mts +20 -0
  418. package/dist/domain/shared/Recorded.mjs +16 -0
  419. package/dist/domain/shared/Recorded.mjs.map +1 -0
  420. package/dist/domain/shared/StudentId.cjs +35 -0
  421. package/dist/domain/shared/StudentId.cjs.map +1 -0
  422. package/dist/domain/shared/StudentId.d.cts +25 -0
  423. package/dist/domain/shared/StudentId.d.mts +25 -0
  424. package/dist/domain/shared/StudentId.mjs +35 -0
  425. package/dist/domain/shared/StudentId.mjs.map +1 -0
  426. package/dist/domain/shared/affiliation/Affiliation.cjs +12 -0
  427. package/dist/domain/shared/affiliation/Affiliation.cjs.map +1 -0
  428. package/dist/domain/shared/affiliation/Affiliation.d.cts +59 -0
  429. package/dist/domain/shared/affiliation/Affiliation.d.mts +59 -0
  430. package/dist/domain/shared/affiliation/Affiliation.mjs +12 -0
  431. package/dist/domain/shared/affiliation/Affiliation.mjs.map +1 -0
  432. package/dist/domain/shared/affiliation/index.cjs +2 -0
  433. package/dist/domain/shared/affiliation/index.mjs +3 -0
  434. package/dist/domain/shared/affiliation/universityStructure.cjs +444 -0
  435. package/dist/domain/shared/affiliation/universityStructure.cjs.map +1 -0
  436. package/dist/domain/shared/affiliation/universityStructure.d.cts +262 -0
  437. package/dist/domain/shared/affiliation/universityStructure.d.mts +262 -0
  438. package/dist/domain/shared/affiliation/universityStructure.mjs +439 -0
  439. package/dist/domain/shared/affiliation/universityStructure.mjs.map +1 -0
  440. package/dist/domain/shared/index.cjs +5 -0
  441. package/dist/domain/shared/index.mjs +6 -0
  442. package/dist/executable/event.cjs +63 -0
  443. package/dist/executable/event.cjs.map +1 -0
  444. package/dist/executable/event.d.cts +56 -0
  445. package/dist/executable/event.d.mts +56 -0
  446. package/dist/executable/event.mjs +63 -0
  447. package/dist/executable/event.mjs.map +1 -0
  448. package/dist/executable/eventService.cjs +146 -0
  449. package/dist/executable/eventService.cjs.map +1 -0
  450. package/dist/executable/eventService.d.cts +143 -0
  451. package/dist/executable/eventService.d.mts +143 -0
  452. package/dist/executable/eventService.mjs +146 -0
  453. package/dist/executable/eventService.mjs.map +1 -0
  454. package/dist/executable/index.cjs +6 -0
  455. package/dist/executable/index.mjs +7 -0
  456. package/dist/executable/karte.cjs +24 -0
  457. package/dist/executable/karte.cjs.map +1 -0
  458. package/dist/executable/karte.d.cts +19 -0
  459. package/dist/executable/karte.d.mts +19 -0
  460. package/dist/executable/karte.mjs +24 -0
  461. package/dist/executable/karte.mjs.map +1 -0
  462. package/dist/executable/karteService.cjs +79 -0
  463. package/dist/executable/karteService.cjs.map +1 -0
  464. package/dist/executable/karteService.d.cts +87 -0
  465. package/dist/executable/karteService.d.mts +87 -0
  466. package/dist/executable/karteService.mjs +79 -0
  467. package/dist/executable/karteService.mjs.map +1 -0
  468. package/dist/executable/member.cjs +32 -0
  469. package/dist/executable/member.cjs.map +1 -0
  470. package/dist/executable/member.d.cts +25 -0
  471. package/dist/executable/member.d.mts +25 -0
  472. package/dist/executable/member.mjs +32 -0
  473. package/dist/executable/member.mjs.map +1 -0
  474. package/dist/executable/memberService.cjs +63 -0
  475. package/dist/executable/memberService.cjs.map +1 -0
  476. package/dist/executable/memberService.d.cts +59 -0
  477. package/dist/executable/memberService.d.mts +59 -0
  478. package/dist/executable/memberService.mjs +63 -0
  479. package/dist/executable/memberService.mjs.map +1 -0
  480. package/dist/index.cjs +105 -1914
  481. package/dist/index.d.cts +46 -754
  482. package/dist/index.d.mts +46 -0
  483. package/dist/index.mjs +39 -0
  484. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs +57 -0
  485. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs.map +1 -0
  486. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs +57 -0
  487. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs.map +1 -0
  488. package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs +196 -0
  489. package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs.map +1 -0
  490. package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs +196 -0
  491. package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs.map +1 -0
  492. package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs +241 -0
  493. package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs.map +1 -0
  494. package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs +241 -0
  495. package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs.map +1 -0
  496. package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs +112 -0
  497. package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs.map +1 -0
  498. package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs +112 -0
  499. package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs.map +1 -0
  500. package/dist/infrastructure/drizzle/client.cjs +20 -0
  501. package/dist/infrastructure/drizzle/client.cjs.map +1 -0
  502. package/dist/infrastructure/drizzle/client.mjs +20 -0
  503. package/dist/infrastructure/drizzle/client.mjs.map +1 -0
  504. package/dist/infrastructure/drizzle/index.cjs +4 -0
  505. package/dist/infrastructure/drizzle/index.mjs +5 -0
  506. package/dist/infrastructure/drizzle/schema.cjs +353 -0
  507. package/dist/infrastructure/drizzle/schema.cjs.map +1 -0
  508. package/dist/infrastructure/drizzle/schema.mjs +337 -0
  509. package/dist/infrastructure/drizzle/schema.mjs.map +1 -0
  510. package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs +14 -0
  511. package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.cjs.map +1 -0
  512. package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs +14 -0
  513. package/dist/infrastructure/drizzle/serializeDiscordAccountEvent.mjs.map +1 -0
  514. package/dist/infrastructure/drizzle/serializeMemberEvent.cjs +61 -0
  515. package/dist/infrastructure/drizzle/serializeMemberEvent.cjs.map +1 -0
  516. package/dist/infrastructure/drizzle/serializeMemberEvent.mjs +61 -0
  517. package/dist/infrastructure/drizzle/serializeMemberEvent.mjs.map +1 -0
  518. package/dist/infrastructure/index.cjs +5 -0
  519. package/dist/infrastructure/index.mjs +6 -0
  520. package/package.json +67 -60
  521. package/dist/index.cjs.map +0 -1
  522. package/dist/index.d.ts +0 -754
  523. package/dist/index.js +0 -1875
  524. 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