$this->service->getAll(), ]); } 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->create($request->validated()), 'Role berhasil ditambahkan.', 'admin.settings.roles.index' ); } public function edit(Role $role): Response { return Inertia::render('admin/roles/edit', [ 'role' => $this->service->getById($role->id), '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->delete($role); Inertia::flash('toast', ['type' => 'success', 'message' => 'Role berhasil dihapus.']); return to_route('admin.settings.roles.index'); } }