mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-29 03:10:51 +00:00
it_get_content_of_team_folder
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
namespace Domain\Teams\Controllers;
|
namespace Domain\Teams\Controllers;
|
||||||
|
|
||||||
use DB;
|
use DB;
|
||||||
|
use Domain\Files\Models\File;
|
||||||
use Domain\Teams\Actions\InviteMembersIntoTeamFolderAction;
|
use Domain\Teams\Actions\InviteMembersIntoTeamFolderAction;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
@@ -19,18 +20,28 @@ class TeamFoldersController extends Controller
|
|||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
$folder_id = $id !== 'undefined'
|
$isHomepage = $id === 'undefined';
|
||||||
? Folder::findOrFail($id)->id
|
$rootId = $id === 'undefined' ? null : $id;
|
||||||
: null;
|
$requestedFolder = $rootId ? Folder::findOrFail($rootId) : null;
|
||||||
|
|
||||||
$folders = Folder::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in'])
|
$folders = Folder::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in'])
|
||||||
->where('parent_id', $folder_id)
|
->where('parent_id', $rootId)
|
||||||
->where('team_folder', 1)
|
->where('team_folder', $isHomepage)
|
||||||
->where('user_id', Auth::id())
|
->where('user_id', Auth::id())
|
||||||
->sortable()
|
->sortable()
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
return response($folders);
|
$files = File::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in'])
|
||||||
|
->where('folder_id', $rootId)
|
||||||
|
->where('user_id', Auth::id())
|
||||||
|
->sortable()
|
||||||
|
->get();
|
||||||
|
|
||||||
|
// Collect folders and files to single array
|
||||||
|
return [
|
||||||
|
'content' => collect([$folders, $files])->collapse(),
|
||||||
|
'folder' => $requestedFolder,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function store(
|
public function store(
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Tests\Domain\Teams;
|
namespace Tests\Domain\Teams;
|
||||||
|
|
||||||
|
use Domain\Files\Models\File;
|
||||||
use Domain\Folders\Models\Folder;
|
use Domain\Folders\Models\Folder;
|
||||||
use Domain\Teams\Models\TeamFoldersInvitation;
|
use Domain\Teams\Models\TeamFoldersInvitation;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@@ -252,6 +253,35 @@ class TeamsTest extends TestCase
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_get_content_of_team_folder()
|
||||||
|
{
|
||||||
|
$user = User::factory(User::class)
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$folder = Folder::factory()
|
||||||
|
->create([
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'team_folder' => 1,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$file = File::factory()
|
||||||
|
->create([
|
||||||
|
'folder_id' => $folder->id,
|
||||||
|
'user_id' => $user->id,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this
|
||||||
|
->actingAs($user)
|
||||||
|
->getJson("/api/teams/folders/{$folder->id}")
|
||||||
|
->assertOk()
|
||||||
|
->assertJsonFragment([
|
||||||
|
'id' => $file->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user