Migrate backend to Porto architecture and fix minor bugs
- Fully transitioned the backend to the Porto architectural pattern - Improved code organization and maintainability - Fixed minor bugs and inconsistencies
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Containers\InstituteStructure\UI\WEB\Transformers;
|
||||
|
||||
use App\Ship\Resources\JsonResource;
|
||||
|
||||
|
||||
class DepartmentPreviewResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'slug' => $this->slug,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Containers\InstituteStructure\UI\WEB\Transformers;
|
||||
|
||||
|
||||
use App\Containers\User\UI\WEB\Transformers\PersonDepartmentPreviewResource;
|
||||
use App\Containers\User\UI\WEB\Transformers\PersonDepartmentTeachPreviewResource;
|
||||
use App\Ship\Resources\JsonResource;
|
||||
|
||||
class DepartmentResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'content' => $this->content,
|
||||
'faculty' => $this->faculty,
|
||||
'slug' => $this->slug,
|
||||
'workers' => PersonDepartmentPreviewResource::collection($this->workers),
|
||||
'teachers' => PersonDepartmentTeachPreviewResource::collection($this->teachers),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Containers\InstituteStructure\UI\WEB\Transformers;
|
||||
|
||||
use App\Containers\User\UI\WEB\Transformers\PersonDivisionPreviewResource;
|
||||
use App\Ship\Resources\JsonResource;
|
||||
|
||||
class DivisionResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'slug' => $this->slug,
|
||||
'workers' => PersonDivisionPreviewResource::collection($this->whenLoaded('workers')),
|
||||
'description' => $this->description,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Containers\InstituteStructure\UI\WEB\Transformers;
|
||||
|
||||
|
||||
use App\Ship\Resources\JsonResource;
|
||||
|
||||
class FacultyPreviewResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'shortTitle' => $this->abbreviation,
|
||||
'slug' => $this->slug,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Containers\InstituteStructure\UI\WEB\Transformers;
|
||||
|
||||
|
||||
use App\Containers\User\UI\WEB\Transformers\PersonFacultyPreviewResource;
|
||||
use App\Ship\Resources\JsonResource;
|
||||
|
||||
class FacultyResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray($request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'content' => $this->content,
|
||||
'shortTitle' => $this->abbreviation,
|
||||
'slug' => $this->slug,
|
||||
'workers' => PersonFacultyPreviewResource::collection($this->workers),
|
||||
'departments' => DepartmentPreviewResource::collection($this->departments)
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user