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

View File

@@ -5,8 +5,7 @@ use Domain\Teams\Controllers\InvitationsController;
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);

View File

@@ -1,4 +1,5 @@
<?php
namespace Domain\Folders\Models;
use Illuminate\Support\Str;
@@ -49,7 +50,8 @@ class Folder extends Model
];
protected $casts = [
'emoji' => 'array',
'emoji' => 'array',
'team_folder' => 'boolean',
];
protected $hidden = [
@@ -132,9 +134,9 @@ class Folder extends Model
/**
* Format deleted at date reformat
*/
public function getDeletedAtAttribute(): string | null
public function getDeletedAtAttribute(): string|null
{
if (! $this->attributes['deleted_at']) {
if (!$this->attributes['deleted_at']) {
return null;
}
@@ -226,7 +228,7 @@ class Folder extends Model
parent::boot();
static::creating(function ($model) {
$model->id = (string) Str::uuid();
$model->id = (string)Str::uuid();
});
static::deleting(function ($item) {

View File

@@ -20,7 +20,11 @@ class ConvertFolderIntoTeamFolderController extends Controller
Request $request,
Folder $folder
): Response {
$folder->update(['team_folder' => 1]);
$folder->update([
'team_folder' => 1,
'parent_id' => null,
]);
// Invite team members
($this->inviteMembers)($request->input('members'), $folder);

View File

@@ -9,6 +9,7 @@ use Illuminate\Http\Response;
use Domain\Folders\Models\Folder;
use App\Http\Controllers\Controller;
use Domain\Teams\DTO\CreateTeamFolderData;
use Illuminate\Support\Facades\Auth;
class TeamFoldersController extends Controller
{
@@ -16,6 +17,22 @@ class TeamFoldersController extends Controller
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(
Request $request,
): Response {

View File

@@ -75,7 +75,7 @@ class TeamsTest extends TestCase
$this
->actingAs($user)
->post("/api/teams/folders/convert/{$folder->id}", [
->post("/api/teams/convert/{$folder->id}", [
'members' => [
[
'email' => 'john@internal.com',
@@ -230,17 +230,26 @@ class TeamsTest extends TestCase
}
/**
*
*/
public function it_move_items_into_team_folder()
{
}
/**
*
* @test
*/
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,
]);
}
/**