$this->service->paginated(...$request->validatedWithDefaults()), ]); } public function create(): Response { return Inertia::render('admin/roles/create', [ 'permissions' => $this->service->getPermissionsByModule(), ]); } public function store(RoleRequest $request): RedirectResponse { return $this->handleAction( fn () => $this->service->store($request->validated()), 'Role berhasil ditambahkan.', 'admin.settings.roles.index' ); } public function edit(Role $role): Response { return Inertia::render('admin/roles/edit', [ 'role' => $role->load('permissions'), 'permissions' => $this->service->getPermissionsByModule(), ]); } public function update(RoleRequest $request, Role $role): RedirectResponse { return $this->handleAction( fn () => $this->service->update($role, $request->validated()), 'Role berhasil diperbarui.', 'admin.settings.roles.index' ); } public function destroy(Role $role): RedirectResponse { $this->service->destroy($role); return Inertia::flash('toast', ['type' => 'success', 'message' => 'Role berhasil dihapus.'])->back(); } }