diff --git a/app/Models/AutomationNodeRun.php b/app/Models/AutomationNodeRun.php index 2059b38a..83fd0b2a 100644 --- a/app/Models/AutomationNodeRun.php +++ b/app/Models/AutomationNodeRun.php @@ -4,11 +4,14 @@ use App\Enums\Automation\Node\Type as NodeType; use App\Enums\Automation\NodeRun\Status; +use App\Observers\AutomationNodeRunObserver; +use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +#[ObservedBy([AutomationNodeRunObserver::class])] class AutomationNodeRun extends Model { use HasFactory; diff --git a/app/Models/AutomationRun.php b/app/Models/AutomationRun.php index bf7c8007..0fe66800 100644 --- a/app/Models/AutomationRun.php +++ b/app/Models/AutomationRun.php @@ -3,6 +3,8 @@ namespace App\Models; use App\Enums\Automation\Run\Status; +use App\Observers\AutomationRunObserver; +use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -10,6 +12,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; +#[ObservedBy([AutomationRunObserver::class])] class AutomationRun extends Model { use HasFactory; diff --git a/app/Models/Post.php b/app/Models/Post.php index 04f0c9fe..eb7cffa6 100644 --- a/app/Models/Post.php +++ b/app/Models/Post.php @@ -7,7 +7,9 @@ use App\DataTransferObjects\MediaItem; use App\Enums\Media\Type; use App\Enums\Post\Status as PostStatus; +use App\Observers\PostObserver; use Database\Factories\PostFactory; +use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Concerns\HasUuids; @@ -19,6 +21,7 @@ use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; +#[ObservedBy([PostObserver::class])] class Post extends Model { /** @use HasFactory */ diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index b902fbf2..3888f6ee 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -8,8 +8,6 @@ use App\Models\AccessToken; use App\Models\Account; use App\Models\AiUsageLog; -use App\Models\AutomationNodeRun; -use App\Models\AutomationRun; use App\Models\Invite; use App\Models\Media; use App\Models\Notification; @@ -26,9 +24,6 @@ use App\Models\WorkspaceInvite; use App\Models\WorkspaceLabel; use App\Models\WorkspaceSignature; -use App\Observers\AutomationNodeRunObserver; -use App\Observers\AutomationRunObserver; -use App\Observers\PostObserver; use App\Services\PostHogService; use App\Services\PostTemplate\Registry as PostTemplateRegistry; use App\Socialite\InstagramProvider; @@ -89,7 +84,6 @@ public function boot(): void $this->configureRateLimiting(); $this->configureSocialite(); $this->configureStripeWebhooks(); - $this->configureObservers(); Cashier::useCustomerModel(Account::class); Cashier::useSubscriptionModel(Subscription::class); @@ -102,13 +96,6 @@ public function boot(): void $this->configurePassport(); } - protected function configureObservers(): void - { - Post::observe(PostObserver::class); - AutomationRun::observe(AutomationRunObserver::class); - AutomationNodeRun::observe(AutomationNodeRunObserver::class); - } - protected function configurePassport(): void { Passport::useTokenModel(AccessToken::class);