it_get_all_team_folders

This commit is contained in:
Peter Papp
2021-08-24 16:54:05 +02:00
parent e0ecfce382
commit 0c6621494e
5 changed files with 48 additions and 17 deletions
+2 -3
View File
@@ -5,8 +5,7 @@ use Domain\Teams\Controllers\InvitationsController;
use Domain\Teams\Controllers\TeamFoldersController; use Domain\Teams\Controllers\TeamFoldersController;
Route::apiResource('/invitations', InvitationsController::class)
->only('destroy', 'update');
Route::post('/folders/convert/{folder}', ConvertFolderIntoTeamFolderController::class); Route::post('/convert/{folder}', ConvertFolderIntoTeamFolderController::class);
Route::apiResource('/invitations', InvitationsController::class);
Route::apiResource('/folders', TeamFoldersController::class); Route::apiResource('/folders', TeamFoldersController::class);
+2
View File
@@ -1,4 +1,5 @@
<?php <?php
namespace Domain\Folders\Models; namespace Domain\Folders\Models;
use Illuminate\Support\Str; use Illuminate\Support\Str;
@@ -50,6 +51,7 @@ class Folder extends Model
protected $casts = [ protected $casts = [
'emoji' => 'array', 'emoji' => 'array',
'team_folder' => 'boolean',
]; ];
protected $hidden = [ protected $hidden = [
@@ -20,7 +20,11 @@ class ConvertFolderIntoTeamFolderController extends Controller
Request $request, Request $request,
Folder $folder Folder $folder
): Response { ): Response {
$folder->update(['team_folder' => 1]);
$folder->update([
'team_folder' => 1,
'parent_id' => null,
]);
// Invite team members // Invite team members
($this->inviteMembers)($request->input('members'), $folder); ($this->inviteMembers)($request->input('members'), $folder);
@@ -9,6 +9,7 @@ use Illuminate\Http\Response;
use Domain\Folders\Models\Folder; use Domain\Folders\Models\Folder;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Domain\Teams\DTO\CreateTeamFolderData; use Domain\Teams\DTO\CreateTeamFolderData;
use Illuminate\Support\Facades\Auth;
class TeamFoldersController extends Controller class TeamFoldersController extends Controller
{ {
@@ -16,6 +17,22 @@ class TeamFoldersController extends Controller
public InviteMembersIntoTeamFolderAction $inviteMembers, public InviteMembersIntoTeamFolderAction $inviteMembers,
) {} ) {}
public function show($id)
{
$folder_id = $id !== 'undefined'
? Folder::findOrFail($id)->id
: 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('user_id', Auth::id())
->sortable()
->get();
return response($folders);
}
public function store( public function store(
Request $request, Request $request,
): Response { ): Response {
+18 -9
View File
@@ -75,7 +75,7 @@ class TeamsTest extends TestCase
$this $this
->actingAs($user) ->actingAs($user)
->post("/api/teams/folders/convert/{$folder->id}", [ ->post("/api/teams/convert/{$folder->id}", [
'members' => [ 'members' => [
[ [
'email' => 'john@internal.com', 'email' => 'john@internal.com',
@@ -230,17 +230,26 @@ class TeamsTest extends TestCase
} }
/** /**
* * @test
*/
public function it_move_items_into_team_folder()
{
}
/**
*
*/ */
public function it_get_all_team_folders() public function it_get_all_team_folders()
{ {
$user = User::factory(User::class)
->create();
$folder = Folder::factory()
->create([
'user_id' => $user->id,
'team_folder' => 1,
]);
$this
->actingAs($user)
->getJson("/api/teams/folders/undefined")
->assertOk()
->assertJsonFragment([
'id' => $folder->id,
]);
} }
/** /**