feat(ticket): implement ticket generation service, model, and exception handling with tests
This commit is contained in:
29
app/Domains/Ticket/Exceptions/TicketGenerationException.php
Normal file
29
app/Domains/Ticket/Exceptions/TicketGenerationException.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Domains\Ticket\Exceptions;
|
||||
|
||||
use App\Domains\Catalog\Models\CatalogItem;
|
||||
use RuntimeException;
|
||||
|
||||
class TicketGenerationException extends RuntimeException
|
||||
{
|
||||
public static function invalidQuantity(): self
|
||||
{
|
||||
return new self('La cantidad de tickets a generar debe ser mayor a cero.');
|
||||
}
|
||||
|
||||
public static function emptyBundle(CatalogItem $bundle): self
|
||||
{
|
||||
return new self("El bundle {$bundle->id} no tiene componentes.");
|
||||
}
|
||||
|
||||
public static function ticketsDisabled(CatalogItem $catalogItem): self
|
||||
{
|
||||
return new self("El producto {$catalogItem->id} no tiene tickets habilitados.");
|
||||
}
|
||||
|
||||
public static function maximumUseDateReached(CatalogItem $catalogItem): self
|
||||
{
|
||||
return new self("El producto {$catalogItem->id} alcanzó su fecha máxima de uso.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user