Files
aso/Modules/Internal/Http/Controllers/Api/HospitalController.php
2023-10-20 11:05:42 +07:00

154 lines
3.9 KiB
PHP

<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Models\CorporateHospital;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\DB;
class HospitalController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request, $corporate_id)
{
$datas = CorporateHospital::query()
->filter($request->all())
->where('corporate_id', $corporate_id)
->orderBy('id', 'DESC')
->paginate(0)
->appends($request->all());
return $datas;
}
public function activation(Request $request, $hospital_id)
{
$request->validate([
'active' => 'required',
'reason' => 'required',
]);
// abort(404);
$hostpital = CorporateHospital::findOrFail($hospital_id);
$hostpital->active = $request->active;
$hostpital->reason = $request->reason;
if ($hostpital->save()) {
return response()->json([
'hostpital' => $hostpital,
'message' => 'Status Updated Successfully'
]);
}
}
public function dataHospital(Request $request, $corporate_id)
{
$data = DB::table('organizations')
->where('type', 'hospital')
->where('status', 'active')
->orderBy('id', 'desc')
->get();
return $data;
}
/**
* Show the form for creating a new resource.
* @return Renderable
*/
public function create()
{
return view('internal::create');
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Renderable
*/
public function store(Request $request, $corporate_id)
{
$request->validate([
'corporate_id' => 'required',
'code' => 'required',
'name' => 'required',
'organization_id' => 'required',
]);
$newCorporateHospital = CorporateHospital::create([
'corporate_id' => $corporate_id,
'code' => $request->code,
'name' => $request->name,
'organization_id' => $request->organization_id,
'description' => $request->description ? $request->description : null,
]);
return $newCorporateHospital;
}
/**
* Show the specified resource.
* @param int $id
* @return Renderable
*/
public function show($id)
{
return view('internal::show');
}
/**
* Show the form for editing the specified resource.
* @param int $id
* @return Renderable
*/
public function edit($corporate_id, $id)
{
$corporatePlan = CorporateDivision::findOrFail($id);
return $corporatePlan;
}
/**
* Update the specified resource in storage.
* @param Request $request
* @param int $id
* @return Renderable
*/
public function update(Request $request, $corporate_id, $id)
{
$corporatePlan = CorporateHospital::findOrFail($id);
$request->validate([
'corporate_id' => 'required',
'code' => 'required',
'name' => 'required',
'organization_id' => 'required',
]);
$corporatePlan->fill([
'corporate_id' => $corporate_id,
'code' => $request->code,
'name' => $request->name,
'organization_id' => $request->organization_id,
'description' => $request->description ? $request->description : null,
])->save();
return $corporatePlan;
}
/**
* Remove the specified resource from storage.
* @param int $id
* @return Renderable
*/
public function destroy($id)
{
//
}
}