From e5ff52b2608c58a4ba3b211a95f1d106648653a9 Mon Sep 17 00:00:00 2001 From: Siwat Techavoranant Date: Thu, 26 Oct 2023 10:16:07 +0700 Subject: [PATCH] feat: personnel index api (for docchula homepage) --- app/Http/Controllers/PersonnelController.php | 13 +++++++++++++ routes/api.php | 2 ++ 2 files changed, 15 insertions(+) diff --git a/app/Http/Controllers/PersonnelController.php b/app/Http/Controllers/PersonnelController.php index ea69382..b433cff 100644 --- a/app/Http/Controllers/PersonnelController.php +++ b/app/Http/Controllers/PersonnelController.php @@ -23,6 +23,19 @@ public function index(Request $request) ]); } + public function indexApi(Request $request) + { + $yearList = Personnel::getYearList(); + $list = Personnel::getYear($request->input('year', $yearList[0]))->map(function (Personnel $personnel) { + $personnel->photo_url = $personnel->photo_path ? Storage::disk('public')->url($personnel->photo_path) : null; + return $personnel; + })->only(['id', 'name', 'name_en', 'position', 'position_en', 'year', 'sequence', 'photo_url']); + return response()->json([ + 'years' => $yearList, + 'personnels' => $list, + ]); + } + public function create(Request $request) { return $this->edit(new Personnel(['year' => $request->input('year') ?? Helper::buddhistYear()])); diff --git a/routes/api.php b/routes/api.php index eb6fa48..871e7b5 100644 --- a/routes/api.php +++ b/routes/api.php @@ -17,3 +17,5 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); }); + +Route::get('personnels', [\App\Http\Controllers\PersonnelController::class, 'indexApi']);