FIXING TICKET SAVE
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace Modules\Helpdesk\Services;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\UploadedFile;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\Helpdesk\Models\Comment;
|
||||
use Modules\Helpdesk\Models\Status;
|
||||
@@ -17,21 +18,32 @@ final class TicketService
|
||||
private readonly AgentAssignmentService $assignment,
|
||||
private readonly AttachmentService $attachments,
|
||||
private readonly WorkflowNotificationService $workflow,
|
||||
) {
|
||||
}
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Create a ticket and store initial attachments.
|
||||
*
|
||||
* @param User $user
|
||||
* @param array<string, mixed> $data
|
||||
* @param array<int, \Illuminate\Http\UploadedFile> $files
|
||||
* @return Ticket
|
||||
* @param array<string, mixed> $data
|
||||
* @param array<int, UploadedFile> $files
|
||||
*/
|
||||
public function create(User $user, array $data, array $files = []): Ticket
|
||||
{
|
||||
return DB::transaction(function () use ($user, $data, $files): Ticket {
|
||||
$status = Status::query()->where('slug', config('helpdesk.default_status_slug'))->firstOrFail();
|
||||
$status = Status::query()
|
||||
->where('slug', config('helpdesk.default_status_slug', 'open'))
|
||||
->first();
|
||||
|
||||
if (! $status) {
|
||||
$status = Status::query()->create([
|
||||
'name' => 'Open',
|
||||
'slug' => config('helpdesk.default_status_slug', 'open'),
|
||||
'colour' => '#2563eb',
|
||||
'sort_order' => 1,
|
||||
'is_default' => true,
|
||||
'is_closed' => false,
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
/** @var Ticket $ticket */
|
||||
$ticket = Ticket::query()->create([
|
||||
@@ -62,12 +74,7 @@ final class TicketService
|
||||
/**
|
||||
* Add a public or internal comment and optional attachments.
|
||||
*
|
||||
* @param Ticket $ticket
|
||||
* @param User $user
|
||||
* @param string $body
|
||||
* @param bool $internal
|
||||
* @param array<int, \Illuminate\Http\UploadedFile> $files
|
||||
* @return Comment
|
||||
* @param array<int, UploadedFile> $files
|
||||
*/
|
||||
public function comment(Ticket $ticket, User $user, string $body, bool $internal = false, array $files = [], ?int $parentId = null): Comment
|
||||
{
|
||||
@@ -90,10 +97,6 @@ final class TicketService
|
||||
|
||||
/**
|
||||
* Close a ticket.
|
||||
*
|
||||
* @param Ticket $ticket
|
||||
* @param User $user
|
||||
* @return Ticket
|
||||
*/
|
||||
public function close(Ticket $ticket, User $user): Ticket
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user