actorId . ':fid:' . $this->followingId; } /** * Get the middleware the job should pass through. * * @return array */ public function middleware(): array { return [(new WithoutOverlapping("hts:feed:remove:follows:aid:{$this->actorId}:fid:{$this->followingId}"))->shared()->dontRelease()]; } /** * Create a new job instance. */ public function __construct($actorId, $followingId) { $this->actorId = $actorId; $this->followingId = $followingId; } /** * Execute the job. */ public function handle(): void { $actorId = $this->actorId; $followingId = $this->followingId; $ids = HomeTimelineService::get($actorId, 0, -1); foreach($ids as $id) { $status = StatusService::get($id, false); if($status && isset($status['account'], $status['account']['id'])) { if($status['account']['id'] == $followingId) { HomeTimelineService::rem($actorId, $id); } } } } }