@shizuoka-its/core 3.0.0-rc.1 → 3.0.0-rc.3

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 (133) hide show
  1. package/dist/application/dto.cjs +34 -0
  2. package/dist/application/dto.cjs.map +1 -0
  3. package/dist/application/dto.d.cts +29 -0
  4. package/dist/application/dto.d.mts +29 -0
  5. package/dist/application/dto.mjs +33 -0
  6. package/dist/application/dto.mjs.map +1 -0
  7. package/dist/application/exceptions/ApplicationExceptions.cjs +0 -1
  8. package/dist/application/exceptions/ApplicationExceptions.mjs +1 -1
  9. package/dist/application/usecase/event/AddExhibitToEvent.cjs +0 -1
  10. package/dist/application/usecase/event/AddExhibitToEvent.cjs.map +1 -1
  11. package/dist/application/usecase/event/AddExhibitToEvent.mjs +0 -1
  12. package/dist/application/usecase/event/AddExhibitToEvent.mjs.map +1 -1
  13. package/dist/application/usecase/event/CreateEvent.cjs +0 -1
  14. package/dist/application/usecase/event/CreateEvent.cjs.map +1 -1
  15. package/dist/application/usecase/event/CreateEvent.mjs +0 -1
  16. package/dist/application/usecase/event/CreateEvent.mjs.map +1 -1
  17. package/dist/application/usecase/karte/CreateKarte.cjs +0 -1
  18. package/dist/application/usecase/karte/CreateKarte.cjs.map +1 -1
  19. package/dist/application/usecase/karte/CreateKarte.mjs +0 -1
  20. package/dist/application/usecase/karte/CreateKarte.mjs.map +1 -1
  21. package/dist/application/usecase/karte/ImportKarte.cjs +0 -1
  22. package/dist/application/usecase/karte/ImportKarte.cjs.map +1 -1
  23. package/dist/application/usecase/karte/ImportKarte.mjs +0 -1
  24. package/dist/application/usecase/karte/ImportKarte.mjs.map +1 -1
  25. package/dist/application/usecase/member/ConnectDiscordAccount.cjs +0 -1
  26. package/dist/application/usecase/member/ConnectDiscordAccount.cjs.map +1 -1
  27. package/dist/application/usecase/member/ConnectDiscordAccount.mjs +0 -1
  28. package/dist/application/usecase/member/ConnectDiscordAccount.mjs.map +1 -1
  29. package/dist/application/usecase/member/GetMemberWithDiscordAccounts.cjs +23 -0
  30. package/dist/application/usecase/member/GetMemberWithDiscordAccounts.cjs.map +1 -0
  31. package/dist/application/usecase/member/GetMemberWithDiscordAccounts.mjs +23 -0
  32. package/dist/application/usecase/member/GetMemberWithDiscordAccounts.mjs.map +1 -0
  33. package/dist/application/usecase/member/ListMembersWithDiscordAccounts.cjs +27 -0
  34. package/dist/application/usecase/member/ListMembersWithDiscordAccounts.cjs.map +1 -0
  35. package/dist/application/usecase/member/ListMembersWithDiscordAccounts.mjs +27 -0
  36. package/dist/application/usecase/member/ListMembersWithDiscordAccounts.mjs.map +1 -0
  37. package/dist/application/usecase/member/RegisterMember.cjs +0 -1
  38. package/dist/application/usecase/member/RegisterMember.cjs.map +1 -1
  39. package/dist/application/usecase/member/RegisterMember.mjs +0 -1
  40. package/dist/application/usecase/member/RegisterMember.mjs.map +1 -1
  41. package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.cts +1 -0
  42. package/dist/domain/aggregates/discord-account/DiscordAccountRepository.d.mts +1 -0
  43. package/dist/domain/aggregates/karte/Karte.cjs +0 -1
  44. package/dist/domain/aggregates/karte/Karte.cjs.map +1 -1
  45. package/dist/domain/aggregates/karte/Karte.d.cts +1 -1
  46. package/dist/domain/aggregates/karte/Karte.d.mts +1 -1
  47. package/dist/domain/aggregates/karte/Karte.mjs +0 -1
  48. package/dist/domain/aggregates/karte/Karte.mjs.map +1 -1
  49. package/dist/domain/aggregates/member/Member.cjs +0 -1
  50. package/dist/domain/aggregates/member/Member.cjs.map +1 -1
  51. package/dist/domain/aggregates/member/Member.mjs +0 -1
  52. package/dist/domain/aggregates/member/Member.mjs.map +1 -1
  53. package/dist/domain/aggregates/member/MemberEvent.d.cts +1 -1
  54. package/dist/domain/aggregates/member/MemberEvent.d.mts +1 -1
  55. package/dist/executable/event.cjs +0 -2
  56. package/dist/executable/event.cjs.map +1 -1
  57. package/dist/executable/event.mjs +0 -2
  58. package/dist/executable/event.mjs.map +1 -1
  59. package/dist/executable/eventService.cjs +0 -2
  60. package/dist/executable/eventService.cjs.map +1 -1
  61. package/dist/executable/eventService.mjs +0 -2
  62. package/dist/executable/eventService.mjs.map +1 -1
  63. package/dist/executable/karte.cjs +0 -2
  64. package/dist/executable/karte.cjs.map +1 -1
  65. package/dist/executable/karte.mjs +0 -2
  66. package/dist/executable/karte.mjs.map +1 -1
  67. package/dist/executable/karteService.cjs +0 -2
  68. package/dist/executable/karteService.cjs.map +1 -1
  69. package/dist/executable/karteService.d.cts +1 -1
  70. package/dist/executable/karteService.d.mts +1 -1
  71. package/dist/executable/karteService.mjs +0 -2
  72. package/dist/executable/karteService.mjs.map +1 -1
  73. package/dist/executable/member.cjs +0 -2
  74. package/dist/executable/member.cjs.map +1 -1
  75. package/dist/executable/member.mjs +0 -2
  76. package/dist/executable/member.mjs.map +1 -1
  77. package/dist/executable/memberService.cjs +6 -2
  78. package/dist/executable/memberService.cjs.map +1 -1
  79. package/dist/executable/memberService.d.cts +8 -1
  80. package/dist/executable/memberService.d.mts +8 -1
  81. package/dist/executable/memberService.mjs +6 -2
  82. package/dist/executable/memberService.mjs.map +1 -1
  83. package/dist/index.cjs +0 -2
  84. package/dist/index.d.cts +4 -3
  85. package/dist/index.d.mts +4 -3
  86. package/dist/index.mjs +0 -2
  87. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs +3 -1
  88. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.cjs.map +1 -1
  89. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs +3 -1
  90. package/dist/infrastructure/drizzle/DrizzleDiscordAccountRepository.mjs.map +1 -1
  91. package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs +0 -1
  92. package/dist/infrastructure/drizzle/DrizzleEventRepository.cjs.map +1 -1
  93. package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs +0 -1
  94. package/dist/infrastructure/drizzle/DrizzleEventRepository.mjs.map +1 -1
  95. package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs +0 -1
  96. package/dist/infrastructure/drizzle/DrizzleKarteRepository.cjs.map +1 -1
  97. package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs +0 -1
  98. package/dist/infrastructure/drizzle/DrizzleKarteRepository.mjs.map +1 -1
  99. package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs +0 -1
  100. package/dist/infrastructure/drizzle/DrizzleMemberRepository.cjs.map +1 -1
  101. package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs +0 -1
  102. package/dist/infrastructure/drizzle/DrizzleMemberRepository.mjs.map +1 -1
  103. package/dist/infrastructure/drizzle/schema.cjs +0 -1
  104. package/dist/infrastructure/drizzle/schema.cjs.map +1 -1
  105. package/dist/infrastructure/drizzle/schema.mjs +0 -1
  106. package/dist/infrastructure/drizzle/schema.mjs.map +1 -1
  107. package/package.json +2 -1
  108. package/dist/application/index.cjs +0 -39
  109. package/dist/application/index.mjs +0 -40
  110. package/dist/application/usecase/event/index.cjs +0 -14
  111. package/dist/application/usecase/event/index.mjs +0 -15
  112. package/dist/application/usecase/karte/index.cjs +0 -5
  113. package/dist/application/usecase/karte/index.mjs +0 -6
  114. package/dist/application/usecase/member/index.cjs +0 -8
  115. package/dist/application/usecase/member/index.mjs +0 -9
  116. package/dist/domain/aggregates/index.cjs +0 -25
  117. package/dist/domain/aggregates/index.mjs +0 -26
  118. package/dist/domain/aggregates/karte/index.cjs +0 -9
  119. package/dist/domain/aggregates/karte/index.mjs +0 -10
  120. package/dist/domain/aggregates/member/index.cjs +0 -5
  121. package/dist/domain/aggregates/member/index.mjs +0 -6
  122. package/dist/domain/index.cjs +0 -32
  123. package/dist/domain/index.mjs +0 -33
  124. package/dist/domain/shared/affiliation/index.cjs +0 -2
  125. package/dist/domain/shared/affiliation/index.mjs +0 -3
  126. package/dist/domain/shared/index.cjs +0 -5
  127. package/dist/domain/shared/index.mjs +0 -6
  128. package/dist/executable/index.cjs +0 -6
  129. package/dist/executable/index.mjs +0 -7
  130. package/dist/infrastructure/drizzle/index.cjs +0 -4
  131. package/dist/infrastructure/drizzle/index.mjs +0 -5
  132. package/dist/infrastructure/index.cjs +0 -5
  133. package/dist/infrastructure/index.mjs +0 -6
