This commit is contained in:
2026-03-11 11:19:44 +07:00
parent 62991b4e98
commit d9859b8db9
@@ -12,8 +12,9 @@ class OfftakerController extends Controller
{ {
public function index(): JsonResponse public function index(): JsonResponse
{ {
Gate::authorize('any',['super_admin', 'petani']); if (!Gate::any(['super_admin', 'petani', 'fasilitator', 'admin'])) {
abort(403, 'Unauthorized');
}
$listOfftaker = Offtaker::all(); $listOfftaker = Offtaker::all();
return response()->json($listOfftaker); return response()->json($listOfftaker);
@@ -21,7 +22,7 @@ class OfftakerController extends Controller
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse
{ {
Gate::authorize('super_admin'); Gate::authorize('any',['super_admin', 'petani']);
$validated = $request->validate([ $validated = $request->validate([
'user_email' => ['required', 'email', 'max:255'], 'user_email' => ['required', 'email', 'max:255'],
@@ -48,14 +49,14 @@ class OfftakerController extends Controller
public function show(string $id): JsonResponse public function show(string $id): JsonResponse
{ {
Gate::authorize('super_admin'); Gate::authorize('any',['super_admin', 'petani']);
$offtaker = Offtaker::findOrFail($id); $offtaker = Offtaker::findOrFail($id);
return response()->json($offtaker); return response()->json($offtaker);
} }
public function update(Request $request, string $id): JsonResponse public function update(Request $request, string $id): JsonResponse
{ {
Gate::authorize('super_admin'); Gate::authorize('any',['super_admin', 'petani']);
$offtaker = Offtaker::findOrFail($id); $offtaker = Offtaker::findOrFail($id);
$validated = $request->validate([ $validated = $request->validate([
@@ -73,8 +74,7 @@ class OfftakerController extends Controller
public function destroy(string $id): JsonResponse public function destroy(string $id): JsonResponse
{ {
Gate::authorize('super_admin'); Gate::authorize('any',['super_admin', 'petani']);
// Menggunakan Soft Delete (Eloquent otomatis handle karena ada trait SoftDeletes di model)
Offtaker::findOrFail($id)->delete(); Offtaker::findOrFail($id)->delete();
return response()->json(null, 204); return response()->json(null, 204);
@@ -85,7 +85,7 @@ class OfftakerController extends Controller
*/ */
public function batchUpsert(Request $request): JsonResponse public function batchUpsert(Request $request): JsonResponse
{ {
Gate::authorize('super_admin'); Gate::authorize('any',['super_admin', 'petani']);
$validated = $request->validate([ $validated = $request->validate([
'offtakers' => ['required', 'array'], 'offtakers' => ['required', 'array'],