diff --git a/app/Events/ArticleFetched.php b/app/Events/ArticleFetched.php new file mode 100644 index 0000000..64d2cfd --- /dev/null +++ b/app/Events/ArticleFetched.php @@ -0,0 +1,18 @@ +article->id); + } +} diff --git a/app/Models/Article.php b/app/Models/Article.php index 63d2196..dd4b54e 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Events\ArticleFetched; use Database\Factories\ArticleFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -24,4 +25,11 @@ public function casts(): array 'created_at' => 'datetime', ]; } + + protected static function booted() + { + static::created(function ($article) { + event(new ArticleFetched($article)); + }); + } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b6..a557d0e 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,23 +2,23 @@ namespace App\Providers; +use App\Events\ArticleFetched; +use App\Listeners\CheckArticleKeywords; +use Illuminate\Support\Facades\Event; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { - /** - * Register any application services. - */ public function register(): void { // } - /** - * Bootstrap any application services. - */ public function boot(): void { - // + Event::listen( + ArticleFetched::class, + CheckArticleKeywords::class, + ); } }