feat: implement FeaturedGroup and FeaturedVariant controllers, models, requests, resources, and routes for managing featured groups and variants

This commit is contained in:
ncoronel 2026-07-14 14:58:28 -03:00
parent c2efec8906
commit 13bdb436ed
15 changed files with 33 additions and 39 deletions

View File

@ -3,7 +3,7 @@
namespace App\Domains\Catalog\Controllers;
use App\Domains\Catalog\Resources\CatalogFeaturedGroupResource;
use App\Domains\Product\Models\FeaturedGroup;
use App\Domains\Catalog\Models\FeaturedGroup;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Routing\Controller;

View File

@ -1,12 +1,12 @@
<?php
namespace App\Domains\Product\Controllers;
namespace App\Domains\Catalog\Controllers;
use App\Domains\Product\Models\FeaturedGroup;
use App\Domains\Product\Requests\StoreFeaturedGroupRequest;
use App\Domains\Product\Requests\UpdateFeaturedGroupRequest;
use App\Domains\Product\Resources\FeaturedGroupResource;
use App\Domains\Product\Services\FeaturedGroupService;
use App\Domains\Catalog\Models\FeaturedGroup;
use App\Domains\Catalog\Requests\StoreFeaturedGroupRequest;
use App\Domains\Catalog\Requests\UpdateFeaturedGroupRequest;
use App\Domains\Catalog\Resources\FeaturedGroupResource;
use App\Domains\Catalog\Services\FeaturedGroupService;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Routing\Controller;
use Illuminate\Http\JsonResponse;

View File

@ -1,12 +1,12 @@
<?php
namespace App\Domains\Product\Controllers;
namespace App\Domains\Catalog\Controllers;
use App\Domains\Product\Models\FeaturedGroup;
use App\Domains\Product\Models\FeaturedVariant;
use App\Domains\Product\Requests\StoreFeaturedVariantRequest;
use App\Domains\Product\Requests\UpdateFeaturedVariantRequest;
use App\Domains\Product\Resources\FeaturedVariantResource;
use App\Domains\Catalog\Models\FeaturedGroup;
use App\Domains\Catalog\Models\FeaturedVariant;
use App\Domains\Catalog\Requests\StoreFeaturedVariantRequest;
use App\Domains\Catalog\Requests\UpdateFeaturedVariantRequest;
use App\Domains\Catalog\Resources\FeaturedVariantResource;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Routing\Controller;
use Illuminate\Http\JsonResponse;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Models;
namespace App\Domains\Catalog\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Models;
namespace App\Domains\Catalog\Models;
use App\Domains\Catalog\Models\ProductVariant;
use Illuminate\Database\Eloquent\Model;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Requests;
namespace App\Domains\Catalog\Requests;
use Illuminate\Foundation\Http\FormRequest;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Requests;
namespace App\Domains\Catalog\Requests;
use Illuminate\Foundation\Http\FormRequest;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Requests;
namespace App\Domains\Catalog\Requests;
use Illuminate\Foundation\Http\FormRequest;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Requests;
namespace App\Domains\Catalog\Requests;
use Illuminate\Foundation\Http\FormRequest;

View File

@ -4,7 +4,7 @@ namespace App\Domains\Catalog\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Domains\Product\Models\FeaturedVariant;
use App\Domains\Catalog\Models\FeaturedVariant;
class CatalogFeaturedGroupResource extends JsonResource
{

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Resources;
namespace App\Domains\Catalog\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

View File

@ -1,6 +1,6 @@
<?php
namespace App\Domains\Product\Resources;
namespace App\Domains\Catalog\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

View File

@ -1,8 +1,8 @@
<?php
namespace App\Domains\Product\Services;
namespace App\Domains\Catalog\Services;
use App\Domains\Product\Models\FeaturedGroup;
use App\Domains\Catalog\Models\FeaturedGroup;
class FeaturedGroupService
{

View File

@ -6,6 +6,8 @@ use App\Domains\Catalog\Controllers\CategoryController;
use App\Domains\Catalog\Controllers\ProductController;
use App\Domains\Catalog\Controllers\AttributeController;
use App\Domains\Catalog\Controllers\ProductVariantController;
use App\Domains\Catalog\Controllers\FeaturedGroupController;
use App\Domains\Catalog\Controllers\FeaturedVariantController;
use Illuminate\Support\Facades\Route;
Route::prefix('tenants/{tenant:codigo}')->group(function (): void {
@ -19,4 +21,11 @@ Route::prefix('tenants/{tenant:codigo}')->group(function (): void {
'productos' => 'producto',
'variants' => 'productVariant',
]);
Route::apiResource('featured-groups', FeaturedGroupController::class);
Route::apiResource('featured-groups.variants', FeaturedVariantController::class)
->only(['index', 'store', 'update', 'destroy'])
->parameters([
'featured-groups' => 'featuredGroup',
'variants' => 'featuredVariant',
]);
});

View File

@ -1,15 +0,0 @@
<?php
use App\Domains\Product\Controllers\FeaturedGroupController;
use App\Domains\Product\Controllers\FeaturedVariantController;
use Illuminate\Support\Facades\Route;
Route::prefix('tenants/{tenant:codigo}')->group(function (): void {
Route::apiResource('featured-groups', FeaturedGroupController::class);
Route::apiResource('featured-groups.variants', FeaturedVariantController::class)
->only(['index', 'store', 'update', 'destroy'])
->parameters([
'featured-groups' => 'featuredGroup',
'variants' => 'featuredVariant',
]);
});