概要
ユースケースのInput interfaceで、IDやメールアドレスをplain stringで受け取っている箇所がある。
アダプター層でドメイン型に変換し、ユースケースにはドメイン型で渡すべき。
対象
GetMemberByEmail.ts
| フィールド |
現状 |
あるべき型 |
email |
string |
UniversityEmail |
RegisterMember.ts
| フィールド |
現状 |
あるべき型 |
email |
string |
UniversityEmail |
personalEmail |
string | undefined |
Recorded<Email> |
studentId |
string |
StudentId |
UpdateMember.ts
| フィールド |
現状 |
あるべき型 |
studentId |
string | undefined |
StudentId | undefined |
personalEmail |
string | null | undefined |
Recorded<Email> | undefined |
背景
Discord系ユースケース(ConnectDiscordAccount, ChangeDiscordNickName, GetMemberByDiscordId)およびEvent系ユースケースはBranded Type/ドメイン型で統一済み。
Member系の残りも同様に統一すべき。
参考
概要
ユースケースのInput interfaceで、IDやメールアドレスをplain
stringで受け取っている箇所がある。アダプター層でドメイン型に変換し、ユースケースにはドメイン型で渡すべき。
対象
GetMemberByEmail.ts
emailstringUniversityEmailRegisterMember.ts
emailstringUniversityEmailpersonalEmailstring | undefinedRecorded<Email>studentIdstringStudentIdUpdateMember.ts
studentIdstring | undefinedStudentId | undefinedpersonalEmailstring | null | undefinedRecorded<Email> | undefined背景
Discord系ユースケース(ConnectDiscordAccount, ChangeDiscordNickName, GetMemberByDiscordId)およびEvent系ユースケースはBranded Type/ドメイン型で統一済み。
Member系の残りも同様に統一すべき。
参考