Line data Source code
1 : package auth
2 :
3 : type interactor struct {
4 : users UserRepository
5 : idents AuthIdentityRepository
6 : tx TxRunner
7 : clock Clock
8 : }
9 :
10 : // New は認証ユースケースの実装(interactor)を生成して返します。
11 : // tx または clock が nil の場合、内部で noTxRunner / sysClock にフォールバックします
12 0 : func New(users UserRepository, idents AuthIdentityRepository, tx TxRunner, clock Clock) Usecase {
13 0 : if clock == nil {
14 0 : clock = sysClock{}
15 0 : }
16 0 : return &interactor{users: users, idents: idents, tx: tx, clock: clock}
17 : }
|