implemented navigation tree controller for teams

This commit is contained in:
Čarodej
2021-10-22 16:39:53 +02:00
parent 705281325f
commit 841c1db54a
10 changed files with 128 additions and 13 deletions
@@ -0,0 +1,30 @@
<?php
namespace Domain\Teams\Controllers;
use Domain\Folders\Models\Folder;
use Gate;
class NavigationTreeController
{
public function __invoke(string $id): array
{
$teamFolder = Folder::findOrFail($id)->getLatestParent();
if (! Gate::any(['can-edit', 'can-view'], [$teamFolder, null])) {
abort(403, 'Access Denied');
}
$folders = Folder::with('folders:id,parent_id,id,name,team_folder')
->where('parent_id', $teamFolder->id)
->sortable()
->get(['id', 'parent_id', 'id', 'name', 'team_folder']);
return [
[
'name' => $teamFolder->name,
'folders' => $folders,
'isMovable' => true,
],
];
}
}
@@ -33,6 +33,7 @@ class TeamFoldersController extends Controller
$folders = Folder::where('parent_id', $id)
->where('team_folder', ! Str::isUuid($id))
->where('user_id', Auth::id())
->sortable()
->get();