@@ -0,0 +1,34 @@
1
+ //#region src/application/dto.ts
2
+ function personalEmailToString(personalEmail) {
3
+ return personalEmail.type === "recorded" ? personalEmail.value.getValue() : null;
4
+ }
5
+ function toMemberDTO(member) {
6
+ const base = {
7
+ id: member.id,
8
+ email: member.email.getValue(),
9
+ name: member.name,
10
+ personalEmail: personalEmailToString(member.personalEmail)
11
+ };
12
+ if (member.status === "active") return {
13
+ ...base,
14
+ status: member.status,
15
+ studentId: member.studentId.getValue(),
16
+ affiliation: member.affiliation
17
+ };
18
+ return {
19
+ ...base,
20
+ status: member.status
21
+ };
22
+ }
23
+ function toDiscordAccountDTO(account) {
24
+ return {
25
+ discordId: account.discordId,
26
+ memberId: account.memberId,
27
+ nickName: account.nickName
28
+ };
29
+ }
30
+ //#endregion
31
+ exports.toDiscordAccountDTO = toDiscordAccountDTO;
32
+ exports.toMemberDTO = toMemberDTO;
33
+
34
+ //# sourceMappingURL=dto.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dto.cjs","names":[],"sources":["../../src/application/dto.ts"],"sourcesContent":["import type { CompleteAffiliation } from \"#domain/shared/affiliation/Affiliation\";\nimport type { DiscordAccount, Member } from \"#domain\";\nimport type { Email } from \"#domain/aggregates/member/Email\";\nimport type { Recorded } from \"#domain/shared/Recorded\";\n\ntype MemberDTOBase = {\n\tid: string;\n\temail: string;\n\tname: string;\n\tpersonalEmail: string | null;\n};\n\nexport type MemberDTO =\n\t| (MemberDTOBase & {\n\t\t\tstatus: \"active\";\n\t\t\tstudentId: string;\n\t\t\taffiliation: CompleteAffiliation;\n\t })\n\t| (MemberDTOBase & { status: \"unconfirmed\" })\n\t| (MemberDTOBase & { status: \"former\" });\n\nexport type DiscordAccountDTO = {\n\tdiscordId: string;\n\tmemberId: string;\n\tnickName: string;\n};\n\nfunction personalEmailToString(personalEmail: Recorded<Email>): string | null {\n\treturn personalEmail.type === \"recorded\" ? personalEmail.value.getValue() : null;\n}\n\nexport function toMemberDTO(member: Member): MemberDTO {\n\tconst base = {\n\t\tid: member.id as string,\n\t\temail: member.email.getValue(),\n\t\tname: member.name,\n\t\tpersonalEmail: personalEmailToString(member.personalEmail),\n\t};\n\n\tif (member.status === \"active\") {\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: member.status,\n\t\t\tstudentId: member.studentId.getValue(),\n\t\t\taffiliation: member.affiliation,\n\t\t};\n\t}\n\n\treturn {\n\t\t...base,\n\t\tstatus: member.status,\n\t};\n}\n\nexport type MemberWithDiscordAccounts = MemberDTO & {\n\tdiscordAccounts: DiscordAccountDTO[];\n};\n\nexport function toDiscordAccountDTO(account: DiscordAccount): DiscordAccountDTO {\n\treturn {\n\t\tdiscordId: account.discordId as string,\n\t\tmemberId: account.memberId as string,\n\t\tnickName: account.nickName,\n\t};\n}\n"],"mappings":";AA2BA,SAAS,sBAAsB,eAA+C;AAC7E,QAAO,cAAc,SAAS,aAAa,cAAc,MAAM,UAAU,GAAG;;AAG7E,SAAgB,YAAY,QAA2B;CACtD,MAAM,OAAO;EACZ,IAAI,OAAO;EACX,OAAO,OAAO,MAAM,UAAU;EAC9B,MAAM,OAAO;EACb,eAAe,sBAAsB,OAAO,cAAc;EAC1D;AAED,KAAI,OAAO,WAAW,SACrB,QAAO;EACN,GAAG;EACH,QAAQ,OAAO;EACf,WAAW,OAAO,UAAU,UAAU;EACtC,aAAa,OAAO;EACpB;AAGF,QAAO;EACN,GAAG;EACH,QAAQ,OAAO;EACf;;AAOF,SAAgB,oBAAoB,SAA4C;AAC/E,QAAO;EACN,WAAW,QAAQ;EACnB,UAAU,QAAQ;EAClB,UAAU,QAAQ;EAClB"}
@@ -0,0 +1,29 @@
1
+ import { CompleteAffiliation } from "../domain/shared/affiliation/Affiliation.cjs";
2
+
3
+ //#region src/application/dto.d.ts
4
+ type MemberDTOBase = {
5
+ id: string;
6
+ email: string;
7
+ name: string;
8
+ personalEmail: string | null;
9
+ };
10
+ type MemberDTO = (MemberDTOBase & {
11
+ status: "active";
12
+ studentId: string;
13
+ affiliation: CompleteAffiliation;
14
+ }) | (MemberDTOBase & {
15
+ status: "unconfirmed";
16
+ }) | (MemberDTOBase & {
17
+ status: "former";
18
+ });
19
+ type DiscordAccountDTO = {
20
+ discordId: string;
21
+ memberId: string;
22
+ nickName: string;
23
+ };
24
+ type MemberWithDiscordAccounts = MemberDTO & {
25
+ discordAccounts: DiscordAccountDTO[];
26
+ };
27
+ //#endregion
28
+ export { MemberWithDiscordAccounts };
29
+ //# sourceMappingURL=dto.d.cts.map
@@ -0,0 +1,29 @@
1
+ import { CompleteAffiliation } from "../domain/shared/affiliation/Affiliation.mjs";
2
+
3
+ //#region src/application/dto.d.ts
4
+ type MemberDTOBase = {
5
+ id: string;
6
+ email: string;
7
+ name: string;
8
+ personalEmail: string | null;
9
+ };
10
+ type MemberDTO = (MemberDTOBase & {
11
+ status: "active";
12
+ studentId: string;
13
+ affiliation: CompleteAffiliation;
14
+ }) | (MemberDTOBase & {
15
+ status: "unconfirmed";
16
+ }) | (MemberDTOBase & {
17
+ status: "former";
18
+ });
19
+ type DiscordAccountDTO = {
20
+ discordId: string;
21
+ memberId: string;
22
+ nickName: string;
23
+ };
24
+ type MemberWithDiscordAccounts = MemberDTO & {
25
+ discordAccounts: DiscordAccountDTO[];
26
+ };
27
+ //#endregion
28
+ export { MemberWithDiscordAccounts };
29
+ //# sourceMappingURL=dto.d.mts.map
@@ -0,0 +1,33 @@
1
+ //#region src/application/dto.ts
2
+ function personalEmailToString(personalEmail) {
3
+ return personalEmail.type === "recorded" ? personalEmail.value.getValue() : null;
4
+ }
5
+ function toMemberDTO(member) {
6
+ const base = {
7
+ id: member.id,
8
+ email: member.email.getValue(),
9
+ name: member.name,
10
+ personalEmail: personalEmailToString(member.personalEmail)
11
+ };
12
+ if (member.status === "active") return {
13
+ ...base,
14
+ status: member.status,
15
+ studentId: member.studentId.getValue(),
16
+ affiliation: member.affiliation
17
+ };
18
+ return {
19
+ ...base,
20
+ status: member.status
21
+ };
22
+ }
23
+ function toDiscordAccountDTO(account) {
24
+ return {
25
+ discordId: account.discordId,
26
+ memberId: account.memberId,
27
+ nickName: account.nickName
28
+ };
29
+ }
30
+ //#endregion
31
+ export { toDiscordAccountDTO, toMemberDTO };
32
+
33
+ //# sourceMappingURL=dto.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dto.mjs","names":[],"sources":["../../src/application/dto.ts"],"sourcesContent":["import type { CompleteAffiliation } from \"#domain/shared/affiliation/Affiliation\";\nimport type { DiscordAccount, Member } from \"#domain\";\nimport type { Email } from \"#domain/aggregates/member/Email\";\nimport type { Recorded } from \"#domain/shared/Recorded\";\n\ntype MemberDTOBase = {\n\tid: string;\n\temail: string;\n\tname: string;\n\tpersonalEmail: string | null;\n};\n\nexport type MemberDTO =\n\t| (MemberDTOBase & {\n\t\t\tstatus: \"active\";\n\t\t\tstudentId: string;\n\t\t\taffiliation: CompleteAffiliation;\n\t })\n\t| (MemberDTOBase & { status: \"unconfirmed\" })\n\t| (MemberDTOBase & { status: \"former\" });\n\nexport type DiscordAccountDTO = {\n\tdiscordId: string;\n\tmemberId: string;\n\tnickName: string;\n};\n\nfunction personalEmailToString(personalEmail: Recorded<Email>): string | null {\n\treturn personalEmail.type === \"recorded\" ? personalEmail.value.getValue() : null;\n}\n\nexport function toMemberDTO(member: Member): MemberDTO {\n\tconst base = {\n\t\tid: member.id as string,\n\t\temail: member.email.getValue(),\n\t\tname: member.name,\n\t\tpersonalEmail: personalEmailToString(member.personalEmail),\n\t};\n\n\tif (member.status === \"active\") {\n\t\treturn {\n\t\t\t...base,\n\t\t\tstatus: member.status,\n\t\t\tstudentId: member.studentId.getValue(),\n\t\t\taffiliation: member.affiliation,\n\t\t};\n\t}\n\n\treturn {\n\t\t...base,\n\t\tstatus: member.status,\n\t};\n}\n\nexport type MemberWithDiscordAccounts = MemberDTO & {\n\tdiscordAccounts: DiscordAccountDTO[];\n};\n\nexport function toDiscordAccountDTO(account: DiscordAccount): DiscordAccountDTO {\n\treturn {\n\t\tdiscordId: account.discordId as string,\n\t\tmemberId: account.memberId as string,\n\t\tnickName: account.nickName,\n\t};\n}\n"],"mappings":";AA2BA,SAAS,sBAAsB,eAA+C;AAC7E,QAAO,cAAc,SAAS,aAAa,cAAc,MAAM,UAAU,GAAG;;AAG7E,SAAgB,YAAY,QAA2B;CACtD,MAAM,OAAO;EACZ,IAAI,OAAO;EACX,OAAO,OAAO,MAAM,UAAU;EAC9B,MAAM,OAAO;EACb,eAAe,sBAAsB,OAAO,cAAc;EAC1D;AAED,KAAI,OAAO,WAAW,SACrB,QAAO;EACN,GAAG;EACH,QAAQ,OAAO;EACf,WAAW,OAAO,UAAU,UAAU;EACtC,aAAa,OAAO;EACpB;AAGF,QAAO;EACN,GAAG;EACH,QAAQ,OAAO;EACf;;AAOF,SAAgB,oBAAoB,SAA4C;AAC/E,QAAO;EACN,WAAW,QAAQ;EACnB,UAAU,QAAQ;EAClB,UAAU,QAAQ;EAClB"}
@@ -110,7 +110,6 @@ var MemberNotActiveException = class extends ApplicationException {
110
110
  }
111
111
  };
112
112
  //#endregion
113
- exports.ApplicationException = ApplicationException;
114
113
  exports.DiscordAccountAlreadyLinkedException = DiscordAccountAlreadyLinkedException;
115
114
  exports.DiscordAccountAlreadyLinkedToSameMemberException = DiscordAccountAlreadyLinkedToSameMemberException;
116
115
  exports.DiscordAccountNotFoundException = DiscordAccountNotFoundException;
@@ -110,6 +110,6 @@ var MemberNotActiveException = class extends ApplicationException {
110
110
  }
111
111
  };
112
112
  //#endregion
113
- export { ApplicationException, DiscordAccountAlreadyLinkedException, DiscordAccountAlreadyLinkedToSameMemberException, DiscordAccountNotFoundException, EventNotFoundByExhibitIdException, EventNotFoundException, KarteNotFoundException, MemberEmailAlreadyExistsException, MemberNotActiveException, MemberNotFoundException };
113
+ export { DiscordAccountAlreadyLinkedException, DiscordAccountAlreadyLinkedToSameMemberException, DiscordAccountNotFoundException, EventNotFoundByExhibitIdException, EventNotFoundException, KarteNotFoundException, MemberEmailAlreadyExistsException, MemberNotActiveException, MemberNotFoundException };
114
114
 
115
115
  //# sourceMappingURL=ApplicationExceptions.mjs.map
@@ -1,7 +1,6 @@
1
1
  const require_ApplicationExceptions = require("../../exceptions/ApplicationExceptions.cjs");
2
2
  const require_base = require("../base.cjs");
3
3
  const require_Exhibit = require("../../../domain/aggregates/event/Exhibit.cjs");
4
- require("../../../domain/index.cjs");
5
4
  //#region src/application/usecase/event/AddExhibitToEvent.ts
