Separate share transfers from Files storage and add folder upload to New transfer.
Deploy Ladill Transfer / deploy (push) Successful in 28s

Transfers lists only intentional shares while Files shows all storage, and New transfer accepts folder picks with flattened file uploads.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-08 22:31:45 +00:00
co-authored by Cursor
parent be3b719437
commit 1a95915e21
9 changed files with 181 additions and 55 deletions
@@ -48,7 +48,12 @@ class FilesController extends Controller
->where('user_id', $account->id)
->where('status', '!=', Transfer::STATUS_DELETED)
->when($folderTransfer, fn ($inner) => $inner->whereKey($folderTransfer->id),
fn ($inner) => $inner->where('is_folder', false)))
fn ($inner) => $inner->where(function ($query) {
$query->where('is_root_storage', true)
->orWhere(function ($nested) {
$nested->where('is_folder', false)->where('is_root_storage', false);
});
})))
->when($search !== '', fn ($q) => $q->where('original_name', 'like', '%'.$search.'%'))
->with(['transfer.qrCode'])
->when($sort === 'oldest', fn ($q) => $q->oldest())
@@ -332,10 +337,11 @@ class FilesController extends Controller
}
$folder = $this->resolveUploadFolder($account, $data['folder'] ?? null);
$conflictLocation = $folder ?? $this->storage->rootStorage($account);
$conflicts = $this->storage->findConflicts(
$account,
$folder,
$conflictLocation,
$data['filenames'],
);