diff --git a/app/Jobs/FollowPipeline/FollowPipeline.php b/app/Jobs/FollowPipeline/FollowPipeline.php new file mode 100644 index 00000000..6688575f --- /dev/null +++ b/app/Jobs/FollowPipeline/FollowPipeline.php @@ -0,0 +1,62 @@ +follower = $follower; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $follower = $this->follower; + $actor = $follower->actor; + $target = $follower->target; + + try { + + $notification = new Notification; + $notification->profile_id = $target->id; + $notification->actor_id = $actor->id; + $notification->action = 'follow'; + $notification->message = $follower->toText(); + $notification->rendered = $follower->toHtml(); + $notification->save(); + + Cache::forever('notification.' . $notification->id, $notification); + + $redis = Redis::connection(); + + $nkey = config('cache.prefix').':user.' . $target->id . '.notifications'; + $redis->lpush($nkey, $notification->id); + + } catch (Exception $e) { + Log::error($e); + } + } +}