mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
it_get_content_of_team_folder
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace Domain\Teams\Controllers;
|
||||
|
||||
use DB;
|
||||
use Domain\Files\Models\File;
|
||||
use Domain\Teams\Actions\InviteMembersIntoTeamFolderAction;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
@@ -19,18 +20,28 @@ class TeamFoldersController extends Controller
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$folder_id = $id !== 'undefined'
|
||||
? Folder::findOrFail($id)->id
|
||||
: null;
|
||||
$isHomepage = $id === 'undefined';
|
||||
$rootId = $id === 'undefined' ? null : $id;
|
||||
$requestedFolder = $rootId ? Folder::findOrFail($rootId) : null;
|
||||
|
||||
$folders = Folder::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in'])
|
||||
->where('parent_id', $folder_id)
|
||||
->where('team_folder', 1)
|
||||
->where('parent_id', $rootId)
|
||||
->where('team_folder', $isHomepage)
|
||||
->where('user_id', Auth::id())
|
||||
->sortable()
|
||||
->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(
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Tests\Domain\Teams;
|
||||
|
||||
use Domain\Files\Models\File;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Teams\Models\TeamFoldersInvitation;
|
||||
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