mirror of
https://github.com/archtechx/tenancy.git
synced 2026-09-20 17:04:04 +00:00
Refactor remove symlinks action, add static::$removeNestedDirectories
In removeLink(), return early if the symlink doesn't exist. The nested directory deletion is now controlled by the $removeNestedDirectories static property. It's disabled by default. public_path() and dirname($publicPath) are now normalized using realpath() before the nested dir deletion. The delete loop now checks if the directory-to-be-deleted is *inside* the public root instead of checking if it's not equal to to the public root.
This commit is contained in:
parent
b2b8d50edb
commit
1e1e2efb8c
2 changed files with 37 additions and 7 deletions
|
|
@ -17,6 +17,12 @@ use Illuminate\Support\Facades\Storage;
|
|||
beforeEach(function () {
|
||||
Event::listen(TenancyInitialized::class, BootstrapTenancy::class);
|
||||
Event::listen(TenancyEnded::class, RevertToCentralContext::class);
|
||||
|
||||
RemoveStorageSymlinksAction::$removeNestedDirectories = false;
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
RemoveStorageSymlinksAction::$removeNestedDirectories = false;
|
||||
});
|
||||
|
||||
test('create storage symlinks action works', function (string|null $rootOverride, bool $suffixStoragePath) {
|
||||
|
|
@ -207,6 +213,8 @@ test('symlinks of prefixed disks only expose the prefixed directory', function (
|
|||
});
|
||||
|
||||
test('removing a prefixed disk symlink removes the directories created for it', function () {
|
||||
RemoveStorageSymlinksAction::$removeNestedDirectories = true;
|
||||
|
||||
config([
|
||||
'tenancy.bootstrappers' => [
|
||||
FilesystemTenancyBootstrapper::class,
|
||||
|
|
@ -241,6 +249,8 @@ test('removing a prefixed disk symlink removes the directories created for it',
|
|||
});
|
||||
|
||||
test('non-empty directories are not removed with the symlink', function () {
|
||||
RemoveStorageSymlinksAction::$removeNestedDirectories = true;
|
||||
|
||||
config([
|
||||
'tenancy.bootstrappers' => [
|
||||
FilesystemTenancyBootstrapper::class,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue