feat: rename featured_variants to group_items and update related references
This commit is contained in:
parent
84c9fa4c9d
commit
615eacea91
|
|
@ -12,9 +12,9 @@ class CatalogController extends Controller
|
|||
public function index(string $tenant): JsonResponse
|
||||
{
|
||||
$featuredGroups = FeaturedGroup::where('tenant_codigo', $tenant)
|
||||
->with(['featuredVariants' => function ($query) {
|
||||
->with(['groupItems' => function ($query) {
|
||||
$query->orderBy('order');
|
||||
}, 'featuredVariants.variant.product', 'featuredVariants.variant.attachments', 'featuredVariants.variant.product.attachments'])
|
||||
}, 'groupItems.variant.product', 'groupItems.variant.attachments', 'groupItems.variant.product.attachments'])
|
||||
->orderBy('group_order')
|
||||
->get();
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ class FeaturedGroupController extends Controller
|
|||
public function show(string $tenant, FeaturedGroup $featuredGroup): FeaturedGroupResource
|
||||
{
|
||||
abort_if($featuredGroup->tenant_codigo !== $tenant, 404);
|
||||
return new FeaturedGroupResource($featuredGroup->load('featuredVariants'));
|
||||
return new FeaturedGroupResource($featuredGroup->load('groupItems'));
|
||||
}
|
||||
|
||||
public function update(UpdateFeaturedGroupRequest $request, string $tenant, FeaturedGroup $featuredGroup): FeaturedGroupResource
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
namespace App\Domains\Catalog\Controllers;
|
||||
|
||||
use App\Domains\Catalog\Models\FeaturedGroup;
|
||||
use App\Domains\Catalog\Models\FeaturedVariant;
|
||||
use App\Domains\Catalog\Models\GroupItem;
|
||||
use App\Domains\Catalog\Requests\StoreFeaturedVariantRequest;
|
||||
use App\Domains\Catalog\Requests\UpdateFeaturedVariantRequest;
|
||||
use App\Domains\Catalog\Resources\FeaturedVariantResource;
|
||||
|
|
@ -16,24 +16,24 @@ class FeaturedVariantController extends Controller
|
|||
public function index(string $tenant, FeaturedGroup $featuredGroup): AnonymousResourceCollection
|
||||
{
|
||||
abort_if($featuredGroup->tenant_codigo !== $tenant, 404);
|
||||
return FeaturedVariantResource::collection($featuredGroup->featuredVariants);
|
||||
return FeaturedVariantResource::collection($featuredGroup->groupItems);
|
||||
}
|
||||
|
||||
public function store(StoreFeaturedVariantRequest $request, string $tenant, FeaturedGroup $featuredGroup): FeaturedVariantResource
|
||||
{
|
||||
abort_if($featuredGroup->tenant_codigo !== $tenant, 404);
|
||||
$variant = $featuredGroup->featuredVariants()->create($request->validated());
|
||||
$variant = $featuredGroup->groupItems()->create($request->validated());
|
||||
return new FeaturedVariantResource($variant);
|
||||
}
|
||||
|
||||
public function update(UpdateFeaturedVariantRequest $request, string $tenant, FeaturedGroup $featuredGroup, FeaturedVariant $featuredVariant): FeaturedVariantResource
|
||||
public function update(UpdateFeaturedVariantRequest $request, string $tenant, FeaturedGroup $featuredGroup, GroupItem $featuredVariant): FeaturedVariantResource
|
||||
{
|
||||
abort_if($featuredGroup->tenant_codigo !== $tenant || $featuredVariant->featured_group_id !== $featuredGroup->id, 404);
|
||||
$featuredVariant->update($request->validated());
|
||||
return new FeaturedVariantResource($featuredVariant);
|
||||
}
|
||||
|
||||
public function destroy(string $tenant, FeaturedGroup $featuredGroup, FeaturedVariant $featuredVariant): JsonResponse
|
||||
public function destroy(string $tenant, FeaturedGroup $featuredGroup, GroupItem $featuredVariant): JsonResponse
|
||||
{
|
||||
abort_if($featuredGroup->tenant_codigo !== $tenant || $featuredVariant->featured_group_id !== $featuredGroup->id, 404);
|
||||
$featuredVariant->delete();
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ class FeaturedGroup extends Model
|
|||
'group_order',
|
||||
];
|
||||
|
||||
public function featuredVariants(): HasMany
|
||||
public function groupItems(): HasMany
|
||||
{
|
||||
return $this->hasMany(FeaturedVariant::class);
|
||||
return $this->hasMany(GroupItem::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,12 @@
|
|||
|
||||
namespace App\Domains\Catalog\Models;
|
||||
|
||||
use App\Domains\Catalog\Models\ProductVariant;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class FeaturedVariant extends Model
|
||||
class GroupItem extends Model
|
||||
{
|
||||
protected $table = 'featured_variants';
|
||||
protected $table = 'group_items';
|
||||
|
||||
protected $fillable = [
|
||||
'featured_group_id',
|
||||
|
|
@ -4,7 +4,7 @@ namespace App\Domains\Catalog\Resources;
|
|||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use App\Domains\Catalog\Models\FeaturedVariant;
|
||||
use App\Domains\Catalog\Models\GroupItem;
|
||||
|
||||
class CatalogFeaturedGroupResource extends JsonResource
|
||||
{
|
||||
|
|
@ -15,9 +15,9 @@ class CatalogFeaturedGroupResource extends JsonResource
|
|||
'title' => $this->group_name,
|
||||
'layout' => $this->product_layout,
|
||||
'group_order' => $this->group_order,
|
||||
'items' => $this->whenLoaded('featuredVariants', function () use ($request) {
|
||||
return $this->featuredVariants->map(function (FeaturedVariant $featuredVariant) use ($request) {
|
||||
$variant = $featuredVariant->variant;
|
||||
'items' => $this->whenLoaded('groupItems', function () use ($request) {
|
||||
return $this->groupItems->map(function (GroupItem $groupItem) use ($request) {
|
||||
$variant = $groupItem->variant;
|
||||
$variantResource = (new ProductVariantResource($variant))->toArray($request);
|
||||
|
||||
if ($this->product_layout === 'row' || $this->product_layout === 'column_with_cart' || $this->product_layout === 'vertical_with_cart') {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class FeaturedGroupResource extends JsonResource
|
|||
'group_name' => $this->group_name,
|
||||
'product_layout' => $this->product_layout,
|
||||
'group_order' => $this->group_order,
|
||||
'featured_variants' => FeaturedVariantResource::collection($this->whenLoaded('featuredVariants')),
|
||||
'featured_variants' => FeaturedVariantResource::collection($this->whenLoaded('groupItems')),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::rename('featured_variants', 'group_items');
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::rename('group_items', 'featured_variants');
|
||||
}
|
||||
};
|
||||
Loading…
Reference in New Issue