mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 08:12:15 +00:00
it_get_all_team_folders
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user