Refactor code for consistency and clarity; update seeder comments, enhance error handling, and improve API routes. Added 'original' field to ProductMediaResource and adjusted various formatting issues across multiple files.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\V1\Category\Resources;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class SelectedCategoryResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'description' => $this->description,
|
||||
'is_visible' => $this->is_visible,
|
||||
'categories' => CategoryResource::collection($this->whenLoaded('categories')),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\V1\Category;
|
||||
|
||||
use App\Http\Controllers\Api\V1\Category\Resources\SelectedCategoryResource;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Ecommerce\Product\Category\SelectedCategory;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SelectedCategoryController extends Controller
|
||||
{
|
||||
/**
|
||||
* Selected Categories (index)
|
||||
*/
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$selectedCategories = SelectedCategory::query()
|
||||
->where('is_visible', true)
|
||||
->with(['categories' => function ($query) {
|
||||
$query->where('is_visible', true)->ordered()->with(['media']);
|
||||
}])
|
||||
->get();
|
||||
|
||||
return response()->json(SelectedCategoryResource::collection($selectedCategories));
|
||||
}
|
||||
|
||||
/**
|
||||
* Selected Categories (show)
|
||||
*/
|
||||
public function show(SelectedCategory $selectedCategory): JsonResponse
|
||||
{
|
||||
$selectedCategory->load('categories');
|
||||
|
||||
return response()->json(new SelectedCategoryResource($selectedCategory));
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ class OrderPaymentController extends Controller
|
||||
public function index(): JsonResponse
|
||||
{
|
||||
return response()->rest(
|
||||
PaymentType::all(['id', 'name'])
|
||||
PaymentType::query()->where('is_enabled', true)->get(['id', 'name'])
|
||||
->map(fn ($paymentType) => [
|
||||
'id' => $paymentType->id,
|
||||
'name' => $paymentType->name,
|
||||
|
||||
@@ -15,6 +15,7 @@ class ProductMediaResource extends JsonResource
|
||||
public function toArray(Request $request): array
|
||||
{
|
||||
return [
|
||||
'original' => $this->getUrl(),
|
||||
'thumbnail' => $this->getUrl('thumb400x400'),
|
||||
'images_400x400' => $this->getUrl('thumb400x400'),
|
||||
'images_800x800' => $this->getUrl('thumb800x800'),
|
||||
|
||||
Reference in New Issue
Block a user