-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ ParticipateExecutor を実装 #116
Conversation
Walkthrough変更の概要として、認証関連のコードに新たな機能が追加されました。 Changes
TipsChat with CodeRabbit Bot (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 2
Configuration used: CodeRabbit UI
Files selected for processing (5)
- core/data/src/commonMain/kotlin/club/nito/core/data/AuthRepository.kt (2 hunks)
- core/data/src/commonMain/kotlin/club/nito/core/data/DefaultAuthRepository.kt (2 hunks)
- core/domain/src/commonMain/kotlin/club/nito/core/domain/ParticipateUseCase.kt (2 hunks)
- core/network/src/commonMain/kotlin/club/nito/core/network/auth/AuthRemoteDataSource.kt (1 hunks)
- core/network/src/commonMain/kotlin/club/nito/core/network/auth/SupabaseAuthRemoteDataSource.kt (1 hunks)
Additional comments: 5
core/data/src/commonMain/kotlin/club/nito/core/data/DefaultAuthRepository.kt (2)
3-7: 新しいメソッド
currentUser
でApiException.SessionNotFoundException
を投げるために、ApiException
のインポートが正しく追加されています。36-37:
currentUser
メソッドはremoteDataSource
からcurrentUserOrNull
メソッドを正しく使用し、結果がnullの場合にSessionNotFoundException
を投げます。core/domain/src/commonMain/kotlin/club/nito/core/domain/ParticipateUseCase.kt (1)
- 3-10: 新しい機能に必要なインポートが追加され、
ParticipateUseCase
インターフェースの説明コメントが追加されています。これらの変更は適切に見えます。core/network/src/commonMain/kotlin/club/nito/core/network/auth/AuthRemoteDataSource.kt (1)
- 16-19: 新しいメソッド
currentUserOrNull
がAuthRemoteDataSource
インターフェースに追加されました。このメソッドは、現在ログインしているユーザーの情報を取得するためのものです。この変更は、ユーザー認証とセッション管理に関連する下流の依存関係に影響を与える可能性があります。このインターフェースを実装するクラスは、新しいメソッドを適切に処理する必要があります。core/network/src/commonMain/kotlin/club/nito/core/network/auth/SupabaseAuthRemoteDataSource.kt (1)
- 61-62: 新しいメソッド
currentUserOrNull
は、現在認証されているユーザー情報をnull許容で返すように追加されました。この実装は、ユーザーが認証されていない場合にnullを返すという期待される振る舞いと一致しています。
public class ParticipateExecutor( | ||
private val authRepository: AuthRepository, | ||
private val participantRepository: ParticipantRepository, | ||
) : ParticipateUseCase { | ||
override suspend fun invoke(scheduleId: String, comment: String): ExecuteResult<Unit> { | ||
TODO("Not yet implemented") | ||
override suspend fun invoke(scheduleId: String, comment: String): ExecuteResult<Unit> = runExecuting { | ||
participantRepository.participate( | ||
declaration = ParticipantDeclaration( | ||
scheduleId = scheduleId, | ||
memberId = authRepository.currentUser().id, | ||
comment = comment, | ||
), | ||
) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
authRepository.currentUser().id
の呼び出しは例外を投げる可能性があるため、invoke
メソッド内での例外処理を検討する必要があります。PRの概要によると currentUser()
は例外を投げる可能性があるため、これらの例外を適切に処理することが重要です。
/** | ||
* 現在ログイン中のユーザー情報を取得する | ||
*/ | ||
@Throws(ApiException.SessionNotFoundException::class, CancellationException::class) | ||
public suspend fun currentUser(): UserInfo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
新しい関数currentUser
がAuthRepository
インターフェースに追加されましたが、この関数の動作や使用方法についてのドキュメントコメントがありません。公開関数には特に例外を投げる可能性がある場合、その動作を説明するドキュメントが必要です。ドキュメントコメントの追加を検討してください。
Issue
概要
ParticipateExecutor を実装します。
レビュー観点
特になし
レビューレベル
レビュー優先度
参考リンク
スクリーンショット
Summary by CodeRabbit
新機能
バグ修正
ドキュメント