diff --git a/src/Domain/Folders/Controllers/NavigationFolderTreeController.php b/src/Domain/Folders/Controllers/NavigationFolderTreeController.php index ce5bb8ab..bb9062a9 100644 --- a/src/Domain/Folders/Controllers/NavigationFolderTreeController.php +++ b/src/Domain/Folders/Controllers/NavigationFolderTreeController.php @@ -8,14 +8,14 @@ class NavigationFolderTreeController { public function __invoke(): array { - $folders = Folder::with('folders:id,parent_id,id,name') + $folders = Folder::with('folders:id,parent_id,id,name,team_folder') ->where('parent_id') ->where('team_folder', false) ->where('user_id', Auth::id()) ->sortable() - ->get(['id', 'parent_id', 'id', 'name']); + ->get(['id', 'parent_id', 'id', 'name', 'team_folder']); - $teamFolders = Folder::with('folders:id,parent_id,id,name') + $teamFolders = Folder::with('folders:id,parent_id,id,name,team_folder') ->where('parent_id') ->where('team_folder', true) ->where('user_id', Auth::id()) diff --git a/src/Domain/Items/Actions/RenameFileOrFolderAction.php b/src/Domain/Items/Actions/RenameFileOrFolderAction.php index 73121047..495289ab 100644 --- a/src/Domain/Items/Actions/RenameFileOrFolderAction.php +++ b/src/Domain/Items/Actions/RenameFileOrFolderAction.php @@ -13,7 +13,7 @@ class RenameFileOrFolderAction public function __invoke( RenameItemRequest $request, string $id, - ): FolderResource|FileResource|array { + ) { // Get item $item = get_item($request->input('type'), $id); @@ -23,11 +23,6 @@ class RenameFileOrFolderAction 'name' => $request->input('name'), ]); - if ($request->input('type') === 'folder') { - return new FolderResource($item); - } - - // Return updated item - return new FileResource($item); + return $item; } } diff --git a/src/Domain/Items/Controllers/RenameFileOrFolderController.php b/src/Domain/Items/Controllers/RenameFileOrFolderController.php index 7bd5c100..ad5014cc 100644 --- a/src/Domain/Items/Controllers/RenameFileOrFolderController.php +++ b/src/Domain/Items/Controllers/RenameFileOrFolderController.php @@ -5,7 +5,6 @@ use Auth; use App\Http\Controllers\Controller; use Domain\Files\Resources\FileResource; use Domain\Folders\Resources\FolderResource; -use Illuminate\Database\Eloquent\Model; use Domain\Items\Requests\RenameItemRequest; use Domain\Items\Actions\RenameFileOrFolderAction; use Domain\Folders\Actions\UpdateFolderPropertyAction; @@ -36,7 +35,13 @@ class RenameFileOrFolderController extends Controller ($this->updateFolderProperty)($request, $id); } - // Rename Item - return ($this->renameFileOrFolder)($request, $id); + $item = ($this->renameFileOrFolder)($request, $id); + + if ($request->input('type') === 'folder') { + return new FolderResource($item); + } + + // Return updated item + return new FileResource($item); } } diff --git a/src/Domain/Items/Controllers/VisitorRenameFileOrFolderController.php b/src/Domain/Items/Controllers/VisitorRenameFileOrFolderController.php index f0ebe3f8..844cdacd 100644 --- a/src/Domain/Items/Controllers/VisitorRenameFileOrFolderController.php +++ b/src/Domain/Items/Controllers/VisitorRenameFileOrFolderController.php @@ -1,6 +1,9 @@ renameFileOrFolder)($request, $id); // Set public url - if ($item->type !== 'folder') { + if ($request->input('type') !== 'folder') { $item->setPublicUrl($shared->token); } - return response($item, 201); + if ($request->input('type') === 'folder') { + return response(new FolderResource($item), 201); + } + + // Return updated item + return response(new FileResource($item), 201); } } diff --git a/src/Domain/Localization/Controllers/LanguageController.php b/src/Domain/Localization/Controllers/LanguageController.php index 3e2218d3..79e3af49 100644 --- a/src/Domain/Localization/Controllers/LanguageController.php +++ b/src/Domain/Localization/Controllers/LanguageController.php @@ -1,12 +1,12 @@ collect([ - new FolderCollection($folders), - $files - ])->collapse(), - 'folder' => $requestedFolder, + 'folders' => new FolderCollection($folders), + 'files' => new FilesCollection($files), + 'root' => $requestedFolder, ]; } diff --git a/tests/Domain/Browsing/BrowseTest.php b/tests/Domain/Browsing/BrowseTest.php index 8249b8a5..634ab735 100644 --- a/tests/Domain/Browsing/BrowseTest.php +++ b/tests/Domain/Browsing/BrowseTest.php @@ -1,4 +1,5 @@ assertStatus(200) ->assertExactJson([ [ - 'name' => 'Home', - 'location' => 'base', + 'name' => 'Files', 'folders' => [ [ 'id' => $folder_level_1->id, @@ -68,7 +68,7 @@ class BrowseTest extends TestCase 'name' => 'level 1', 'items' => 2, 'trashed_items' => 2, - 'type' => 'folder', + 'team_folder' => false, 'folders' => [ [ 'id' => $folder_level_2->id, @@ -76,7 +76,7 @@ class BrowseTest extends TestCase 'name' => 'level 2', 'items' => 1, 'trashed_items' => 1, - 'type' => 'folder', + 'team_folder' => false, 'folders' => [ [ 'id' => $folder_level_3->id, @@ -91,7 +91,7 @@ class BrowseTest extends TestCase 'updated_at' => $folder_level_3->updated_at->toJson(), 'items' => 0, 'trashed_items' => 0, - 'type' => 'folder', + 'team_folder' => false, 'folders' => [], ], ], @@ -102,13 +102,17 @@ class BrowseTest extends TestCase 'name' => 'level 2 Sibling', 'items' => 0, 'trashed_items' => 0, - 'type' => 'folder', + 'team_folder' => false, 'folders' => [], ], ], ], ], ], + [ + 'name' => 'Team Folders', + 'folders' => [], + ], ]); } @@ -335,7 +339,7 @@ class BrowseTest extends TestCase $this ->actingAs($user) - ->getJson('/api/browse/trash') + ->getJson('/api/browse/trash/undefined') ->assertStatus(200) ->assertExactJson([ [ diff --git a/tests/Domain/Sharing/UserShareTest.php b/tests/Domain/Sharing/UserShareTest.php index e046b478..0ab91e28 100644 --- a/tests/Domain/Sharing/UserShareTest.php +++ b/tests/Domain/Sharing/UserShareTest.php @@ -1,13 +1,13 @@ assertExactJson([ 'data' => [ 'id' => $share->id, - 'type' => 'shares', + 'type' => 'shared', 'attributes' => [ 'permission' => $share->permission, - 'is_protected' => false, + 'protected' => false, 'item_id' => $share->item_id, 'expire_in' => $share->expire_in, 'token' => $share->token, 'link' => $share->link, 'type' => $share->type, - 'created_at' => $share->created_at->toJson(), - 'updated_at' => $share->updated_at->toJson(), ], ], ]); @@ -292,7 +290,6 @@ class VisitorBrowseTest extends TestCase 'name' => 'level 2', 'items' => 1, 'trashed_items' => 1, - 'type' => 'folder', 'folders' => [ [ 'id' => $folder_level_3->id, @@ -300,7 +297,6 @@ class VisitorBrowseTest extends TestCase 'name' => 'level 3', 'items' => 0, 'trashed_items' => 0, - 'type' => 'folder', 'folders' => [], ], ], @@ -311,7 +307,6 @@ class VisitorBrowseTest extends TestCase 'name' => 'level 2 Sibling', 'items' => 0, 'trashed_items' => 0, - 'type' => 'folder', 'folders' => [], ], ],