HEX
Server: Apache
System: Linux server1.ariadata.co 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: nepi (1051)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,show_source,popen,proc_open
Upload Files
File: /home/nepi/file.nepi.ir/app/Listeners/HandleDeletedWorkspace.php
<?php

namespace App\Listeners;

use App\FileEntry;
use Common\Files\Actions\Deletion\DeleteEntries;
use Common\Workspaces\Events\WorkspaceDeleted;

class HandleDeletedWorkspace
{
    public function handle(WorkspaceDeleted $e)
    {
        // delete workspace owner entries
        $entryIds = FileEntry::where('workspace_id', $e->workspaceId)
            ->where('owner_id', $e->ownerId)
            ->pluck('id');
        app(DeleteEntries::class)->execute([
            'entryIds' => $entryIds,
            false,
        ]);

        // transfer other workspace member files to their personal workspace
        FileEntry::where('workspace_id', $e->workspaceId)
            ->where('owner_id', '!=', $e->ownerId)
            ->update([
                'workspace_id' => null,
            ]);
    }
}