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:
Mekan1206
2026-02-20 15:33:29 +05:00
parent a8599d9c79
commit 1e84ceab3c
27 changed files with 314 additions and 51 deletions

View File

@@ -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')),
];
}
}

View File

@@ -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));
}
}

View File

@@ -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,

View File

@@ -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'),