From 3aebc90c279aa04875b55d06e4b2111d00976846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=86=E3=82=AF=E3=83=8B=E3=82=AB=E3=83=AB=E8=AB=8F?= =?UTF-8?q?=E8=A8=AA=E5=AD=90?= Date: Tue, 30 Nov 2021 17:05:54 +0900 Subject: [PATCH] =?UTF-8?q?fa/chi/me=E7=AD=89=E3=82=92=E5=89=8A=E9=99=A4?= =?UTF-8?q?=E3=81=97=E3=81=9F=E9=9A=9B=E3=80=81=E3=83=AA=E3=83=AC=E3=83=BC?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=99=E3=82=8B=E7=94=BB=E5=83=8F?= =?UTF-8?q?=E5=8F=8A=E3=81=B3pdf=E3=81=AF=E5=89=8A=E9=99=A4=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/ChildrenController.php | 20 +++++++++- .../Controllers/Api/FathersController.php | 35 +++++++++++++++- .../Controllers/Api/MeetingsController.php | 40 +++++++++++++++---- 3 files changed, 85 insertions(+), 10 deletions(-) diff --git a/backend/app/Http/Controllers/Api/ChildrenController.php b/backend/app/Http/Controllers/Api/ChildrenController.php index 0c9a6730..5b19a259 100644 --- a/backend/app/Http/Controllers/Api/ChildrenController.php +++ b/backend/app/Http/Controllers/Api/ChildrenController.php @@ -552,10 +552,28 @@ class ChildrenController extends Controller { public function withdrawal (Request $r) { // 削除成功 try { - Child::where('id', (int)$r->child_id)->delete(); + // DBに入ります。 + DB::beginTransaction(); + + $child = Child::find((int)$r->child_id); + $img = $child->image; + $child->delete(); + + if (!is_null($img)) { + $img = str_replace('/files/', '', $child->image); + if (!Storage::disk('private')->exists($img)) { + Log::warning($img.'というパスは不正です。'); + } + else { + Storage::disk('private')->delete($img); + } + } + Session::forget($this->getGuard()); + DB::commit(); } catch (\Throwable $e) { Log::critical($e->getMessage()); + DB::rollback(); return ['status_code' => 400]; } diff --git a/backend/app/Http/Controllers/Api/FathersController.php b/backend/app/Http/Controllers/Api/FathersController.php index 8696948c..f03b2ce3 100644 --- a/backend/app/Http/Controllers/Api/FathersController.php +++ b/backend/app/Http/Controllers/Api/FathersController.php @@ -518,17 +518,29 @@ class FathersController extends Controller { public function withdrawal (Request $r) { try { + // DBに入ります。 + DB::beginTransaction(); + $father = Father::find((int)$r->father_id); $img = $father->image; $father->delete(); if (!is_null($img)) { - Storage::disk('private')->delete($img); + $img = str_replace('/files/', '', $father->image); + if (!Storage::disk('private')->exists($img)) { + Log::warning($img.'というパスは不正です。'); + } + else { + Storage::disk('private')->delete($img); + } } + Session::forget($this->getGuard()); + DB::commit(); } catch (\Throwable $e) { // 失敗 Log::critical($e->getMessage()); + DB::rollback(); return ['status_code' => 400, 'error_messages' => ['親の削除に失敗しました。']]; } @@ -538,10 +550,29 @@ class FathersController extends Controller { public function delete ($father_id) { try { - Father::where('id', (int)$father_id)->delete(); + // DBに入ります。 + DB::beginTransaction(); + + $father = Father::find((int)$father_id); + $img = $father->image; + $father->delete(); + + if (!is_null($img)) { + $img = str_replace('/files/', '', $father->image); + if (!Storage::disk('private')->exists($img)) { + Log::warning($img.'というパスは不正です。'); + } + else { + Storage::disk('private')->delete($img); + } + } + + Session::forget($this->getGuard()); + DB::commit(); } catch (\Throwable $e) { // 失敗 Log::critical($e->getMessage()); + DB::rollback(); return ['status_code' => 400, 'error_messages' => ['親の削除に失敗しました。']]; } diff --git a/backend/app/Http/Controllers/Api/MeetingsController.php b/backend/app/Http/Controllers/Api/MeetingsController.php index 7fe06d80..5572025a 100644 --- a/backend/app/Http/Controllers/Api/MeetingsController.php +++ b/backend/app/Http/Controllers/Api/MeetingsController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; @@ -123,7 +124,7 @@ class MeetingsController extends Controller { Storage::disk('private')->put($fname, $image); $quality = 1; $imag = Image::make('/work/storage/app/private/'.$fname)->encode('jpg', $quality); - $img->orientate(); + $imag->orientate(); $imag->save('/work/storage/app/private/'.$fname); $imgname = '/files/'.$fname; @@ -814,7 +815,7 @@ class MeetingsController extends Controller { return ['status_code' => 400]; } - if (null === ($get = Meetings::select('pdf')->where('id', (int)$meeting_id)->get())) { + if (null === (Meeting::select('id')->where('id', (int)$meeting_id)->get())) { return ['status_code' => 400]; } @@ -823,15 +824,40 @@ class MeetingsController extends Controller { } try { - Meeting::where('id', (int)$meeting_id)->delete(); - Storage::disk('private')->delete($get->pdf); - if ($delimg) { - foreach ($img as $m) { - Storage::disk('private')->delete($m->image); + // DBに入ります。 + DB::beginTransaction(); + + $meeting = Meeting::find((int)$meeting_id); + $pdf = $meeting->pdf; + $meeting->delete(); + + if (!is_null($img)) { + $pdf = str_replace('/files/', '', $pdf); + if (!Storage::disk('private')->exists($pdf)) { + Log::warning($pdf.'というパスは不正です。'); + } + else { + Storage::disk('private')->delete($pdf); } } + + Storage::disk('private')->delete($pdf); + if ($delimg) { + foreach ($img as $m) { + $image = str_replace('/files/', '', $m->image); + if (!Storage::disk('private')->exists($image)) { + Log::warning($image.'というパスは不正です。'); + } + else { + Storage::disk('private')->delete($image); + } + } + } + + DB::commit(); } catch (\Throwable $e) { Log::critical($e->getMessage()); + DB::rollback(); return ['status_code' => 400]; }