diff --git a/app/Jobs/CommentPipeline/CommentPipeline.php b/app/Jobs/CommentPipeline/CommentPipeline.php new file mode 100644 index 00000000..fb0de7eb --- /dev/null +++ b/app/Jobs/CommentPipeline/CommentPipeline.php @@ -0,0 +1,69 @@ +status = $status; + $this->comment = $comment; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $status = $this->status; + $comment = $this->comment; + + $target = $status->profile; + $actor = $comment->profile; + + try { + + $notification = new Notification; + $notification->profile_id = $target->id; + $notification->actor_id = $actor->id; + $notification->action = 'comment'; + $notification->message = $comment->replyToText(); + $notification->rendered = $comment->replyToHtml(); + $notification->item_id = $comment->id; + $notification->item_type = "App\Status"; + $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); + } + + } +}