diff --git a/app/Domains/Catalog/Controllers/CatalogController.php b/app/Domains/Catalog/Controllers/CatalogController.php index 86bda9b..9f61e6a 100644 --- a/app/Domains/Catalog/Controllers/CatalogController.php +++ b/app/Domains/Catalog/Controllers/CatalogController.php @@ -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(); diff --git a/app/Domains/Catalog/Controllers/FeaturedGroupController.php b/app/Domains/Catalog/Controllers/FeaturedGroupController.php index ba634ef..2ada6ef 100644 --- a/app/Domains/Catalog/Controllers/FeaturedGroupController.php +++ b/app/Domains/Catalog/Controllers/FeaturedGroupController.php @@ -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 diff --git a/app/Domains/Catalog/Controllers/FeaturedVariantController.php b/app/Domains/Catalog/Controllers/FeaturedVariantController.php index c8becbe..9c2ee8c 100644 --- a/app/Domains/Catalog/Controllers/FeaturedVariantController.php +++ b/app/Domains/Catalog/Controllers/FeaturedVariantController.php @@ -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(); diff --git a/app/Domains/Catalog/Models/FeaturedGroup.php b/app/Domains/Catalog/Models/FeaturedGroup.php index eb10365..0220d30 100644 --- a/app/Domains/Catalog/Models/FeaturedGroup.php +++ b/app/Domains/Catalog/Models/FeaturedGroup.php @@ -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); } } diff --git a/app/Domains/Catalog/Models/FeaturedVariant.php b/app/Domains/Catalog/Models/GroupItem.php similarity index 79% rename from app/Domains/Catalog/Models/FeaturedVariant.php rename to app/Domains/Catalog/Models/GroupItem.php index b74fa21..987a9c7 100644 --- a/app/Domains/Catalog/Models/FeaturedVariant.php +++ b/app/Domains/Catalog/Models/GroupItem.php @@ -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', diff --git a/app/Domains/Catalog/Resources/CatalogFeaturedGroupResource.php b/app/Domains/Catalog/Resources/CatalogFeaturedGroupResource.php index eedb76d..bdd75f3 100644 --- a/app/Domains/Catalog/Resources/CatalogFeaturedGroupResource.php +++ b/app/Domains/Catalog/Resources/CatalogFeaturedGroupResource.php @@ -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') { diff --git a/app/Domains/Catalog/Resources/FeaturedGroupResource.php b/app/Domains/Catalog/Resources/FeaturedGroupResource.php index 2e925a5..d43a72a 100644 --- a/app/Domains/Catalog/Resources/FeaturedGroupResource.php +++ b/app/Domains/Catalog/Resources/FeaturedGroupResource.php @@ -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')), ]; } } diff --git a/database/migrations/2026_07_17_000000_rename_featured_variants_to_group_items.php b/database/migrations/2026_07_17_000000_rename_featured_variants_to_group_items.php new file mode 100644 index 0000000..4f8b52d --- /dev/null +++ b/database/migrations/2026_07_17_000000_rename_featured_variants_to_group_items.php @@ -0,0 +1,23 @@ +