- Added database migrations for tickets, statuses, roles, users, and related associations. - Introduced models and enums for ticket status, permissions, and notifications. - Implemented `TicketService` for ticket management and notification handling. - Created Livewire form and UI for raising tickets with file attachments and routing options. - Added tests covering ticket creation, validation, notifications, and file uploads.
24 lines
590 B
PHP
24 lines
590 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Data\Ticket;
|
|
|
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
|
use Spatie\LaravelData\Data;
|
|
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
|
|
|
#[MapOutputName(SnakeCaseMapper::class)]
|
|
class CreateTicketRequest extends Data
|
|
{
|
|
public function __construct(
|
|
public int $userId,
|
|
public ?int $connectedAppId,
|
|
public string $issueCategory,
|
|
public ?string $description = null,
|
|
public array $notifiedRoleIds = [],
|
|
public array $notifiedUserIds = [],
|
|
public mixed $attachment = null,
|
|
) {}
|
|
}
|