77use Abrouter \Client \Contracts \TaskContract ;
88use Abrouter \Client \DB \Managers \RelatedUsersCacheManager ;
99use Abrouter \Client \DB \RelatedUsersStore ;
10+ use Abrouter \Client \DB \Repositories \RelatedUsersCacheRepository ;
1011use Abrouter \Client \Events \HandlerInterface ;
1112use Abrouter \Client \Services \ExperimentsParallelRun \ParallelRunSwitch ;
1213use Abrouter \Client \Services \Statistics \SendEventTask ;
@@ -19,14 +20,18 @@ class RelatedUsersStatisticsInterceptor implements HandlerInterface
1920
2021 private RelatedUsersCacheManager $ relatedUsersCacheManager ;
2122
23+ private RelatedUsersCacheRepository $ relatedUsersCacheRepository ;
24+
2225 public function __construct (
2326 ParallelRunSwitch $ parallelRunSwitch ,
2427 RelatedUsersStore $ relatedUsersStore ,
25- RelatedUsersCacheManager $ relatedUsersCacheManager
28+ RelatedUsersCacheManager $ relatedUsersCacheManager ,
29+ RelatedUsersCacheRepository $ relatedUsersCacheRepository
2630 ) {
2731 $ this ->parallelRunSwitch = $ parallelRunSwitch ;
2832 $ this ->relatedUsersStore = $ relatedUsersStore ;
2933 $ this ->relatedUsersCacheManager = $ relatedUsersCacheManager ;
34+ $ this ->relatedUsersCacheRepository = $ relatedUsersCacheRepository ;
3035 }
3136
3237 public function handle (TaskContract $ taskContract ): bool
@@ -42,12 +47,14 @@ public function handle(TaskContract $taskContract): bool
4247 $ userId = $ taskContract ->getEventDTO ()->getBaseEventDTO ()->getUserId ();
4348 $ temporaryUserId = $ taskContract ->getEventDTO ()->getBaseEventDTO ()->getTemporaryUserId ();
4449
50+ $ this ->relatedUsersStore ::load ($ this ->relatedUsersCacheRepository ->getAll ());
51+
4552 $ this ->relatedUsersStore ->get ()->append ($ userId , $ temporaryUserId );
53+
4654 $ this ->relatedUsersCacheManager ->store (
4755 $ this ->relatedUsersStore ->get ()->getAll ()
4856 );
4957
50-
5158 return true ;
5259 }
5360}
0 commit comments