added folder resource

This commit is contained in:
Peter Papp
2021-08-26 15:06:39 +02:00
parent bee7352b28
commit f5f2179145
9 changed files with 157 additions and 19 deletions
@@ -2,6 +2,7 @@
namespace Domain\Teams\Controllers;
use DB;
use Domain\Folders\Resources\FolderCollection;
use Domain\Teams\Requests\CreateTeamFolderRequest;
use Domain\Teams\Requests\UpdateTeamFolderMembersRequest;
use Illuminate\Contracts\Routing\ResponseFactory;
@@ -50,6 +51,8 @@ class TeamFoldersController extends Controller
->get();
}
return new FolderCollection($folders);
// Collect folders and files to single array
return [
'content' => collect([$folders, $files])->collapse(),
@@ -0,0 +1,23 @@
<?php
namespace Domain\Teams\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class TeamInvitationResource extends JsonResource
{
public function toArray($request): array
{
return [
'data' => [
'id' => $this->id,
'type' => 'invitation',
'attributes' => [
'email' => $this->email,
'status' => $this->status,
'permission' => $this->permission,
],
],
];
}
}
@@ -0,0 +1,16 @@
<?php
namespace Domain\Teams\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class TeamInvitationsCollection extends ResourceCollection
{
public $collects = TeamInvitationResource::class;
public function toArray($request): array
{
return [
'data' => $this->collection,
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace Domain\Teams\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class TeamMemberResource extends JsonResource
{
public function toArray($request): array
{
return [
'data' => [
'id' => $this->id,
'type' => 'member',
'attributes' => [
'email' => $this->email,
'name' => $this->settings->name,
'avatar' => $this->settings->avatar,
'permission' => $this->pivot->permission,
],
],
];
}
}
@@ -0,0 +1,16 @@
<?php
namespace Domain\Teams\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class TeamMembersCollection extends ResourceCollection
{
public $collects = TeamMemberResource::class;
public function toArray($request): array
{
return [
'data' => $this->collection,
];
}
}