update access

This commit is contained in:
2026-05-11 14:48:17 +07:00
parent 66129792c8
commit 50222eb5d4
6 changed files with 9407 additions and 17 deletions
@@ -35,7 +35,9 @@ class DistributionController extends Controller
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse
{ {
Gate::authorize('petani'); if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
abort(403);
}
$validated = $request->validate([ $validated = $request->validate([
'offtaker_id' => 'required|numeric', 'offtaker_id' => 'required|numeric',
@@ -58,8 +60,9 @@ class DistributionController extends Controller
public function update(Request $request, string $id): JsonResponse public function update(Request $request, string $id): JsonResponse
{ {
// Biasanya Admin atau Offtaker yang melakukan update grade/price if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
Gate::authorize('super_admin'); abort(403);
}
$distribution = Distribution::findOrFail($id); $distribution = Distribution::findOrFail($id);
@@ -82,8 +85,10 @@ class DistributionController extends Controller
} }
public function batchUpsert(Request $request): JsonResponse public function batchUpsert(Request $request): JsonResponse
{ {
Gate::authorize('any', ['super_admin', 'petani']); if (!Gate::any(['super_admin', 'petani','fasilitator', 'offtaker'])) {
abort(403);
}
$validated = $request->validate([ $validated = $request->validate([
'distributions' => ['required', 'array'], 'distributions' => ['required', 'array'],
+4 -4
View File
@@ -77,7 +77,7 @@ class LahanController extends Controller
*/ */
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
@@ -151,7 +151,7 @@ class LahanController extends Controller
*/ */
public function update(Request $request, string $id): JsonResponse public function update(Request $request, string $id): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
@@ -181,7 +181,7 @@ class LahanController extends Controller
*/ */
public function destroy(string $id): JsonResponse public function destroy(string $id): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
@@ -199,7 +199,7 @@ class LahanController extends Controller
public function batchUpsert(Request $request): JsonResponse public function batchUpsert(Request $request): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
+3 -3
View File
@@ -29,7 +29,7 @@ class PanenController extends Controller
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
@@ -67,7 +67,7 @@ class PanenController extends Controller
public function update(Request $request, string $id): JsonResponse public function update(Request $request, string $id): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
$panen = Panen::findOrFail($id); $panen = Panen::findOrFail($id);
@@ -95,7 +95,7 @@ class PanenController extends Controller
*/ */
public function batchUpsert(Request $request): JsonResponse public function batchUpsert(Request $request): JsonResponse
{ {
if (Gate::authorize(['petani', 'fasilitator'])) { if (Gate::authorize(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
$profileId = Auth::user()->profile->id; $profileId = Auth::user()->profile->id;
@@ -95,7 +95,7 @@ class ProfileController extends Controller
*/ */
public function store(Request $request) public function store(Request $request)
{ {
Gate::authorize('fasilitator'); Gate::authorize('fasilitator','super_admin');
$validated = $request->validate([ $validated = $request->validate([
'nama' => ['required', 'string', 'max:255'], 'nama' => ['required', 'string', 'max:255'],
@@ -237,7 +237,7 @@ class ProfileController extends Controller
public function downloadFile(string $id, string $type): JsonResponse | BinaryFileResponse public function downloadFile(string $id, string $type): JsonResponse | BinaryFileResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator', 'super_admin'])) {
abort(403); abort(403);
} }
@@ -91,7 +91,7 @@ class TanamanController extends Controller
*/ */
public function store(Request $request): JsonResponse public function store(Request $request): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
$profile = Auth::user()->profile; $profile = Auth::user()->profile;
@@ -151,7 +151,7 @@ class TanamanController extends Controller
*/ */
public function update(Request $request, string $id): JsonResponse public function update(Request $request, string $id): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
$tanaman = Tanaman::findOrFail($id); $tanaman = Tanaman::findOrFail($id);
@@ -186,7 +186,7 @@ class TanamanController extends Controller
*/ */
public function destroy(string $id): JsonResponse public function destroy(string $id): JsonResponse
{ {
if (!Gate::any(['petani', 'fasilitator'])) { if (!Gate::any(['petani', 'fasilitator','super_admin'])) {
abort(403); abort(403);
} }
$tanaman = Tanaman::findOrFail($id); $tanaman = Tanaman::findOrFail($id);
Executable
+9385
View File
File diff suppressed because it is too large Load Diff