From c78fb4ce34d9fe87ec185ca4def13e4da0069de4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihan=20=C5=9Eent=C3=BCrk?= <53110792+CihanSenturk@users.noreply.github.com> Date: Sun, 7 Dec 2025 18:31:41 +0300 Subject: [PATCH] fixed api update attachment issue --- app/Jobs/Auth/UpdateUser.php | 4 +++- app/Jobs/Banking/UpdateBankingDocumentTransaction.php | 8 ++++++++ app/Jobs/Banking/UpdateTransaction.php | 4 +++- app/Jobs/Banking/UpdateTransfer.php | 4 +++- app/Jobs/Common/UpdateContact.php | 6 +++++- app/Jobs/Common/UpdateItem.php | 6 ++++++ app/Jobs/Document/UpdateDocument.php | 4 +++- 7 files changed, 31 insertions(+), 5 deletions(-) diff --git a/app/Jobs/Auth/UpdateUser.php b/app/Jobs/Auth/UpdateUser.php index 84af5a2b3..36b8102fb 100644 --- a/app/Jobs/Auth/UpdateUser.php +++ b/app/Jobs/Auth/UpdateUser.php @@ -34,7 +34,9 @@ class UpdateUser extends Job implements ShouldUpdate $media = $this->getMedia($this->request->file('picture'), 'users'); $this->model->attachMedia($media, 'picture'); - } elseif (! $this->request->file('picture') && $this->model->picture) { + } elseif ($this->request->isNotApi() && ! $this->request->file('picture') && $this->model->picture) { + $this->deleteMediaModel($this->model, 'picture', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_picture') && $this->model->picture) { $this->deleteMediaModel($this->model, 'picture', $this->request); } diff --git a/app/Jobs/Banking/UpdateBankingDocumentTransaction.php b/app/Jobs/Banking/UpdateBankingDocumentTransaction.php index 7c0f1c66f..e1dd27984 100644 --- a/app/Jobs/Banking/UpdateBankingDocumentTransaction.php +++ b/app/Jobs/Banking/UpdateBankingDocumentTransaction.php @@ -18,6 +18,8 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate { use Currencies; + protected Transaction $transaction; + public function __construct(Document $model, Transaction $transaction, $request) { $this->model = $model; @@ -39,9 +41,15 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate // Upload attachment if ($this->request->file('attachment')) { + $this->deleteMediaModel($this->transaction, 'attachment', $this->request); + $media = $this->getMedia($this->request->file('attachment'), 'transactions'); $this->transaction->attachMedia($media, 'attachment'); + } elseif ($this->request->isNotApi() && ! $this->request->file('attachment') && $this->transaction->attachment) { + $this->deleteMediaModel($this->transaction, 'attachment', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_attachment') && $this->transaction->attachment) { + $this->deleteMediaModel($this->transaction, 'attachment', $this->request); } $this->model->save(); diff --git a/app/Jobs/Banking/UpdateTransaction.php b/app/Jobs/Banking/UpdateTransaction.php index 415b651b3..d248b3b46 100644 --- a/app/Jobs/Banking/UpdateTransaction.php +++ b/app/Jobs/Banking/UpdateTransaction.php @@ -35,7 +35,9 @@ class UpdateTransaction extends Job implements ShouldUpdate $this->model->attachMedia($media, 'attachment'); } - } elseif (! $this->request->file('attachment') && $this->model->attachment) { + } elseif ($this->request->isNotApi() && ! $this->request->file('attachment') && $this->model->attachment) { + $this->deleteMediaModel($this->model, 'attachment', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_attachment') && $this->model->attachment) { $this->deleteMediaModel($this->model, 'attachment', $this->request); } diff --git a/app/Jobs/Banking/UpdateTransfer.php b/app/Jobs/Banking/UpdateTransfer.php index 28d3e7ce2..8a792ac6d 100644 --- a/app/Jobs/Banking/UpdateTransfer.php +++ b/app/Jobs/Banking/UpdateTransfer.php @@ -26,7 +26,9 @@ class UpdateTransfer extends Job implements ShouldUpdate $this->model->attachMedia($media, 'attachment'); } - } elseif (! $this->request->file('attachment') && $this->model->attachment) { + } elseif ($this->request->isNotApi() && ! $this->request->file('attachment') && $this->model->attachment) { + $this->deleteMediaModel($this->model, 'attachment', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_attachment') && $this->model->attachment) { $this->deleteMediaModel($this->model, 'attachment', $this->request); } diff --git a/app/Jobs/Common/UpdateContact.php b/app/Jobs/Common/UpdateContact.php index c4775507e..da6ae2d2d 100644 --- a/app/Jobs/Common/UpdateContact.php +++ b/app/Jobs/Common/UpdateContact.php @@ -28,10 +28,14 @@ class UpdateContact extends Job implements ShouldUpdate // Upload logo if ($this->request->file('logo')) { + $this->deleteMediaModel($this->model, 'logo', $this->request); + $media = $this->getMedia($this->request->file('logo'), Str::plural($this->model->type)); $this->model->attachMedia($media, 'logo'); - } elseif (! $this->request->file('logo') && $this->model->logo) { + } elseif ($this->request->isNotApi() && ! $this->request->file('logo') && $this->model->logo) { + $this->deleteMediaModel($this->model, 'logo', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_logo') && $this->model->logo) { $this->deleteMediaModel($this->model, 'logo', $this->request); } diff --git a/app/Jobs/Common/UpdateItem.php b/app/Jobs/Common/UpdateItem.php index 761dd04a0..c2a719d0b 100644 --- a/app/Jobs/Common/UpdateItem.php +++ b/app/Jobs/Common/UpdateItem.php @@ -20,9 +20,15 @@ class UpdateItem extends Job implements ShouldUpdate // Upload picture if ($this->request->file('picture')) { + $this->deleteMediaModel($this->model, 'picture', $this->request); + $media = $this->getMedia($this->request->file('picture'), 'items'); $this->model->attachMedia($media, 'picture'); + } elseif ($this->request->isNotApi() && ! $this->request->file('picture') && $this->model->picture) { + $this->deleteMediaModel($this->model, 'picture', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_picture') && $this->model->picture) { + $this->deleteMediaModel($this->model, 'picture', $this->request); } $this->deleteRelationships($this->model, ['taxes']); diff --git a/app/Jobs/Document/UpdateDocument.php b/app/Jobs/Document/UpdateDocument.php index efdc27385..49f8bebc7 100644 --- a/app/Jobs/Document/UpdateDocument.php +++ b/app/Jobs/Document/UpdateDocument.php @@ -37,7 +37,9 @@ class UpdateDocument extends Job implements ShouldUpdate $this->model->attachMedia($media, 'attachment'); } - } elseif (! $this->request->file('attachment') && $this->model->attachment) { + } elseif ($this->request->isNotApi() && ! $this->request->file('attachment') && $this->model->attachment) { + $this->deleteMediaModel($this->model, 'attachment', $this->request); + } elseif ($this->request->isApi() && $this->request->has('remove_attachment') && $this->model->attachment) { $this->deleteMediaModel($this->model, 'attachment', $this->request); }