refactor(backend): reorganize domains into Core, Commerce, Ticketing and Shared

This commit is contained in:
2026-09-18 10:15:57 -03:00
parent 1241e1f7e8
commit 1e67d27a90
563 changed files with 2302 additions and 2230 deletions

View File

@@ -1,17 +1,17 @@
<?php
namespace App\Domains\Purchase\Controllers;
namespace App\Domains\Commerce\Purchase\Controllers;
use App\Domains\Integration\Services\TelepagosIntegrationService;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Requests\PaymentIntentRequest;
use App\Domains\Purchase\Requests\StartCheckoutRequest;
use App\Domains\Purchase\Requests\UpdatePurchaseCustomerRequest;
use App\Domains\Purchase\Resources\PurchaseResource;
use App\Domains\Purchase\Services\Checkout\PurchaseResponseLoader;
use App\Domains\Purchase\Services\CheckoutService;
use App\Domains\Purchase\Services\PurchaseStateGuard;
use App\Domains\Tenant\Models\Tenant;
use App\Shared\Integration\Services\TelepagosIntegrationService;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Requests\PaymentIntentRequest;
use App\Domains\Commerce\Purchase\Requests\StartCheckoutRequest;
use App\Domains\Commerce\Purchase\Requests\UpdatePurchaseCustomerRequest;
use App\Domains\Commerce\Purchase\Resources\PurchaseResource;
use App\Domains\Commerce\Purchase\Services\Checkout\PurchaseResponseLoader;
use App\Domains\Commerce\Purchase\Services\CheckoutService;
use App\Domains\Commerce\Purchase\Services\PurchaseStateGuard;
use App\Domains\Core\Tenant\Models\Tenant;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Events;
namespace App\Domains\Commerce\Purchase\Events;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Exceptions;
namespace App\Domains\Commerce\Purchase\Exceptions;
use RuntimeException;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Exceptions;
namespace App\Domains\Commerce\Purchase\Exceptions;
use RuntimeException;

View File

@@ -1,8 +1,8 @@
<?php
namespace App\Domains\Purchase\Exceptions;
namespace App\Domains\Commerce\Purchase\Exceptions;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use Illuminate\Validation\ValidationException;
class PurchaseLimitExceededException extends ValidationException

View File

@@ -1,14 +1,14 @@
<?php
namespace App\Domains\Purchase\Models;
namespace App\Domains\Commerce\Purchase\Models;
use App\Domains\Auth\Models\User;
use App\Domains\Cart\Models\Cart;
use App\Domains\Catalog\Models\StockReservation;
use App\Domains\Logging\Models\Concerns\LogsValueChanges;
use App\Domains\Purchase\Events\PurchasePaid;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Ticket\Models\Ticket;
use App\Domains\Core\Auth\Models\User;
use App\Domains\Commerce\Cart\Models\Cart;
use App\Domains\Commerce\Catalog\Models\StockReservation;
use App\Shared\Logging\Models\Concerns\LogsValueChanges;
use App\Domains\Commerce\Purchase\Events\PurchasePaid;
use App\Domains\Core\Tenant\Models\Tenant;
use App\Domains\Ticketing\Ticket\Models\Ticket;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

View File

@@ -1,12 +1,12 @@
<?php
namespace App\Domains\Purchase\Models;
namespace App\Domains\Commerce\Purchase\Models;
use App\Domains\Attachable\Models\Attachment;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\Variant;
use App\Domains\Ticket\Models\Ticket;
use App\Domains\Ticket\Models\TicketRefund;
use App\Shared\Attachable\Models\Attachment;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Catalog\Models\Variant;
use App\Domains\Ticketing\Ticket\Models\Ticket;
use App\Domains\Ticketing\Ticket\Models\TicketRefund;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Models;
namespace App\Domains\Commerce\Purchase\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Models;
namespace App\Domains\Commerce\Purchase\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Model;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Models;
namespace App\Domains\Commerce\Purchase\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Requests;
namespace App\Domains\Commerce\Purchase\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Requests;
namespace App\Domains\Commerce\Purchase\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;

View File

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

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Domains\Purchase\Resources;
namespace App\Domains\Commerce\Purchase\Resources;
use App\Domains\Purchase\Models\PurchaseItem;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Commerce\Purchase\Models\PurchaseItem;
use App\Domains\Core\Tenant\Models\Tenant;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

View File

@@ -1,10 +1,10 @@
<?php
namespace App\Domains\Purchase\Resources;
namespace App\Domains\Commerce\Purchase\Resources;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Models\PurchaseItem;
use App\Domains\Purchase\Models\TelepagosPaymentCandidate;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Models\PurchaseItem;
use App\Domains\Commerce\Purchase\Models\TelepagosPaymentCandidate;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

View File

@@ -1,11 +1,11 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\Inventory;
use App\Domains\Catalog\Models\Variant;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Catalog\Models\Inventory;
use App\Domains\Commerce\Catalog\Models\Variant;
use App\Domains\Core\Tenant\Models\Tenant;
use Illuminate\Validation\ValidationException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

View File

@@ -1,11 +1,11 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Cart\Models\CartItem;
use App\Domains\Catalog\Services\StockReservationService;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Services\PurchaseStateGuard;
use App\Domains\Commerce\Cart\Models\CartItem;
use App\Domains\Commerce\Catalog\Services\StockReservationService;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Services\PurchaseStateGuard;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\ValidationException;

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Services\PurchaseStateGuard;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Services\PurchaseStateGuard;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\ValidationException;

View File

