Files
aso/Modules/Linksehat/Http/Controllers/Api/HospitalController.php
2022-09-17 00:51:02 +07:00

97 lines
2.3 KiB
PHP

<?php
namespace Modules\Linksehat\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\Organization;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Linksehat\Transformers\HospitalResource;
class HospitalController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request)
{
$hospitals = Organization::query()
->with(['currentAddress'])
->where('type', 'hospital')
->when($request->search ?? null, function($query, $search) {
$query->where('name', 'LIKE', '%'.$search.'%');
})
->paginate(6);
return response()->json([
'message' => 'Sukses mengambil data Rumah Sakit',
'hospitals' => Helper::paginateResources(HospitalResource::collection($hospitals))
]);
}
/**
* Show the form for creating a new resource.
* @return Renderable
*/
public function create()
{
return view('linksehat::create');
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Renderable
*/
public function store(Request $request)
{
//
}
/**
* Show the specified resource.
* @param int $id
* @return Renderable
*/
public function show($id)
{
$hospital = Organization::query()->findOrFail($id);
return response()->json(HospitalResource::make($hospital));
}
/**
* Show the form for editing the specified resource.
* @param int $id
* @return Renderable
*/
public function edit($id)
{
return view('linksehat::edit');
}
/**
* Update the specified resource in storage.
* @param Request $request
* @param int $id
* @return Renderable
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
* @param int $id
* @return Renderable
*/
public function destroy($id)
{
//
}
}