diff --git a/app/Containers/VikonIntegration/Actions/CheckAccessAction.php b/app/Containers/VikonIntegration/Actions/CheckAccessAction.php index 8b3479b..aef30a4 100644 --- a/app/Containers/VikonIntegration/Actions/CheckAccessAction.php +++ b/app/Containers/VikonIntegration/Actions/CheckAccessAction.php @@ -57,9 +57,18 @@ class CheckAccessAction private function findNonWritable(string $path, int $depth = 0): array { if ($depth > 3 || !is_dir($path)) return []; - if (!is_writable($path)) { - return [str_replace(base_path() . '/', '', $path)]; + + $relative = str_replace(base_path() . '/', '', $path); + + $excluded = ['vendor', 'node_modules', 'storage', '.git', 'bootstrap/cache']; + foreach ($excluded as $ex) { + if (str_starts_with($relative, $ex)) return []; } + + if (!is_writable($path)) { + return [$relative]; + } + $result = []; foreach (File::directories($path) as $dir) { $result = array_merge($result, $this->findNonWritable($dir, $depth + 1));