@@ -1,10 +1,10 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Catalog\Enums\InventorySubject;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\Variant;
use App\Domains\Commerce\Catalog\Enums\InventorySubject;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Catalog\Models\Variant;
class InsufficientStockMessageBuilder
{

View File

@@ -1,10 +1,10 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Attachable\Models\Attachment;
use App\Domains\Cart\Models\CartItem;
use App\Domains\Catalog\Models\Variant;
use App\Shared\Attachable\Models\Attachment;
use App\Domains\Commerce\Cart\Models\CartItem;
use App\Domains\Commerce\Catalog\Models\Variant;
use Illuminate\Support\Collection;
class PurchaseItemSnapshotFactory

View File

@@ -1,8 +1,8 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Models\Purchase;
class PurchaseResponseLoader
{

View File

@@ -1,13 +1,13 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Cart\Models\Cart;
use App\Domains\Cart\Models\CartItem;
use App\Domains\Catalog\Models\StockReservation;
use App\Domains\Catalog\Services\StockReservationService;
use App\Domains\Purchase\Exceptions\PurchaseExpiredException;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Commerce\Cart\Models\Cart;
use App\Domains\Commerce\Cart\Models\CartItem;
use App\Domains\Commerce\Catalog\Models\StockReservation;
use App\Domains\Commerce\Catalog\Services\StockReservationService;
use App\Domains\Commerce\Purchase\Exceptions\PurchaseExpiredException;
use App\Domains\Commerce\Purchase\Models\Purchase;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\ValidationException;

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Cart\Models\Cart;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Commerce\Cart\Models\Cart;
use App\Domains\Commerce\Purchase\Models\Purchase;
class SourceCartService
{

View File

@@ -1,19 +1,19 @@
<?php
namespace App\Domains\Purchase\Services\Checkout;
namespace App\Domains\Commerce\Purchase\Services\Checkout;
use App\Domains\Cart\Models\Cart;
use App\Domains\Cart\Models\CartItem;
use App\Domains\Cart\Services\CartVariantReplacementService;
use App\Domains\Catalog\Exceptions\StockReservationExpiredException;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\Variant;
use App\Domains\Catalog\Services\CatalogInventoryService;
use App\Domains\Catalog\Services\StockReservationService;
use App\Domains\Purchase\Exceptions\InsufficientStockException;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Services\UserPurchaseLimitService;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Commerce\Cart\Models\Cart;
use App\Domains\Commerce\Cart\Models\CartItem;
use App\Domains\Commerce\Cart\Services\CartVariantReplacementService;
use App\Domains\Commerce\Catalog\Exceptions\StockReservationExpiredException;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Catalog\Models\Variant;
use App\Domains\Commerce\Catalog\Services\CatalogInventoryService;
use App\Domains\Commerce\Catalog\Services\StockReservationService;
use App\Domains\Commerce\Purchase\Exceptions\InsufficientStockException;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Services\UserPurchaseLimitService;
use App\Domains\Core\Tenant\Models\Tenant;
use Illuminate\Support\Carbon;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

View File

@@ -1,13 +1,13 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Services\Checkout\CompleteCheckoutService;
use App\Domains\Purchase\Services\Checkout\EditCheckoutService;
use App\Domains\Purchase\Services\Checkout\ReleaseCheckoutService;
use App\Domains\Purchase\Services\Checkout\StartCheckoutService;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Services\Checkout\CompleteCheckoutService;
use App\Domains\Commerce\Purchase\Services\Checkout\EditCheckoutService;
use App\Domains\Commerce\Purchase\Services\Checkout\ReleaseCheckoutService;
use App\Domains\Commerce\Purchase\Services\Checkout\StartCheckoutService;
use App\Domains\Core\Tenant\Models\Tenant;
use Illuminate\Support\Facades\DB;
/**

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
/**
* Measures likely DNI typing errors using the optimal-string-alignment

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
use App\Domains\Tenant\Models\Tenant;
use App\Domains\Ticket\Models\TicketRefund;
use App\Domains\Core\Tenant\Models\Tenant;
use App\Domains\Ticketing\Ticket\Models\TicketRefund;
use Illuminate\Database\Eloquent\Builder;
class PurchaseRefundSummaryService

View File

@@ -1,11 +1,11 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
use App\Domains\Cart\Models\Cart;
use App\Domains\Catalog\Models\StockReservation;
use App\Domains\Purchase\Exceptions\PurchaseExpiredException;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Commerce\Cart\Models\Cart;
use App\Domains\Commerce\Catalog\Models\StockReservation;
use App\Domains\Commerce\Purchase\Exceptions\PurchaseExpiredException;
use App\Domains\Commerce\Purchase\Models\Purchase;
use Illuminate\Validation\ValidationException;
class PurchaseStateGuard

View File

@@ -1,8 +1,8 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Models\Purchase;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

View File

@@ -1,12 +1,12 @@
<?php
namespace App\Domains\Purchase\Services;
namespace App\Domains\Commerce\Purchase\Services;
use App\Domains\Cart\Models\CartItem;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Purchase\Exceptions\PurchaseLimitExceededException;
use App\Domains\Purchase\Models\Purchase;
use App\Domains\Purchase\Models\PurchaseItem;
use App\Domains\Commerce\Cart\Models\CartItem;
use App\Domains\Commerce\Catalog\Models\CatalogItem;
use App\Domains\Commerce\Purchase\Exceptions\PurchaseLimitExceededException;
use App\Domains\Commerce\Purchase\Models\Purchase;
use App\Domains\Commerce\Purchase\Models\PurchaseItem;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

View File

@@ -1,6 +1,6 @@
<?php
use App\Domains\Purchase\Controllers\PurchaseController;
use App\Domains\Commerce\Purchase\Controllers\PurchaseController;
use Illuminate\Support\Facades\Route;
Route::prefix('tenants/{tenant:codigo}')->middleware('auth:sanctum')->group(function (): void {