Register observers via #[ObservedBy] attribute instead of the service provider
Move PostObserver, AutomationRunObserver, and AutomationNodeRunObserver onto their models with the #[ObservedBy] attribute (the Laravel-preferred way) and drop AppServiceProvider::configureObservers() plus its now-unused imports.
This commit is contained in:
parent
21b14f7893
commit
41edf3123d
4 changed files with 9 additions and 13 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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<PostFactory> */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue