project_directory/app/Http/Controllers/MasterKlasifikasiController.php
2025-09-03 15:18:54 +07:00

126 lines
3.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\RequestMasterKlasifikasi;
use App\Http\Requests\RequestUpdateMasterKlasifikasi;
use App\Models\MasterKlasifikasi;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MasterKlasifikasiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$payload = [
'title' => 'Master Klasifikasi'
];
return view('master.klasifikasi.index', $payload);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(RequestMasterKlasifikasi $request)
{
try {
DB::connection('dbDirectory')->beginTransaction();
$datas = $request->input('data');
foreach ($datas as $key => $value) {
$payload = [
'nama_klasifikasi_directory' => $value['nama_klasifikasi']
];
MasterKlasifikasi::create($payload);
}
DB::connection('dbDirectory')->commit();
return response()->json([
'status' => true,
'message' => 'Data berhasil disimpan',
], 200);
} catch (\Throwable $th) {
DB::connection('dbDirectory')->rollBack();
return response()->json([
'status' => false,
'message' => $th->getMessage()
], 500);
}
}
/**
* Display the specified resource.
*/
public function show(MasterKlasifikasi $masterKlasifikasi)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(MasterKlasifikasi $masterKlasifikasi)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(RequestUpdateMasterKlasifikasi $request, string $id)
{
$request->validated();
try {
$mk = MasterKlasifikasi::where('master_klasifikasi_directory_id', $id)->first();
$payload = [
'nama_klasifikasi_directory' => $request->input('nama_klasifikasi'),
];
$mk->update($payload);
return response()->json([
'status' => true,
'message' => 'Berhasil memperbarui data'
], 200);
} catch (\Throwable $th) {
return response()->json([
'status' => false,
'message' => 'Gagal memperbarui data'
], 500);
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
$data = MasterKlasifikasi::where('master_klasifikasi_directory_id', $id)->first();
if(!$data){
return response()->json([
'status' => false,
'message' => 'Data tidak ditemukan'
], 404);
}
$payload =[
'statusenabled' => false
];
$data->update($payload);
return response()->json([
'status' => true,
'message' => 'Data berhasil dihapus'
], 200);
}
public function datatable(){
return MasterKlasifikasi::where('statusenabled', true)->get();
}
}