From: Louis Jeckel Date: Thu, 3 Dec 2020 12:30:00 +0000 (+0100) Subject: job generatelink X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=8b8e3a2a35cdbde059efeb0a07ad814220cc4df9;p=psq.git job generatelink --- diff --git a/app/Jobs/GetTitleForLink.php b/app/Jobs/GetTitleForLink.php new file mode 100644 index 0000000..436925c --- /dev/null +++ b/app/Jobs/GetTitleForLink.php @@ -0,0 +1,44 @@ +link = $link; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + + $title = (new GetPageTitleFromUrl)($this->link->target); + + $this->link->update(['title' => $title]); + } +} diff --git a/app/TrackedLink.php b/app/TrackedLink.php index 5bf7368..2232a9c 100644 --- a/app/TrackedLink.php +++ b/app/TrackedLink.php @@ -2,6 +2,7 @@ namespace App; +use App\Jobs\GetTitleForLink; use Closure; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; @@ -42,15 +43,16 @@ class TrackedLink extends Model */ public static function shorten($url, PdfFile $file): TrackedLink { - /** @var TrackedLink $file */ + /** @var TrackedLink $link */ $link = self::query()->firstOrCreate([ 'target' => $url, 'file_id' => $file->id, ], [ 'slug' => Str::random(8), 'clicks' => 0, - 'title' => (new Invokables\GetPageTitleFromUrl)($url) + 'title' => $url ]); + dispatch(new GetTitleForLink($link)); return $link; }