From 05f87f476774f03030b68f45473114e903a65847 Mon Sep 17 00:00:00 2001 From: majid Date: Tue, 8 Jul 2025 14:17:45 +0700 Subject: [PATCH] frefactor(daftar-pustaka): replace manual file handling with Laravel Storage --- app/Services/DaftarPustakaService.php | 50 ++++++++++++--------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/app/Services/DaftarPustakaService.php b/app/Services/DaftarPustakaService.php index 0d18e35..e4ec9fc 100644 --- a/app/Services/DaftarPustakaService.php +++ b/app/Services/DaftarPustakaService.php @@ -50,44 +50,40 @@ class DaftarPustakaService // get all with pagination public function getAllDaftarPustaka($request) -{ - $query = DaftarPustaka::query(); + { + $query = DaftarPustaka::query(); - // Filter pencarian - if (!empty($request->get('search'))) { - $search = $request->get('search'); - $query->where(function ($q) use ($search) { - $q->orWhere('judul', 'LIKE', "%$search%"); - }); + // Filter pencarian + if (!empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->orWhere('judul', 'LIKE', "%$search%"); + }); + } + + // Filter kategori + if (!empty($request->get('category'))) { + $category = explode(',', $request->input('category')); + $query->whereIn('category_id', $category); + } + + // Default pagination + $page = (int) $request->get('page', 1); + $size = (int) $request->get('size', 10); + + return $query->paginate($size, ['*'], 'page', $page); } - // Filter kategori - if (!empty($request->get('category'))) { - $category = explode(',', $request->input('category')); - $query->whereIn('category_id', $category); - } - - // Default pagination - $page = (int) $request->get('page', 1); - $size = (int) $request->get('size', 10); - - return $query->paginate($size, ['*'], 'page', $page); -} - private function handleUpload($file) { $today = now(); $folderPath = 'daftar_pustaka/' . $today->format('Y/m/d'); - if (!file_exists(public_path($folderPath))) { - mkdir(public_path($folderPath), 0755, true); - } - $fileName = $file->getClientOriginalName(); - $file->move(public_path($folderPath), $fileName); + $filePath = $file->storeAs($folderPath, $fileName, 'public'); - return $folderPath . '/' . $fileName; + return $filePath; }