diff --git a/app/Jobs/CafelEggBreederJob.php b/app/Jobs/CafelEggBreederJob.php index d37318f..23812dd 100644 --- a/app/Jobs/CafelEggBreederJob.php +++ b/app/Jobs/CafelEggBreederJob.php @@ -16,6 +16,17 @@ class CafelEggBreederJob extends CafelJobs */ public function handle() { + // ! We have to remove all breeders to reimport them all in order to make sure + // ! to delete breeders that dont exists anymore (Api fetch constrain) + // ! vu avec Sylvain 27/10/2022 + + // * Destroy breeder one by one to trigger destroy event + /** @var \Illuminate\Database\Eloquent\Collection<\App\Models\CafelEggBreeder> */ + $eggBreeders = CafelEggBreeder::all(); + $eggBreeders->each(function (CafelEggBreeder $breeder) { + $breeder->deleteOrFail(); + }); + $this->syncWithCafelApi( ApiCafelEggBreeder::class, 'cafel.ldc.eleveursoeufs', diff --git a/app/Jobs/CafelMepPoultryJob.php b/app/Jobs/CafelMepPoultryJob.php index c570fa5..f32b1bb 100644 --- a/app/Jobs/CafelMepPoultryJob.php +++ b/app/Jobs/CafelMepPoultryJob.php @@ -3,6 +3,7 @@ namespace App\Jobs; use App\Lib\CafelApi\Models\CafelMepPoultry; +use App\Models\CafelPoultryBreeder; use App\Models\CafelPoultryMiseEnPlace; class CafelMepPoultryJob extends CafelJobs diff --git a/app/Jobs/CafelPoultryBreederJob.php b/app/Jobs/CafelPoultryBreederJob.php index 5950f1e..dd256c1 100644 --- a/app/Jobs/CafelPoultryBreederJob.php +++ b/app/Jobs/CafelPoultryBreederJob.php @@ -16,6 +16,17 @@ class CafelPoultryBreederJob extends CafelJobs */ public function handle() { + // ! We have to remove all breeders to reimport them all in order to make sure + // ! to delete breeders that dont exists anymore (Api fetch constrain) + // ! vu avec Sylvain 27/10/2022 + + // * Destroy breeder one by one to trigger destroy event + /** @var \Illuminate\Database\Eloquent\Collection<\App\Models\CafelEggBreeder> */ + $poultryBreeders = CafelPoultryBreeder::all(); + $poultryBreeders->each(function (CafelPoultryBreeder $breeder) { + $breeder->deleteOrFail(); + }); + $this->syncWithCafelApi( ApiCafelPoultryBreeder::class, 'cafel.ldc.eleveursvolailles', diff --git a/app/Models/CafelEggBreeder.php b/app/Models/CafelEggBreeder.php index d7ee50f..18079d8 100644 --- a/app/Models/CafelEggBreeder.php +++ b/app/Models/CafelEggBreeder.php @@ -112,6 +112,14 @@ class CafelEggBreeder extends Model return self::areInuavCodesUniques($model); return self::isEdeCodeUnique($model); }); + static::deleting(function (self $model) { + if ($model->getRawOriginal('path_picture_1')) { + Storage::delete(\public_path($model->getRawOriginal('path_picture_1'))); + } + if ($model->getRawOriginal('path_picture_2')) { + Storage::delete(\public_path($model->getRawOriginal('path_picture_2'))); + } + }); } // * METHODS diff --git a/app/Models/CafelPoultryBreeder.php b/app/Models/CafelPoultryBreeder.php index bf6ec62..6c217ac 100644 --- a/app/Models/CafelPoultryBreeder.php +++ b/app/Models/CafelPoultryBreeder.php @@ -94,6 +94,14 @@ class CafelPoultryBreeder extends Model } return self::areInuavCodesUniques($model); }); + static::deleting(function (self $model) { + if ($model->getRawOriginal('path_picture_1')) { + Storage::delete(\public_path($model->getRawOriginal('path_picture_1'))); + } + if ($model->getRawOriginal('path_picture_2')) { + Storage::delete(\public_path($model->getRawOriginal('path_picture_2'))); + } + }); } // * METHODS