6
5
  /**
7
6
  * イベントに展示を追加するユースケース
@@ -1 +1 @@
1
- {"version":3,"file":"AddExhibitToEvent.cjs","names":["IUseCase","EventNotFoundException","Exhibit"],"sources":["../../../../src/application/usecase/event/AddExhibitToEvent.ts"],"sourcesContent":["import {\n\ttype Event,\n\ttype EventId,\n\ttype EventRepository,\n\tExhibit,\n\ttype ExhibitId,\n\ttype Url,\n} from \"#domain\";\nimport { EventNotFoundException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface AddExhibitToEventInput {\n\teventId: EventId;\n\texhibit: {\n\t\tid: ExhibitId;\n\t\tname: string;\n\t\tdescription?: string;\n\t\tmarkdownContent?: string;\n\t\turl?: Url;\n\t};\n}\n\nexport interface AddExhibitToEventOutput {\n\tevent: Event;\n}\n\n/**\n * イベントに展示を追加するユースケース\n */\nexport class AddExhibitToEvent extends IUseCase<AddExhibitToEventInput, AddExhibitToEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: AddExhibitToEventInput): Promise<AddExhibitToEventOutput> {\n\t\tconst event = await this.eventRepository.findById(input.eventId);\n\t\tif (!event) {\n\t\t\tthrow new EventNotFoundException(input.eventId);\n\t\t}\n\t\tconst { id, name, description, markdownContent, url } = input.exhibit;\n\t\tconst exhibit = new Exhibit(id, name, description, markdownContent, url);\n\t\tevent.addExhibit(exhibit);\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;;AA6BA,IAAa,oBAAb,cAAuCA,aAAAA,SAA0D;CAChG,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAiE;EAC9E,MAAM,QAAQ,MAAM,KAAK,gBAAgB,SAAS,MAAM,QAAQ;AAChE,MAAI,CAAC,MACJ,OAAM,IAAIC,8BAAAA,uBAAuB,MAAM,QAAQ;EAEhD,MAAM,EAAE,IAAI,MAAM,aAAa,iBAAiB,QAAQ,MAAM;EAC9D,MAAM,UAAU,IAAIC,gBAAAA,QAAQ,IAAI,MAAM,aAAa,iBAAiB,IAAI;AACxE,QAAM,WAAW,QAAQ;AACzB,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"AddExhibitToEvent.cjs","names":["IUseCase","EventNotFoundException","Exhibit"],"sources":["../../../../src/application/usecase/event/AddExhibitToEvent.ts"],"sourcesContent":["import {\n\ttype Event,\n\ttype EventId,\n\ttype EventRepository,\n\tExhibit,\n\ttype ExhibitId,\n\ttype Url,\n} from \"#domain\";\nimport { EventNotFoundException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface AddExhibitToEventInput {\n\teventId: EventId;\n\texhibit: {\n\t\tid: ExhibitId;\n\t\tname: string;\n\t\tdescription?: string;\n\t\tmarkdownContent?: string;\n\t\turl?: Url;\n\t};\n}\n\nexport interface AddExhibitToEventOutput {\n\tevent: Event;\n}\n\n/**\n * イベントに展示を追加するユースケース\n */\nexport class AddExhibitToEvent extends IUseCase<AddExhibitToEventInput, AddExhibitToEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: AddExhibitToEventInput): Promise<AddExhibitToEventOutput> {\n\t\tconst event = await this.eventRepository.findById(input.eventId);\n\t\tif (!event) {\n\t\t\tthrow new EventNotFoundException(input.eventId);\n\t\t}\n\t\tconst { id, name, description, markdownContent, url } = input.exhibit;\n\t\tconst exhibit = new Exhibit(id, name, description, markdownContent, url);\n\t\tevent.addExhibit(exhibit);\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;AA6BA,IAAa,oBAAb,cAAuCA,aAAAA,SAA0D;CAChG,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAiE;EAC9E,MAAM,QAAQ,MAAM,KAAK,gBAAgB,SAAS,MAAM,QAAQ;AAChE,MAAI,CAAC,MACJ,OAAM,IAAIC,8BAAAA,uBAAuB,MAAM,QAAQ;EAEhD,MAAM,EAAE,IAAI,MAAM,aAAa,iBAAiB,QAAQ,MAAM;EAC9D,MAAM,UAAU,IAAIC,gBAAAA,QAAQ,IAAI,MAAM,aAAa,iBAAiB,IAAI;AACxE,QAAM,WAAW,QAAQ;AACzB,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
@@ -1,7 +1,6 @@
1
1
  import { EventNotFoundException } from "../../exceptions/ApplicationExceptions.mjs";
2
2
  import { IUseCase } from "../base.mjs";
3
3
  import { Exhibit } from "../../../domain/aggregates/event/Exhibit.mjs";
4
- import "../../../domain/index.mjs";
5
4
  //#region src/application/usecase/event/AddExhibitToEvent.ts
6
5
  /**
7
6
  * イベントに展示を追加するユースケース
@@ -1 +1 @@
1
- {"version":3,"file":"AddExhibitToEvent.mjs","names":[],"sources":["../../../../src/application/usecase/event/AddExhibitToEvent.ts"],"sourcesContent":["import {\n\ttype Event,\n\ttype EventId,\n\ttype EventRepository,\n\tExhibit,\n\ttype ExhibitId,\n\ttype Url,\n} from \"#domain\";\nimport { EventNotFoundException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface AddExhibitToEventInput {\n\teventId: EventId;\n\texhibit: {\n\t\tid: ExhibitId;\n\t\tname: string;\n\t\tdescription?: string;\n\t\tmarkdownContent?: string;\n\t\turl?: Url;\n\t};\n}\n\nexport interface AddExhibitToEventOutput {\n\tevent: Event;\n}\n\n/**\n * イベントに展示を追加するユースケース\n */\nexport class AddExhibitToEvent extends IUseCase<AddExhibitToEventInput, AddExhibitToEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: AddExhibitToEventInput): Promise<AddExhibitToEventOutput> {\n\t\tconst event = await this.eventRepository.findById(input.eventId);\n\t\tif (!event) {\n\t\t\tthrow new EventNotFoundException(input.eventId);\n\t\t}\n\t\tconst { id, name, description, markdownContent, url } = input.exhibit;\n\t\tconst exhibit = new Exhibit(id, name, description, markdownContent, url);\n\t\tevent.addExhibit(exhibit);\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;;AA6BA,IAAa,oBAAb,cAAuC,SAA0D;CAChG,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAiE;EAC9E,MAAM,QAAQ,MAAM,KAAK,gBAAgB,SAAS,MAAM,QAAQ;AAChE,MAAI,CAAC,MACJ,OAAM,IAAI,uBAAuB,MAAM,QAAQ;EAEhD,MAAM,EAAE,IAAI,MAAM,aAAa,iBAAiB,QAAQ,MAAM;EAC9D,MAAM,UAAU,IAAI,QAAQ,IAAI,MAAM,aAAa,iBAAiB,IAAI;AACxE,QAAM,WAAW,QAAQ;AACzB,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"AddExhibitToEvent.mjs","names":[],"sources":["../../../../src/application/usecase/event/AddExhibitToEvent.ts"],"sourcesContent":["import {\n\ttype Event,\n\ttype EventId,\n\ttype EventRepository,\n\tExhibit,\n\ttype ExhibitId,\n\ttype Url,\n} from \"#domain\";\nimport { EventNotFoundException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface AddExhibitToEventInput {\n\teventId: EventId;\n\texhibit: {\n\t\tid: ExhibitId;\n\t\tname: string;\n\t\tdescription?: string;\n\t\tmarkdownContent?: string;\n\t\turl?: Url;\n\t};\n}\n\nexport interface AddExhibitToEventOutput {\n\tevent: Event;\n}\n\n/**\n * イベントに展示を追加するユースケース\n */\nexport class AddExhibitToEvent extends IUseCase<AddExhibitToEventInput, AddExhibitToEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: AddExhibitToEventInput): Promise<AddExhibitToEventOutput> {\n\t\tconst event = await this.eventRepository.findById(input.eventId);\n\t\tif (!event) {\n\t\t\tthrow new EventNotFoundException(input.eventId);\n\t\t}\n\t\tconst { id, name, description, markdownContent, url } = input.exhibit;\n\t\tconst exhibit = new Exhibit(id, name, description, markdownContent, url);\n\t\tevent.addExhibit(exhibit);\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;AA6BA,IAAa,oBAAb,cAAuC,SAA0D;CAChG,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAiE;EAC9E,MAAM,QAAQ,MAAM,KAAK,gBAAgB,SAAS,MAAM,QAAQ;AAChE,MAAI,CAAC,MACJ,OAAM,IAAI,uBAAuB,MAAM,QAAQ;EAEhD,MAAM,EAAE,IAAI,MAAM,aAAa,iBAAiB,QAAQ,MAAM;EAC9D,MAAM,UAAU,IAAI,QAAQ,IAAI,MAAM,aAAa,iBAAiB,IAAI;AACxE,QAAM,WAAW,QAAQ;AACzB,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  const require_base = require("../base.cjs");
2
2
  const require_Event = require("../../../domain/aggregates/event/Event.cjs");
3
- require("../../../domain/index.cjs");
4
3
  //#region src/application/usecase/event/CreateEvent.ts
5
4
  /**
6
5
  * 新しいEventを作成し、DBに保存するユースケース。
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEvent.cjs","names":["IUseCase","Event"],"sources":["../../../../src/application/usecase/event/CreateEvent.ts"],"sourcesContent":["import { Event, type EventId, type EventRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport interface CreateEventInput {\n\tid: EventId;\n\tname: string;\n\tdate: Date;\n}\n\nexport interface CreateEventOutput {\n\tevent: Event;\n}\n\n/**\n * 新しいEventを作成し、DBに保存するユースケース。\n */\nexport class CreateEvent extends IUseCase<CreateEventInput, CreateEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateEventInput): Promise<CreateEventOutput> {\n\t\tconst { id, name, date } = input;\n\n\t\t// event生成\n\t\tconst event = new Event(id, name, date);\n\n\t\t// save\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;AAgBA,IAAa,cAAb,cAAiCA,aAAAA,SAA8C;CAC9E,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,EAAE,IAAI,MAAM,SAAS;EAG3B,MAAM,QAAQ,IAAIC,cAAAA,MAAM,IAAI,MAAM,KAAK;AAGvC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"CreateEvent.cjs","names":["IUseCase","Event"],"sources":["../../../../src/application/usecase/event/CreateEvent.ts"],"sourcesContent":["import { Event, type EventId, type EventRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport interface CreateEventInput {\n\tid: EventId;\n\tname: string;\n\tdate: Date;\n}\n\nexport interface CreateEventOutput {\n\tevent: Event;\n}\n\n/**\n * 新しいEventを作成し、DBに保存するユースケース。\n */\nexport class CreateEvent extends IUseCase<CreateEventInput, CreateEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateEventInput): Promise<CreateEventOutput> {\n\t\tconst { id, name, date } = input;\n\n\t\t// event生成\n\t\tconst event = new Event(id, name, date);\n\n\t\t// save\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;AAgBA,IAAa,cAAb,cAAiCA,aAAAA,SAA8C;CAC9E,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,EAAE,IAAI,MAAM,SAAS;EAG3B,MAAM,QAAQ,IAAIC,cAAAA,MAAM,IAAI,MAAM,KAAK;AAGvC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  import { IUseCase } from "../base.mjs";
2
2
  import { Event } from "../../../domain/aggregates/event/Event.mjs";
3
- import "../../../domain/index.mjs";
4
3
  //#region src/application/usecase/event/CreateEvent.ts
5
4
  /**
6
5
  * 新しいEventを作成し、DBに保存するユースケース。
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEvent.mjs","names":[],"sources":["../../../../src/application/usecase/event/CreateEvent.ts"],"sourcesContent":["import { Event, type EventId, type EventRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport interface CreateEventInput {\n\tid: EventId;\n\tname: string;\n\tdate: Date;\n}\n\nexport interface CreateEventOutput {\n\tevent: Event;\n}\n\n/**\n * 新しいEventを作成し、DBに保存するユースケース。\n */\nexport class CreateEvent extends IUseCase<CreateEventInput, CreateEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateEventInput): Promise<CreateEventOutput> {\n\t\tconst { id, name, date } = input;\n\n\t\t// event生成\n\t\tconst event = new Event(id, name, date);\n\n\t\t// save\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;;AAgBA,IAAa,cAAb,cAAiC,SAA8C;CAC9E,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,EAAE,IAAI,MAAM,SAAS;EAG3B,MAAM,QAAQ,IAAI,MAAM,IAAI,MAAM,KAAK;AAGvC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"CreateEvent.mjs","names":[],"sources":["../../../../src/application/usecase/event/CreateEvent.ts"],"sourcesContent":["import { Event, type EventId, type EventRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport interface CreateEventInput {\n\tid: EventId;\n\tname: string;\n\tdate: Date;\n}\n\nexport interface CreateEventOutput {\n\tevent: Event;\n}\n\n/**\n * 新しいEventを作成し、DBに保存するユースケース。\n */\nexport class CreateEvent extends IUseCase<CreateEventInput, CreateEventOutput> {\n\tconstructor(private readonly eventRepository: EventRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateEventInput): Promise<CreateEventOutput> {\n\t\tconst { id, name, date } = input;\n\n\t\t// event生成\n\t\tconst event = new Event(id, name, date);\n\n\t\t// save\n\t\tawait this.eventRepository.save(event);\n\n\t\treturn { event };\n\t}\n}\n"],"mappings":";;;;;;AAgBA,IAAa,cAAb,cAAiC,SAA8C;CAC9E,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,EAAE,IAAI,MAAM,SAAS;EAG3B,MAAM,QAAQ,IAAI,MAAM,IAAI,MAAM,KAAK;AAGvC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AAEtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  const require_base = require("../base.cjs");
2
2
  const require_Karte = require("../../../domain/aggregates/karte/Karte.cjs");
3
- require("../../../domain/index.cjs");
4
3
  //#region src/application/usecase/karte/CreateKarte.ts
5
4
  var CreateKarteUseCase = class extends require_base.IUseCase {
6
5
  constructor(karteRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateKarte.cjs","names":["IUseCase","Karte"],"sources":["../../../../src/application/usecase/karte/CreateKarte.ts"],"sourcesContent":["import { Karte, type KarteContentProps, type KarteId, type KarteRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport type CreateKarteInput = KarteContentProps & { readonly id: KarteId };\n\nexport type CreateKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class CreateKarteUseCase extends IUseCase<CreateKarteInput, CreateKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateKarteInput): Promise<CreateKarteOutput> {\n\t\tconst karte = Karte.create(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;;AASA,IAAa,qBAAb,cAAwCA,aAAAA,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQC,cAAAA,MAAM,OAAO,MAAM;AACjC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"CreateKarte.cjs","names":["IUseCase","Karte"],"sources":["../../../../src/application/usecase/karte/CreateKarte.ts"],"sourcesContent":["import { Karte, type KarteContentProps, type KarteId, type KarteRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport type CreateKarteInput = KarteContentProps & { readonly id: KarteId };\n\nexport type CreateKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class CreateKarteUseCase extends IUseCase<CreateKarteInput, CreateKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateKarteInput): Promise<CreateKarteOutput> {\n\t\tconst karte = Karte.create(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;AASA,IAAa,qBAAb,cAAwCA,aAAAA,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQC,cAAAA,MAAM,OAAO,MAAM;AACjC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  import { IUseCase } from "../base.mjs";
2
2
  import { Karte } from "../../../domain/aggregates/karte/Karte.mjs";
3
- import "../../../domain/index.mjs";
4
3
  //#region src/application/usecase/karte/CreateKarte.ts
5
4
  var CreateKarteUseCase = class extends IUseCase {
6
5
  constructor(karteRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateKarte.mjs","names":[],"sources":["../../../../src/application/usecase/karte/CreateKarte.ts"],"sourcesContent":["import { Karte, type KarteContentProps, type KarteId, type KarteRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport type CreateKarteInput = KarteContentProps & { readonly id: KarteId };\n\nexport type CreateKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class CreateKarteUseCase extends IUseCase<CreateKarteInput, CreateKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateKarteInput): Promise<CreateKarteOutput> {\n\t\tconst karte = Karte.create(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;;AASA,IAAa,qBAAb,cAAwC,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQ,MAAM,OAAO,MAAM;AACjC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"CreateKarte.mjs","names":[],"sources":["../../../../src/application/usecase/karte/CreateKarte.ts"],"sourcesContent":["import { Karte, type KarteContentProps, type KarteId, type KarteRepository } from \"#domain\";\nimport { IUseCase } from \"../base\";\n\nexport type CreateKarteInput = KarteContentProps & { readonly id: KarteId };\n\nexport type CreateKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class CreateKarteUseCase extends IUseCase<CreateKarteInput, CreateKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: CreateKarteInput): Promise<CreateKarteOutput> {\n\t\tconst karte = Karte.create(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;AASA,IAAa,qBAAb,cAAwC,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQ,MAAM,OAAO,MAAM;AACjC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  const require_base = require("../base.cjs");
2
2
  const require_Karte = require("../../../domain/aggregates/karte/Karte.cjs");
3
- require("../../../domain/index.cjs");
4
3
  //#region src/application/usecase/karte/ImportKarte.ts
5
4
  var ImportKarteUseCase = class extends require_base.IUseCase {
6
5
  constructor(karteRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImportKarte.cjs","names":["IUseCase","Karte"],"sources":["../../../../src/application/usecase/karte/ImportKarte.ts"],"sourcesContent":["import {\n\ttype Client,\n\ttype Consent,\n\ttype Consultation,\n\ttype ConsultedAt,\n\tKarte,\n\ttype KarteId,\n\ttype KarteRepository,\n\ttype Recorded,\n\ttype SupportRecord,\n} from \"#domain\";\nimport { IUseCase } from \"../base\";\n\n/**\n * 過去データのインポート用入力\n *\n * 新規作成と異なり、一部フィールドが未記録(notRecorded)である可能性がある。\n * Karte.reconstruct() を使用して不変条件をバイパスする。\n */\nexport type ImportKarteInput = {\n\treadonly id: KarteId;\n\treadonly recordedAt: Date;\n\treadonly consultedAt: Recorded<ConsultedAt>;\n\treadonly lastUpdatedAt: Date;\n\treadonly client: Recorded<Client>;\n\treadonly consent: Consent;\n\treadonly consultation: Consultation;\n\treadonly supportRecord: SupportRecord;\n};\n\nexport type ImportKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class ImportKarteUseCase extends IUseCase<ImportKarteInput, ImportKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ImportKarteInput): Promise<ImportKarteOutput> {\n\t\tconst karte = Karte.reconstruct(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;;AAkCA,IAAa,qBAAb,cAAwCA,aAAAA,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQC,cAAAA,MAAM,YAAY,MAAM;AACtC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"ImportKarte.cjs","names":["IUseCase","Karte"],"sources":["../../../../src/application/usecase/karte/ImportKarte.ts"],"sourcesContent":["import {\n\ttype Client,\n\ttype Consent,\n\ttype Consultation,\n\ttype ConsultedAt,\n\tKarte,\n\ttype KarteId,\n\ttype KarteRepository,\n\ttype Recorded,\n\ttype SupportRecord,\n} from \"#domain\";\nimport { IUseCase } from \"../base\";\n\n/**\n * 過去データのインポート用入力\n *\n * 新規作成と異なり、一部フィールドが未記録(notRecorded)である可能性がある。\n * Karte.reconstruct() を使用して不変条件をバイパスする。\n */\nexport type ImportKarteInput = {\n\treadonly id: KarteId;\n\treadonly recordedAt: Date;\n\treadonly consultedAt: Recorded<ConsultedAt>;\n\treadonly lastUpdatedAt: Date;\n\treadonly client: Recorded<Client>;\n\treadonly consent: Consent;\n\treadonly consultation: Consultation;\n\treadonly supportRecord: SupportRecord;\n};\n\nexport type ImportKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class ImportKarteUseCase extends IUseCase<ImportKarteInput, ImportKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ImportKarteInput): Promise<ImportKarteOutput> {\n\t\tconst karte = Karte.reconstruct(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;AAkCA,IAAa,qBAAb,cAAwCA,aAAAA,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQC,cAAAA,MAAM,YAAY,MAAM;AACtC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
@@ -1,6 +1,5 @@
1
1
  import { IUseCase } from "../base.mjs";
2
2
  import { Karte } from "../../../domain/aggregates/karte/Karte.mjs";
3
- import "../../../domain/index.mjs";
4
3
  //#region src/application/usecase/karte/ImportKarte.ts
5
4
  var ImportKarteUseCase = class extends IUseCase {
6
5
  constructor(karteRepository) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImportKarte.mjs","names":[],"sources":["../../../../src/application/usecase/karte/ImportKarte.ts"],"sourcesContent":["import {\n\ttype Client,\n\ttype Consent,\n\ttype Consultation,\n\ttype ConsultedAt,\n\tKarte,\n\ttype KarteId,\n\ttype KarteRepository,\n\ttype Recorded,\n\ttype SupportRecord,\n} from \"#domain\";\nimport { IUseCase } from \"../base\";\n\n/**\n * 過去データのインポート用入力\n *\n * 新規作成と異なり、一部フィールドが未記録(notRecorded)である可能性がある。\n * Karte.reconstruct() を使用して不変条件をバイパスする。\n */\nexport type ImportKarteInput = {\n\treadonly id: KarteId;\n\treadonly recordedAt: Date;\n\treadonly consultedAt: Recorded<ConsultedAt>;\n\treadonly lastUpdatedAt: Date;\n\treadonly client: Recorded<Client>;\n\treadonly consent: Consent;\n\treadonly consultation: Consultation;\n\treadonly supportRecord: SupportRecord;\n};\n\nexport type ImportKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class ImportKarteUseCase extends IUseCase<ImportKarteInput, ImportKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ImportKarteInput): Promise<ImportKarteOutput> {\n\t\tconst karte = Karte.reconstruct(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;;AAkCA,IAAa,qBAAb,cAAwC,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQ,MAAM,YAAY,MAAM;AACtC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
1
+ {"version":3,"file":"ImportKarte.mjs","names":[],"sources":["../../../../src/application/usecase/karte/ImportKarte.ts"],"sourcesContent":["import {\n\ttype Client,\n\ttype Consent,\n\ttype Consultation,\n\ttype ConsultedAt,\n\tKarte,\n\ttype KarteId,\n\ttype KarteRepository,\n\ttype Recorded,\n\ttype SupportRecord,\n} from \"#domain\";\nimport { IUseCase } from \"../base\";\n\n/**\n * 過去データのインポート用入力\n *\n * 新規作成と異なり、一部フィールドが未記録(notRecorded)である可能性がある。\n * Karte.reconstruct() を使用して不変条件をバイパスする。\n */\nexport type ImportKarteInput = {\n\treadonly id: KarteId;\n\treadonly recordedAt: Date;\n\treadonly consultedAt: Recorded<ConsultedAt>;\n\treadonly lastUpdatedAt: Date;\n\treadonly client: Recorded<Client>;\n\treadonly consent: Consent;\n\treadonly consultation: Consultation;\n\treadonly supportRecord: SupportRecord;\n};\n\nexport type ImportKarteOutput = {\n\treadonly karte: Karte;\n};\n\nexport class ImportKarteUseCase extends IUseCase<ImportKarteInput, ImportKarteOutput> {\n\tconstructor(private readonly karteRepository: KarteRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ImportKarteInput): Promise<ImportKarteOutput> {\n\t\tconst karte = Karte.reconstruct(input);\n\t\tawait this.karteRepository.save(karte);\n\t\treturn { karte };\n\t}\n}\n"],"mappings":";;;AAkCA,IAAa,qBAAb,cAAwC,SAA8C;CACrF,YAAY,iBAAmD;AAC9D,SAAO;AADqB,OAAA,kBAAA;;CAI7B,MAAM,QAAQ,OAAqD;EAClE,MAAM,QAAQ,MAAM,YAAY,MAAM;AACtC,QAAM,KAAK,gBAAgB,KAAK,MAAM;AACtC,SAAO,EAAE,OAAO"}
@@ -1,7 +1,6 @@
1
1
  const require_ApplicationExceptions = require("../../exceptions/ApplicationExceptions.cjs");
2
2
  const require_base = require("../base.cjs");
3
3
  const require_DiscordAccount = require("../../../domain/aggregates/discord-account/DiscordAccount.cjs");
4
- require("../../../domain/index.cjs");
5
4
  //#region src/application/usecase/member/ConnectDiscordAccount.ts
6
5
  var ConnectDiscordAccountUseCase = class extends require_base.IUseCase {
7
6
  constructor(memberRepo, discordRepo) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDiscordAccount.cjs","names":["IUseCase","MemberNotFoundException","DiscordAccountAlreadyLinkedToSameMemberException","DiscordAccountAlreadyLinkedException","DiscordAccount"],"sources":["../../../../src/application/usecase/member/ConnectDiscordAccount.ts"],"sourcesContent":["import {\n\tDiscordAccount,\n\ttype DiscordAccountRepository,\n\ttype DiscordId,\n\ttype MemberId,\n\ttype MemberRepository,\n} from \"#domain\";\nimport {\n\tDiscordAccountAlreadyLinkedException,\n\tDiscordAccountAlreadyLinkedToSameMemberException,\n\tMemberNotFoundException,\n} from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface ConnectDiscordAccountInput {\n\tmemberId: MemberId;\n\tdiscordAccountId: DiscordId;\n\tdiscordNickName?: string;\n}\n\nexport interface ConnectDiscordAccountOutput {\n\tdiscordAccount: DiscordAccount;\n}\n\nexport class ConnectDiscordAccountUseCase extends IUseCase<\n\tConnectDiscordAccountInput,\n\tConnectDiscordAccountOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ConnectDiscordAccountInput): Promise<ConnectDiscordAccountOutput> {\n\t\tconst member = await this.memberRepo.findById(input.memberId);\n\t\tif (!member) {\n\t\t\tthrow new MemberNotFoundException(input.memberId);\n\t\t}\n\n\t\tconst existing = await this.discordRepo.findByDiscordId(input.discordAccountId);\n\t\tif (existing) {\n\t\t\tif (existing.memberId === input.memberId) {\n\t\t\t\tthrow new DiscordAccountAlreadyLinkedToSameMemberException(\n\t\t\t\t\tinput.discordAccountId,\n\t\t\t\t\tinput.memberId,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new DiscordAccountAlreadyLinkedException(input.discordAccountId, existing.memberId);\n\t\t}\n\n\t\tconst discordAccount = DiscordAccount.link(\n\t\t\tinput.discordAccountId,\n\t\t\tinput.memberId,\n\t\t\tinput.discordNickName,\n\t\t);\n\n\t\tawait this.discordRepo.save(discordAccount);\n\n\t\treturn { discordAccount };\n\t}\n}\n"],"mappings":";;;;;AAwBA,IAAa,+BAAb,cAAkDA,aAAAA,SAGhD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QAAQ,OAAyE;AAEtF,MAAI,CADW,MAAM,KAAK,WAAW,SAAS,MAAM,SAAS,CAE5D,OAAM,IAAIC,8BAAAA,wBAAwB,MAAM,SAAS;EAGlD,MAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,MAAM,iBAAiB;AAC/E,MAAI,UAAU;AACb,OAAI,SAAS,aAAa,MAAM,SAC/B,OAAM,IAAIC,8BAAAA,iDACT,MAAM,kBACN,MAAM,SACN;AAEF,SAAM,IAAIC,8BAAAA,qCAAqC,MAAM,kBAAkB,SAAS,SAAS;;EAG1F,MAAM,iBAAiBC,uBAAAA,eAAe,KACrC,MAAM,kBACN,MAAM,UACN,MAAM,gBACN;AAED,QAAM,KAAK,YAAY,KAAK,eAAe;AAE3C,SAAO,EAAE,gBAAgB"}
1
+ {"version":3,"file":"ConnectDiscordAccount.cjs","names":["IUseCase","MemberNotFoundException","DiscordAccountAlreadyLinkedToSameMemberException","DiscordAccountAlreadyLinkedException","DiscordAccount"],"sources":["../../../../src/application/usecase/member/ConnectDiscordAccount.ts"],"sourcesContent":["import {\n\tDiscordAccount,\n\ttype DiscordAccountRepository,\n\ttype DiscordId,\n\ttype MemberId,\n\ttype MemberRepository,\n} from \"#domain\";\nimport {\n\tDiscordAccountAlreadyLinkedException,\n\tDiscordAccountAlreadyLinkedToSameMemberException,\n\tMemberNotFoundException,\n} from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface ConnectDiscordAccountInput {\n\tmemberId: MemberId;\n\tdiscordAccountId: DiscordId;\n\tdiscordNickName?: string;\n}\n\nexport interface ConnectDiscordAccountOutput {\n\tdiscordAccount: DiscordAccount;\n}\n\nexport class ConnectDiscordAccountUseCase extends IUseCase<\n\tConnectDiscordAccountInput,\n\tConnectDiscordAccountOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ConnectDiscordAccountInput): Promise<ConnectDiscordAccountOutput> {\n\t\tconst member = await this.memberRepo.findById(input.memberId);\n\t\tif (!member) {\n\t\t\tthrow new MemberNotFoundException(input.memberId);\n\t\t}\n\n\t\tconst existing = await this.discordRepo.findByDiscordId(input.discordAccountId);\n\t\tif (existing) {\n\t\t\tif (existing.memberId === input.memberId) {\n\t\t\t\tthrow new DiscordAccountAlreadyLinkedToSameMemberException(\n\t\t\t\t\tinput.discordAccountId,\n\t\t\t\t\tinput.memberId,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new DiscordAccountAlreadyLinkedException(input.discordAccountId, existing.memberId);\n\t\t}\n\n\t\tconst discordAccount = DiscordAccount.link(\n\t\t\tinput.discordAccountId,\n\t\t\tinput.memberId,\n\t\t\tinput.discordNickName,\n\t\t);\n\n\t\tawait this.discordRepo.save(discordAccount);\n\n\t\treturn { discordAccount };\n\t}\n}\n"],"mappings":";;;;AAwBA,IAAa,+BAAb,cAAkDA,aAAAA,SAGhD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QAAQ,OAAyE;AAEtF,MAAI,CADW,MAAM,KAAK,WAAW,SAAS,MAAM,SAAS,CAE5D,OAAM,IAAIC,8BAAAA,wBAAwB,MAAM,SAAS;EAGlD,MAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,MAAM,iBAAiB;AAC/E,MAAI,UAAU;AACb,OAAI,SAAS,aAAa,MAAM,SAC/B,OAAM,IAAIC,8BAAAA,iDACT,MAAM,kBACN,MAAM,SACN;AAEF,SAAM,IAAIC,8BAAAA,qCAAqC,MAAM,kBAAkB,SAAS,SAAS;;EAG1F,MAAM,iBAAiBC,uBAAAA,eAAe,KACrC,MAAM,kBACN,MAAM,UACN,MAAM,gBACN;AAED,QAAM,KAAK,YAAY,KAAK,eAAe;AAE3C,SAAO,EAAE,gBAAgB"}
@@ -1,7 +1,6 @@
1
1
  import { DiscordAccountAlreadyLinkedException, DiscordAccountAlreadyLinkedToSameMemberException, MemberNotFoundException } from "../../exceptions/ApplicationExceptions.mjs";
2
2
  import { IUseCase } from "../base.mjs";
3
3
  import { DiscordAccount } from "../../../domain/aggregates/discord-account/DiscordAccount.mjs";
4
- import "../../../domain/index.mjs";
5
4
  //#region src/application/usecase/member/ConnectDiscordAccount.ts
6
5
  var ConnectDiscordAccountUseCase = class extends IUseCase {
7
6
  constructor(memberRepo, discordRepo) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDiscordAccount.mjs","names":[],"sources":["../../../../src/application/usecase/member/ConnectDiscordAccount.ts"],"sourcesContent":["import {\n\tDiscordAccount,\n\ttype DiscordAccountRepository,\n\ttype DiscordId,\n\ttype MemberId,\n\ttype MemberRepository,\n} from \"#domain\";\nimport {\n\tDiscordAccountAlreadyLinkedException,\n\tDiscordAccountAlreadyLinkedToSameMemberException,\n\tMemberNotFoundException,\n} from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface ConnectDiscordAccountInput {\n\tmemberId: MemberId;\n\tdiscordAccountId: DiscordId;\n\tdiscordNickName?: string;\n}\n\nexport interface ConnectDiscordAccountOutput {\n\tdiscordAccount: DiscordAccount;\n}\n\nexport class ConnectDiscordAccountUseCase extends IUseCase<\n\tConnectDiscordAccountInput,\n\tConnectDiscordAccountOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ConnectDiscordAccountInput): Promise<ConnectDiscordAccountOutput> {\n\t\tconst member = await this.memberRepo.findById(input.memberId);\n\t\tif (!member) {\n\t\t\tthrow new MemberNotFoundException(input.memberId);\n\t\t}\n\n\t\tconst existing = await this.discordRepo.findByDiscordId(input.discordAccountId);\n\t\tif (existing) {\n\t\t\tif (existing.memberId === input.memberId) {\n\t\t\t\tthrow new DiscordAccountAlreadyLinkedToSameMemberException(\n\t\t\t\t\tinput.discordAccountId,\n\t\t\t\t\tinput.memberId,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new DiscordAccountAlreadyLinkedException(input.discordAccountId, existing.memberId);\n\t\t}\n\n\t\tconst discordAccount = DiscordAccount.link(\n\t\t\tinput.discordAccountId,\n\t\t\tinput.memberId,\n\t\t\tinput.discordNickName,\n\t\t);\n\n\t\tawait this.discordRepo.save(discordAccount);\n\n\t\treturn { discordAccount };\n\t}\n}\n"],"mappings":";;;;;AAwBA,IAAa,+BAAb,cAAkD,SAGhD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QAAQ,OAAyE;AAEtF,MAAI,CADW,MAAM,KAAK,WAAW,SAAS,MAAM,SAAS,CAE5D,OAAM,IAAI,wBAAwB,MAAM,SAAS;EAGlD,MAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,MAAM,iBAAiB;AAC/E,MAAI,UAAU;AACb,OAAI,SAAS,aAAa,MAAM,SAC/B,OAAM,IAAI,iDACT,MAAM,kBACN,MAAM,SACN;AAEF,SAAM,IAAI,qCAAqC,MAAM,kBAAkB,SAAS,SAAS;;EAG1F,MAAM,iBAAiB,eAAe,KACrC,MAAM,kBACN,MAAM,UACN,MAAM,gBACN;AAED,QAAM,KAAK,YAAY,KAAK,eAAe;AAE3C,SAAO,EAAE,gBAAgB"}
1
+ {"version":3,"file":"ConnectDiscordAccount.mjs","names":[],"sources":["../../../../src/application/usecase/member/ConnectDiscordAccount.ts"],"sourcesContent":["import {\n\tDiscordAccount,\n\ttype DiscordAccountRepository,\n\ttype DiscordId,\n\ttype MemberId,\n\ttype MemberRepository,\n} from \"#domain\";\nimport {\n\tDiscordAccountAlreadyLinkedException,\n\tDiscordAccountAlreadyLinkedToSameMemberException,\n\tMemberNotFoundException,\n} from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface ConnectDiscordAccountInput {\n\tmemberId: MemberId;\n\tdiscordAccountId: DiscordId;\n\tdiscordNickName?: string;\n}\n\nexport interface ConnectDiscordAccountOutput {\n\tdiscordAccount: DiscordAccount;\n}\n\nexport class ConnectDiscordAccountUseCase extends IUseCase<\n\tConnectDiscordAccountInput,\n\tConnectDiscordAccountOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: ConnectDiscordAccountInput): Promise<ConnectDiscordAccountOutput> {\n\t\tconst member = await this.memberRepo.findById(input.memberId);\n\t\tif (!member) {\n\t\t\tthrow new MemberNotFoundException(input.memberId);\n\t\t}\n\n\t\tconst existing = await this.discordRepo.findByDiscordId(input.discordAccountId);\n\t\tif (existing) {\n\t\t\tif (existing.memberId === input.memberId) {\n\t\t\t\tthrow new DiscordAccountAlreadyLinkedToSameMemberException(\n\t\t\t\t\tinput.discordAccountId,\n\t\t\t\t\tinput.memberId,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new DiscordAccountAlreadyLinkedException(input.discordAccountId, existing.memberId);\n\t\t}\n\n\t\tconst discordAccount = DiscordAccount.link(\n\t\t\tinput.discordAccountId,\n\t\t\tinput.memberId,\n\t\t\tinput.discordNickName,\n\t\t);\n\n\t\tawait this.discordRepo.save(discordAccount);\n\n\t\treturn { discordAccount };\n\t}\n}\n"],"mappings":";;;;AAwBA,IAAa,+BAAb,cAAkD,SAGhD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QAAQ,OAAyE;AAEtF,MAAI,CADW,MAAM,KAAK,WAAW,SAAS,MAAM,SAAS,CAE5D,OAAM,IAAI,wBAAwB,MAAM,SAAS;EAGlD,MAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,MAAM,iBAAiB;AAC/E,MAAI,UAAU;AACb,OAAI,SAAS,aAAa,MAAM,SAC/B,OAAM,IAAI,iDACT,MAAM,kBACN,MAAM,SACN;AAEF,SAAM,IAAI,qCAAqC,MAAM,kBAAkB,SAAS,SAAS;;EAG1F,MAAM,iBAAiB,eAAe,KACrC,MAAM,kBACN,MAAM,UACN,MAAM,gBACN;AAED,QAAM,KAAK,YAAY,KAAK,eAAe;AAE3C,SAAO,EAAE,gBAAgB"}
@@ -0,0 +1,23 @@
1
+ const require_dto = require("../../dto.cjs");
2
+ const require_base = require("../base.cjs");
3
+ //#region src/application/usecase/member/GetMemberWithDiscordAccounts.ts
4
+ var GetMemberWithDiscordAccountsUseCase = class extends require_base.IUseCase {
5
+ constructor(memberRepo, discordRepo) {
6
+ super();
7
+ this.memberRepo = memberRepo;
8
+ this.discordRepo = discordRepo;
9
+ }
10
+ async execute(input) {
11
+ const member = await this.memberRepo.findById(input.id);
12
+ if (!member) return { member: null };
13
+ const discordAccounts = await this.discordRepo.findByMemberId(member.id);
14
+ return { member: {
15
+ ...require_dto.toMemberDTO(member),
16
+ discordAccounts: discordAccounts.map(require_dto.toDiscordAccountDTO)
17
+ } };
18
+ }
19
+ };
20
+ //#endregion
21
+ exports.GetMemberWithDiscordAccountsUseCase = GetMemberWithDiscordAccountsUseCase;
22
+
23
+ //# sourceMappingURL=GetMemberWithDiscordAccounts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMemberWithDiscordAccounts.cjs","names":["IUseCase","toMemberDTO","toDiscordAccountDTO"],"sources":["../../../../src/application/usecase/member/GetMemberWithDiscordAccounts.ts"],"sourcesContent":["import type { DiscordAccountRepository, MemberId, MemberRepository } from \"#domain\";\nimport type { MemberWithDiscordAccounts } from \"../../dto\";\nimport { toDiscordAccountDTO, toMemberDTO } from \"../../dto\";\nimport { IUseCase } from \"../base\";\n\nexport interface GetMemberWithDiscordAccountsInput {\n\tid: MemberId;\n}\n\nexport interface GetMemberWithDiscordAccountsOutput {\n\tmember: MemberWithDiscordAccounts | null;\n}\n\nexport class GetMemberWithDiscordAccountsUseCase extends IUseCase<\n\tGetMemberWithDiscordAccountsInput,\n\tGetMemberWithDiscordAccountsOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(\n\t\tinput: GetMemberWithDiscordAccountsInput,\n\t): Promise<GetMemberWithDiscordAccountsOutput> {\n\t\tconst member = await this.memberRepo.findById(input.id);\n\t\tif (!member) {\n\t\t\treturn { member: null };\n\t\t}\n\n\t\tconst discordAccounts = await this.discordRepo.findByMemberId(member.id);\n\n\t\treturn {\n\t\t\tmember: {\n\t\t\t\t...toMemberDTO(member),\n\t\t\t\tdiscordAccounts: discordAccounts.map(toDiscordAccountDTO),\n\t\t\t},\n\t\t};\n\t}\n}\n"],"mappings":";;;AAaA,IAAa,sCAAb,cAAyDA,aAAAA,SAGvD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QACL,OAC8C;EAC9C,MAAM,SAAS,MAAM,KAAK,WAAW,SAAS,MAAM,GAAG;AACvD,MAAI,CAAC,OACJ,QAAO,EAAE,QAAQ,MAAM;EAGxB,MAAM,kBAAkB,MAAM,KAAK,YAAY,eAAe,OAAO,GAAG;AAExE,SAAO,EACN,QAAQ;GACP,GAAGC,YAAAA,YAAY,OAAO;GACtB,iBAAiB,gBAAgB,IAAIC,YAAAA,oBAAoB;GACzD,EACD"}
@@ -0,0 +1,23 @@
1
+ import { toDiscordAccountDTO, toMemberDTO } from "../../dto.mjs";
2
+ import { IUseCase } from "../base.mjs";
3
+ //#region src/application/usecase/member/GetMemberWithDiscordAccounts.ts
4
+ var GetMemberWithDiscordAccountsUseCase = class extends IUseCase {
5
+ constructor(memberRepo, discordRepo) {
6
+ super();
7
+ this.memberRepo = memberRepo;
8
+ this.discordRepo = discordRepo;
9
+ }
10
+ async execute(input) {
11
+ const member = await this.memberRepo.findById(input.id);
12
+ if (!member) return { member: null };
13
+ const discordAccounts = await this.discordRepo.findByMemberId(member.id);
14
+ return { member: {
15
+ ...toMemberDTO(member),
16
+ discordAccounts: discordAccounts.map(toDiscordAccountDTO)
17
+ } };
18
+ }
19
+ };
20
+ //#endregion
21
+ export { GetMemberWithDiscordAccountsUseCase };
22
+
23
+ //# sourceMappingURL=GetMemberWithDiscordAccounts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMemberWithDiscordAccounts.mjs","names":[],"sources":["../../../../src/application/usecase/member/GetMemberWithDiscordAccounts.ts"],"sourcesContent":["import type { DiscordAccountRepository, MemberId, MemberRepository } from \"#domain\";\nimport type { MemberWithDiscordAccounts } from \"../../dto\";\nimport { toDiscordAccountDTO, toMemberDTO } from \"../../dto\";\nimport { IUseCase } from \"../base\";\n\nexport interface GetMemberWithDiscordAccountsInput {\n\tid: MemberId;\n}\n\nexport interface GetMemberWithDiscordAccountsOutput {\n\tmember: MemberWithDiscordAccounts | null;\n}\n\nexport class GetMemberWithDiscordAccountsUseCase extends IUseCase<\n\tGetMemberWithDiscordAccountsInput,\n\tGetMemberWithDiscordAccountsOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(\n\t\tinput: GetMemberWithDiscordAccountsInput,\n\t): Promise<GetMemberWithDiscordAccountsOutput> {\n\t\tconst member = await this.memberRepo.findById(input.id);\n\t\tif (!member) {\n\t\t\treturn { member: null };\n\t\t}\n\n\t\tconst discordAccounts = await this.discordRepo.findByMemberId(member.id);\n\n\t\treturn {\n\t\t\tmember: {\n\t\t\t\t...toMemberDTO(member),\n\t\t\t\tdiscordAccounts: discordAccounts.map(toDiscordAccountDTO),\n\t\t\t},\n\t\t};\n\t}\n}\n"],"mappings":";;;AAaA,IAAa,sCAAb,cAAyD,SAGvD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QACL,OAC8C;EAC9C,MAAM,SAAS,MAAM,KAAK,WAAW,SAAS,MAAM,GAAG;AACvD,MAAI,CAAC,OACJ,QAAO,EAAE,QAAQ,MAAM;EAGxB,MAAM,kBAAkB,MAAM,KAAK,YAAY,eAAe,OAAO,GAAG;AAExE,SAAO,EACN,QAAQ;GACP,GAAG,YAAY,OAAO;GACtB,iBAAiB,gBAAgB,IAAI,oBAAoB;GACzD,EACD"}
@@ -0,0 +1,27 @@
1
+ const require_dto = require("../../dto.cjs");
2
+ const require_base = require("../base.cjs");
3
+ //#region src/application/usecase/member/ListMembersWithDiscordAccounts.ts
4
+ var ListMembersWithDiscordAccountsUseCase = class extends require_base.IUseCase {
5
+ constructor(memberRepo, discordRepo) {
6
+ super();
7
+ this.memberRepo = memberRepo;
8
+ this.discordRepo = discordRepo;
9
+ }
10
+ async execute(_input) {
11
+ const [members, allDiscordAccounts] = await Promise.all([this.memberRepo.findAll(), this.discordRepo.findAll()]);
12
+ const accountsByMemberId = /* @__PURE__ */ new Map();
13
+ for (const account of allDiscordAccounts) {
14
+ const existing = accountsByMemberId.get(account.memberId) ?? [];
15
+ existing.push(require_dto.toDiscordAccountDTO(account));
16
+ accountsByMemberId.set(account.memberId, existing);
17
+ }
18
+ return { entries: members.map((member) => ({
19
+ ...require_dto.toMemberDTO(member),
20
+ discordAccounts: accountsByMemberId.get(member.id) ?? []
21
+ })) };
22
+ }
23
+ };
24
+ //#endregion
25
+ exports.ListMembersWithDiscordAccountsUseCase = ListMembersWithDiscordAccountsUseCase;
26
+
27
+ //# sourceMappingURL=ListMembersWithDiscordAccounts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListMembersWithDiscordAccounts.cjs","names":["IUseCase","toDiscordAccountDTO","toMemberDTO"],"sources":["../../../../src/application/usecase/member/ListMembersWithDiscordAccounts.ts"],"sourcesContent":["import type { DiscordAccountRepository, MemberId, MemberRepository } from \"#domain\";\nimport type { DiscordAccountDTO, MemberWithDiscordAccounts } from \"../../dto\";\nimport { toDiscordAccountDTO, toMemberDTO } from \"../../dto\";\nimport { IUseCase } from \"../base\";\n\nexport type ListMembersWithDiscordAccountsInput = Record<string, never>;\n\nexport interface ListMembersWithDiscordAccountsOutput {\n\tentries: MemberWithDiscordAccounts[];\n}\n\nexport class ListMembersWithDiscordAccountsUseCase extends IUseCase<\n\tListMembersWithDiscordAccountsInput,\n\tListMembersWithDiscordAccountsOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(\n\t\t_input: ListMembersWithDiscordAccountsInput,\n\t): Promise<ListMembersWithDiscordAccountsOutput> {\n\t\tconst [members, allDiscordAccounts] = await Promise.all([\n\t\t\tthis.memberRepo.findAll(),\n\t\t\tthis.discordRepo.findAll(),\n\t\t]);\n\n\t\tconst accountsByMemberId = new Map<MemberId, DiscordAccountDTO[]>();\n\t\tfor (const account of allDiscordAccounts) {\n\t\t\tconst existing = accountsByMemberId.get(account.memberId) ?? [];\n\t\t\texisting.push(toDiscordAccountDTO(account));\n\t\t\taccountsByMemberId.set(account.memberId, existing);\n\t\t}\n\n\t\treturn {\n\t\t\tentries: members.map((member) => ({\n\t\t\t\t...toMemberDTO(member),\n\t\t\t\tdiscordAccounts: accountsByMemberId.get(member.id) ?? [],\n\t\t\t})),\n\t\t};\n\t}\n}\n"],"mappings":";;;AAWA,IAAa,wCAAb,cAA2DA,aAAAA,SAGzD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QACL,QACgD;EAChD,MAAM,CAAC,SAAS,sBAAsB,MAAM,QAAQ,IAAI,CACvD,KAAK,WAAW,SAAS,EACzB,KAAK,YAAY,SAAS,CAC1B,CAAC;EAEF,MAAM,qCAAqB,IAAI,KAAoC;AACnE,OAAK,MAAM,WAAW,oBAAoB;GACzC,MAAM,WAAW,mBAAmB,IAAI,QAAQ,SAAS,IAAI,EAAE;AAC/D,YAAS,KAAKC,YAAAA,oBAAoB,QAAQ,CAAC;AAC3C,sBAAmB,IAAI,QAAQ,UAAU,SAAS;;AAGnD,SAAO,EACN,SAAS,QAAQ,KAAK,YAAY;GACjC,GAAGC,YAAAA,YAAY,OAAO;GACtB,iBAAiB,mBAAmB,IAAI,OAAO,GAAG,IAAI,EAAE;GACxD,EAAE,EACH"}
@@ -0,0 +1,27 @@
1
+ import { toDiscordAccountDTO, toMemberDTO } from "../../dto.mjs";
2
+ import { IUseCase } from "../base.mjs";
3
+ //#region src/application/usecase/member/ListMembersWithDiscordAccounts.ts
4
+ var ListMembersWithDiscordAccountsUseCase = class extends IUseCase {
5
+ constructor(memberRepo, discordRepo) {
6
+ super();
7
+ this.memberRepo = memberRepo;
8
+ this.discordRepo = discordRepo;
9
+ }
10
+ async execute(_input) {
11
+ const [members, allDiscordAccounts] = await Promise.all([this.memberRepo.findAll(), this.discordRepo.findAll()]);
12
+ const accountsByMemberId = /* @__PURE__ */ new Map();
13
+ for (const account of allDiscordAccounts) {
14
+ const existing = accountsByMemberId.get(account.memberId) ?? [];
15
+ existing.push(toDiscordAccountDTO(account));
16
+ accountsByMemberId.set(account.memberId, existing);
17
+ }
18
+ return { entries: members.map((member) => ({
19
+ ...toMemberDTO(member),
20
+ discordAccounts: accountsByMemberId.get(member.id) ?? []
21
+ })) };
22
+ }
23
+ };
24
+ //#endregion
25
+ export { ListMembersWithDiscordAccountsUseCase };
26
+
27
+ //# sourceMappingURL=ListMembersWithDiscordAccounts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListMembersWithDiscordAccounts.mjs","names":[],"sources":["../../../../src/application/usecase/member/ListMembersWithDiscordAccounts.ts"],"sourcesContent":["import type { DiscordAccountRepository, MemberId, MemberRepository } from \"#domain\";\nimport type { DiscordAccountDTO, MemberWithDiscordAccounts } from \"../../dto\";\nimport { toDiscordAccountDTO, toMemberDTO } from \"../../dto\";\nimport { IUseCase } from \"../base\";\n\nexport type ListMembersWithDiscordAccountsInput = Record<string, never>;\n\nexport interface ListMembersWithDiscordAccountsOutput {\n\tentries: MemberWithDiscordAccounts[];\n}\n\nexport class ListMembersWithDiscordAccountsUseCase extends IUseCase<\n\tListMembersWithDiscordAccountsInput,\n\tListMembersWithDiscordAccountsOutput\n> {\n\tconstructor(\n\t\tprivate readonly memberRepo: MemberRepository,\n\t\tprivate readonly discordRepo: DiscordAccountRepository,\n\t) {\n\t\tsuper();\n\t}\n\n\tasync execute(\n\t\t_input: ListMembersWithDiscordAccountsInput,\n\t): Promise<ListMembersWithDiscordAccountsOutput> {\n\t\tconst [members, allDiscordAccounts] = await Promise.all([\n\t\t\tthis.memberRepo.findAll(),\n\t\t\tthis.discordRepo.findAll(),\n\t\t]);\n\n\t\tconst accountsByMemberId = new Map<MemberId, DiscordAccountDTO[]>();\n\t\tfor (const account of allDiscordAccounts) {\n\t\t\tconst existing = accountsByMemberId.get(account.memberId) ?? [];\n\t\t\texisting.push(toDiscordAccountDTO(account));\n\t\t\taccountsByMemberId.set(account.memberId, existing);\n\t\t}\n\n\t\treturn {\n\t\t\tentries: members.map((member) => ({\n\t\t\t\t...toMemberDTO(member),\n\t\t\t\tdiscordAccounts: accountsByMemberId.get(member.id) ?? [],\n\t\t\t})),\n\t\t};\n\t}\n}\n"],"mappings":";;;AAWA,IAAa,wCAAb,cAA2D,SAGzD;CACD,YACC,YACA,aACC;AACD,SAAO;AAHU,OAAA,aAAA;AACA,OAAA,cAAA;;CAKlB,MAAM,QACL,QACgD;EAChD,MAAM,CAAC,SAAS,sBAAsB,MAAM,QAAQ,IAAI,CACvD,KAAK,WAAW,SAAS,EACzB,KAAK,YAAY,SAAS,CAC1B,CAAC;EAEF,MAAM,qCAAqB,IAAI,KAAoC;AACnE,OAAK,MAAM,WAAW,oBAAoB;GACzC,MAAM,WAAW,mBAAmB,IAAI,QAAQ,SAAS,IAAI,EAAE;AAC/D,YAAS,KAAK,oBAAoB,QAAQ,CAAC;AAC3C,sBAAmB,IAAI,QAAQ,UAAU,SAAS;;AAGnD,SAAO,EACN,SAAS,QAAQ,KAAK,YAAY;GACjC,GAAG,YAAY,OAAO;GACtB,iBAAiB,mBAAmB,IAAI,OAAO,GAAG,IAAI,EAAE;GACxD,EAAE,EACH"}
@@ -2,7 +2,6 @@ const require_ApplicationExceptions = require("../../exceptions/ApplicationExcep
2
2
  const require_base = require("../base.cjs");
3
3
  const require_Member = require("../../../domain/aggregates/member/Member.cjs");
4
4
  const require_MemberId = require("../../../domain/aggregates/member/MemberId.cjs");
5
- require("../../../domain/index.cjs");
6
5
  let uuid = require("uuid");
7
6
  //#region src/application/usecase/member/RegisterMember.ts
8
7
  var RegisterMemberUseCase = class extends require_base.IUseCase {
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterMember.cjs","names":["IUseCase","MemberEmailAlreadyExistsException","ActiveMember","memberId"],"sources":["../../../../src/application/usecase/member/RegisterMember.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\nimport {\n\tActiveMember,\n\ttype CompleteAffiliation,\n\ttype Email,\n\ttype Member,\n\ttype MemberRepository,\n\ttype Recorded,\n\ttype StudentId,\n\ttype UniversityEmail,\n\tmemberId,\n} from \"#domain\";\nimport { MemberEmailAlreadyExistsException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface RegisterMemberInput {\n\tname: string;\n\tstudentId: StudentId;\n\temail: UniversityEmail;\n\tpersonalEmail: Recorded<Email>;\n\taffiliation: CompleteAffiliation;\n}\n\nexport interface RegisterMemberOutput {\n\tmember: Member;\n}\n\nexport class RegisterMemberUseCase extends IUseCase<RegisterMemberInput, RegisterMemberOutput> {\n\tconstructor(private readonly memberRepo: MemberRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: RegisterMemberInput): Promise<RegisterMemberOutput> {\n\t\tconst existingMember = await this.memberRepo.findByEmail(input.email);\n\t\tif (existingMember) {\n\t\t\tthrow new MemberEmailAlreadyExistsException(input.email.getValue());\n\t\t}\n\n\t\tconst member = ActiveMember.register({\n\t\t\tid: memberId(uuid()),\n\t\t\temail: input.email,\n\t\t\tname: input.name,\n\t\t\tpersonalEmail: input.personalEmail,\n\t\t\tstudentId: input.studentId,\n\t\t\taffiliation: input.affiliation,\n\t\t});\n\n\t\tawait this.memberRepo.save(member);\n\n\t\treturn { member };\n\t}\n}\n"],"mappings":";;;;;;;AA2BA,IAAa,wBAAb,cAA2CA,aAAAA,SAAoD;CAC9F,YAAY,YAA+C;AAC1D,SAAO;AADqB,OAAA,aAAA;;CAI7B,MAAM,QAAQ,OAA2D;AAExE,MADuB,MAAM,KAAK,WAAW,YAAY,MAAM,MAAM,CAEpE,OAAM,IAAIC,8BAAAA,kCAAkC,MAAM,MAAM,UAAU,CAAC;EAGpE,MAAM,SAASC,eAAAA,aAAa,SAAS;GACpC,IAAIC,iBAAAA,UAAAA,GAAAA,KAAAA,KAAe,CAAC;GACpB,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,eAAe,MAAM;GACrB,WAAW,MAAM;GACjB,aAAa,MAAM;GACnB,CAAC;AAEF,QAAM,KAAK,WAAW,KAAK,OAAO;AAElC,SAAO,EAAE,QAAQ"}
1
+ {"version":3,"file":"RegisterMember.cjs","names":["IUseCase","MemberEmailAlreadyExistsException","ActiveMember","memberId"],"sources":["../../../../src/application/usecase/member/RegisterMember.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\nimport {\n\tActiveMember,\n\ttype CompleteAffiliation,\n\ttype Email,\n\ttype Member,\n\ttype MemberRepository,\n\ttype Recorded,\n\ttype StudentId,\n\ttype UniversityEmail,\n\tmemberId,\n} from \"#domain\";\nimport { MemberEmailAlreadyExistsException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface RegisterMemberInput {\n\tname: string;\n\tstudentId: StudentId;\n\temail: UniversityEmail;\n\tpersonalEmail: Recorded<Email>;\n\taffiliation: CompleteAffiliation;\n}\n\nexport interface RegisterMemberOutput {\n\tmember: Member;\n}\n\nexport class RegisterMemberUseCase extends IUseCase<RegisterMemberInput, RegisterMemberOutput> {\n\tconstructor(private readonly memberRepo: MemberRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: RegisterMemberInput): Promise<RegisterMemberOutput> {\n\t\tconst existingMember = await this.memberRepo.findByEmail(input.email);\n\t\tif (existingMember) {\n\t\t\tthrow new MemberEmailAlreadyExistsException(input.email.getValue());\n\t\t}\n\n\t\tconst member = ActiveMember.register({\n\t\t\tid: memberId(uuid()),\n\t\t\temail: input.email,\n\t\t\tname: input.name,\n\t\t\tpersonalEmail: input.personalEmail,\n\t\t\tstudentId: input.studentId,\n\t\t\taffiliation: input.affiliation,\n\t\t});\n\n\t\tawait this.memberRepo.save(member);\n\n\t\treturn { member };\n\t}\n}\n"],"mappings":";;;;;;AA2BA,IAAa,wBAAb,cAA2CA,aAAAA,SAAoD;CAC9F,YAAY,YAA+C;AAC1D,SAAO;AADqB,OAAA,aAAA;;CAI7B,MAAM,QAAQ,OAA2D;AAExE,MADuB,MAAM,KAAK,WAAW,YAAY,MAAM,MAAM,CAEpE,OAAM,IAAIC,8BAAAA,kCAAkC,MAAM,MAAM,UAAU,CAAC;EAGpE,MAAM,SAASC,eAAAA,aAAa,SAAS;GACpC,IAAIC,iBAAAA,UAAAA,GAAAA,KAAAA,KAAe,CAAC;GACpB,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,eAAe,MAAM;GACrB,WAAW,MAAM;GACjB,aAAa,MAAM;GACnB,CAAC;AAEF,QAAM,KAAK,WAAW,KAAK,OAAO;AAElC,SAAO,EAAE,QAAQ"}
@@ -2,7 +2,6 @@ import { MemberEmailAlreadyExistsException } from "../../exceptions/ApplicationE
2
2
  import { IUseCase } from "../base.mjs";
3
3
  import { ActiveMember } from "../../../domain/aggregates/member/Member.mjs";
4
4
  import { memberId } from "../../../domain/aggregates/member/MemberId.mjs";
5
- import "../../../domain/index.mjs";
6
5
  import { v4 } from "uuid";
7
6
  //#region src/application/usecase/member/RegisterMember.ts
8
7
  var RegisterMemberUseCase = class extends IUseCase {
@@ -1 +1 @@
1
- {"version":3,"file":"RegisterMember.mjs","names":["uuid"],"sources":["../../../../src/application/usecase/member/RegisterMember.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\nimport {\n\tActiveMember,\n\ttype CompleteAffiliation,\n\ttype Email,\n\ttype Member,\n\ttype MemberRepository,\n\ttype Recorded,\n\ttype StudentId,\n\ttype UniversityEmail,\n\tmemberId,\n} from \"#domain\";\nimport { MemberEmailAlreadyExistsException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface RegisterMemberInput {\n\tname: string;\n\tstudentId: StudentId;\n\temail: UniversityEmail;\n\tpersonalEmail: Recorded<Email>;\n\taffiliation: CompleteAffiliation;\n}\n\nexport interface RegisterMemberOutput {\n\tmember: Member;\n}\n\nexport class RegisterMemberUseCase extends IUseCase<RegisterMemberInput, RegisterMemberOutput> {\n\tconstructor(private readonly memberRepo: MemberRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: RegisterMemberInput): Promise<RegisterMemberOutput> {\n\t\tconst existingMember = await this.memberRepo.findByEmail(input.email);\n\t\tif (existingMember) {\n\t\t\tthrow new MemberEmailAlreadyExistsException(input.email.getValue());\n\t\t}\n\n\t\tconst member = ActiveMember.register({\n\t\t\tid: memberId(uuid()),\n\t\t\temail: input.email,\n\t\t\tname: input.name,\n\t\t\tpersonalEmail: input.personalEmail,\n\t\t\tstudentId: input.studentId,\n\t\t\taffiliation: input.affiliation,\n\t\t});\n\n\t\tawait this.memberRepo.save(member);\n\n\t\treturn { member };\n\t}\n}\n"],"mappings":";;;;;;;AA2BA,IAAa,wBAAb,cAA2C,SAAoD;CAC9F,YAAY,YAA+C;AAC1D,SAAO;AADqB,OAAA,aAAA;;CAI7B,MAAM,QAAQ,OAA2D;AAExE,MADuB,MAAM,KAAK,WAAW,YAAY,MAAM,MAAM,CAEpE,OAAM,IAAI,kCAAkC,MAAM,MAAM,UAAU,CAAC;EAGpE,MAAM,SAAS,aAAa,SAAS;GACpC,IAAI,SAASA,IAAM,CAAC;GACpB,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,eAAe,MAAM;GACrB,WAAW,MAAM;GACjB,aAAa,MAAM;GACnB,CAAC;AAEF,QAAM,KAAK,WAAW,KAAK,OAAO;AAElC,SAAO,EAAE,QAAQ"}
1
+ {"version":3,"file":"RegisterMember.mjs","names":["uuid"],"sources":["../../../../src/application/usecase/member/RegisterMember.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\nimport {\n\tActiveMember,\n\ttype CompleteAffiliation,\n\ttype Email,\n\ttype Member,\n\ttype MemberRepository,\n\ttype Recorded,\n\ttype StudentId,\n\ttype UniversityEmail,\n\tmemberId,\n} from \"#domain\";\nimport { MemberEmailAlreadyExistsException } from \"../../exceptions\";\nimport { IUseCase } from \"../base\";\n\nexport interface RegisterMemberInput {\n\tname: string;\n\tstudentId: StudentId;\n\temail: UniversityEmail;\n\tpersonalEmail: Recorded<Email>;\n\taffiliation: CompleteAffiliation;\n}\n\nexport interface RegisterMemberOutput {\n\tmember: Member;\n}\n\nexport class RegisterMemberUseCase extends IUseCase<RegisterMemberInput, RegisterMemberOutput> {\n\tconstructor(private readonly memberRepo: MemberRepository) {\n\t\tsuper();\n\t}\n\n\tasync execute(input: RegisterMemberInput): Promise<RegisterMemberOutput> {\n\t\tconst existingMember = await this.memberRepo.findByEmail(input.email);\n\t\tif (existingMember) {\n\t\t\tthrow new MemberEmailAlreadyExistsException(input.email.getValue());\n\t\t}\n\n\t\tconst member = ActiveMember.register({\n\t\t\tid: memberId(uuid()),\n\t\t\temail: input.email,\n\t\t\tname: input.name,\n\t\t\tpersonalEmail: input.personalEmail,\n\t\t\tstudentId: input.studentId,\n\t\t\taffiliation: input.affiliation,\n\t\t});\n\n\t\tawait this.memberRepo.save(member);\n\n\t\treturn { member };\n\t}\n}\n"],"mappings":";;;;;;AA2BA,IAAa,wBAAb,cAA2C,SAAoD;CAC9F,YAAY,YAA+C;AAC1D,SAAO;AADqB,OAAA,aAAA;;CAI7B,MAAM,QAAQ,OAA2D;AAExE,MADuB,MAAM,KAAK,WAAW,YAAY,MAAM,MAAM,CAEpE,OAAM,IAAI,kCAAkC,MAAM,MAAM,UAAU,CAAC;EAGpE,MAAM,SAAS,aAAa,SAAS;GACpC,IAAI,SAASA,IAAM,CAAC;GACpB,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,eAAe,MAAM;GACrB,WAAW,MAAM;GACjB,aAAa,MAAM;GACnB,CAAC;AAEF,QAAM,KAAK,WAAW,KAAK,OAAO;AAElC,SAAO,EAAE,QAAQ"}
@@ -6,6 +6,7 @@ import { MemberId } from "../member/MemberId.cjs";
6
6
  interface DiscordAccountRepository {
7
7
  findByDiscordId(discordId: DiscordId): Promise<DiscordAccount | null>;
8
8
  findByMemberId(memberId: MemberId): Promise<DiscordAccount[]>;
9
+ findAll(): Promise<DiscordAccount[]>;
9
10
  save(account: DiscordAccount): Promise<void>;
10
11
  delete(discordId: DiscordId): Promise<void>;
11
12
  }
@@ -6,6 +6,7 @@ import { MemberId } from "../member/MemberId.mjs";
6
6
  interface DiscordAccountRepository {
7
7
  findByDiscordId(discordId: DiscordId): Promise<DiscordAccount | null>;
8
8
  findByMemberId(memberId: MemberId): Promise<DiscordAccount[]>;
9
+ findAll(): Promise<DiscordAccount[]>;
9
10
  save(account: DiscordAccount): Promise<void>;
10
11
  delete(discordId: DiscordId): Promise<void>;
11
12
  }
@@ -1,5 +1,4 @@
1
1
  const require_Recorded = require("../../shared/Recorded.cjs");
2
- require("../../shared/index.cjs");
3
2
  //#region src/domain/aggregates/karte/Karte.ts
4
3
  /**
5
4
  * カルテ集約ルート