refactor: Integrate FeedPurchaseObserver for improved stock management and remove redundant boot methods
This commit is contained in:
parent
9b2866ed0e
commit
35d0d967a1
@ -2,11 +2,14 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Observers\FeedPurchaseObserver;
|
||||
use Illuminate\Database\Eloquent\Attributes\ObservedBy;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
#[ObservedBy([FeedPurchaseObserver::class])]
|
||||
class FeedPurchase extends Model
|
||||
{
|
||||
use HasFactory, SoftDeletes;
|
||||
@ -18,23 +21,6 @@ class FeedPurchase extends Model
|
||||
'total_price' => 'integer',
|
||||
];
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::deleted(function ($feedPurchase) {
|
||||
$feedPurchase->revertFeedStock();
|
||||
});
|
||||
|
||||
static::forceDeleted(function ($feedPurchase) {
|
||||
$feedPurchase->revertFeedStock();
|
||||
});
|
||||
|
||||
static::restored(function ($feedPurchase) {
|
||||
$feedPurchase->updateFeedStock();
|
||||
});
|
||||
}
|
||||
|
||||
public function items(): HasMany
|
||||
{
|
||||
return $this->hasMany(FeedPurchaseItem::class);
|
||||
|
||||
32
app/Observers/FeedPurchaseObserver.php
Normal file
32
app/Observers/FeedPurchaseObserver.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\FeedPurchase;
|
||||
|
||||
class FeedPurchaseObserver
|
||||
{
|
||||
/**
|
||||
* Handle the FeedPurchase "deleted" event.
|
||||
*/
|
||||
public function deleted(FeedPurchase $feedPurchase): void
|
||||
{
|
||||
$feedPurchase->revertFeedStock();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the FeedPurchase "force deleted" event.
|
||||
*/
|
||||
public function forceDeleted(FeedPurchase $feedPurchase): void
|
||||
{
|
||||
$feedPurchase->revertFeedStock();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the FeedPurchase "restored" event.
|
||||
*/
|
||||
public function restored(FeedPurchase $feedPurchase): void
|
||||
{
|
||||
$feedPurchase->updateFeedStock();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user