45 lines
2.5 KiB
PHP
45 lines
2.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Modules\Helpdesk\Http\Controllers\AttachmentDownloadController;
|
|
use Modules\Helpdesk\Http\Controllers\HelpdeskController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketControlsController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketCommentDeleteController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketCommentStoreController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketAttachmentStoreController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketStoreController;
|
|
use Modules\Helpdesk\Http\Controllers\TicketTimeLogController;
|
|
use Modules\Helpdesk\Http\Controllers\WorkflowOpenController;
|
|
use Modules\Helpdesk\Livewire\KanbanBoard;
|
|
use Modules\Helpdesk\Livewire\SettingsManager;
|
|
use Modules\Helpdesk\Livewire\TicketCreate;
|
|
use Modules\Helpdesk\Livewire\TicketEdit;
|
|
use Modules\Helpdesk\Livewire\TicketIndex;
|
|
use Modules\Helpdesk\Livewire\TicketShow;
|
|
|
|
Route::get('/workflow/open/{token}', WorkflowOpenController::class)->name('workflow.open');
|
|
|
|
Route::get('/', HelpdeskController::class)->name('index');
|
|
|
|
Route::get('/settings', SettingsManager::class)->name('settings');
|
|
Route::get('/kanban', KanbanBoard::class)->name('kanban');
|
|
|
|
Route::get('/tickets', TicketIndex::class)->name('tickets.index');
|
|
Route::post('/tickets', TicketStoreController::class)->name('tickets.store');
|
|
Route::get('/tickets/create', TicketCreate::class)->name('tickets.create');
|
|
Route::get('/tickets/{ticket}/edit', TicketEdit::class)->name('tickets.edit');
|
|
Route::post('/tickets/{ticket}/agent', [TicketControlsController::class, 'updateAgent'])->name('tickets.agent.update');
|
|
Route::post('/tickets/{ticket}/status', [TicketControlsController::class, 'updateStatus'])->name('tickets.status.update');
|
|
Route::post('/tickets/{ticket}/priority', [TicketControlsController::class, 'updatePriority'])->name('tickets.priority.update');
|
|
Route::post('/tickets/{ticket}/comments', TicketCommentStoreController::class)->name('tickets.comments.store');
|
|
Route::post('/tickets/{ticket}/attachments', TicketAttachmentStoreController::class)->name('tickets.attachments.store');
|
|
Route::delete('/tickets/{ticket}/comments/{comment}', TicketCommentDeleteController::class)->name('tickets.comments.destroy');
|
|
Route::get('/tickets/{ticket}', TicketShow::class)->name('tickets.show');
|
|
Route::get('/attachments/{attachment}/download', AttachmentDownloadController::class)
|
|
->whereNumber('attachment')
|
|
->name('attachments.download');
|
|
Route::post('/tickets/{ticket}/time-logs', [TicketTimeLogController::class, 'store'])
|
|
->name('tickets.time-logs.store');
|