Adopt class based routes

This commit is contained in:
Shift
2023-01-07 20:33:11 +00:00
parent 41cb65c70c
commit 962785f858
6 changed files with 463 additions and 448 deletions

View File

@@ -1,5 +1,8 @@
<?php
use App\Http\Controllers\Common;
use Illuminate\Support\Facades\Route;
/*
* ================================================================================================
* @version v1
@@ -9,58 +12,58 @@
* @name Faveo
*/
Route::prefix('api/v1')->group(function () {
Route::post('authenticate', '\App\Api\v1\TokenAuthController@authenticate');
Route::get('authenticate/user', '\App\Api\v1\TokenAuthController@getAuthenticatedUser');
Route::get('/database-config', '\App\Api\v1\InstallerApiController@config_database')->name('database-config');
Route::get('/system-config', '\App\Api\v1\InstallerApiController@config_system')->name('database-config');
Route::post('authenticate', [\App\Api\v1\TokenAuthController::class, 'authenticate']);
Route::get('authenticate/user', [\App\Api\v1\TokenAuthController::class, 'getAuthenticatedUser']);
Route::get('/database-config', [\App\Api\v1\InstallerApiController::class, 'config_database'])->name('database-config');
Route::get('/system-config', [\App\Api\v1\InstallerApiController::class, 'config_system'])->name('database-config');
/*
* Helpdesk
*/
Route::prefix('helpdesk')->group(function () {
Route::post('create', '\App\Api\v1\ApiController@createTicket');
Route::post('reply', '\App\Api\v1\ApiController@ticketReply');
Route::post('edit', '\App\Api\v1\ApiController@editTicket');
Route::post('delete', '\App\Api\v1\ApiController@deleteTicket');
Route::post('assign', '\App\Api\v1\ApiController@assignTicket');
Route::get('open', '\App\Api\v1\ApiController@openedTickets');
Route::get('unassigned', '\App\Api\v1\ApiController@unassignedTickets');
Route::get('closed', '\App\Api\v1\ApiController@closeTickets');
Route::get('agents', '\App\Api\v1\ApiController@getAgents');
Route::get('teams', '\App\Api\v1\ApiController@getTeams');
Route::get('customers', '\App\Api\v1\ApiController@getCustomers');
Route::get('customer', '\App\Api\v1\ApiController@getCustomer');
Route::get('ticket-search', '\App\Api\v1\ApiController@searchTicket');
Route::get('ticket-thread', '\App\Api\v1\ApiController@ticketThreads');
Route::get('url', '\App\Api\v1\ApiExceptAuthController@checkUrl');
Route::get('check-url', '\App\Api\v1\ApiExceptAuthController@urlResult');
Route::get('api_key', '\App\Api\v1\ApiController@generateApiKey');
Route::get('help-topic', '\App\Api\v1\ApiController@getHelpTopic');
Route::get('sla-plan', '\App\Api\v1\ApiController@getSlaPlan');
Route::get('priority', '\App\Api\v1\ApiController@getPriority');
Route::get('department', '\App\Api\v1\ApiController@getDepartment');
Route::get('tickets', '\App\Api\v1\ApiController@getTickets');
Route::get('ticket', '\App\Api\v1\ApiController@getTicketById');
Route::get('inbox', '\App\Api\v1\ApiController@inbox');
Route::get('trash', '\App\Api\v1\ApiController@getTrash');
Route::get('my-tickets-agent', '\App\Api\v1\ApiController@getMyTicketsAgent');
Route::post('internal-note', '\App\Api\v1\ApiController@internalNote');
Route::post('create', [\App\Api\v1\ApiController::class, 'createTicket']);
Route::post('reply', [\App\Api\v1\ApiController::class, 'ticketReply']);
Route::post('edit', [\App\Api\v1\ApiController::class, 'editTicket']);
Route::post('delete', [\App\Api\v1\ApiController::class, 'deleteTicket']);
Route::post('assign', [\App\Api\v1\ApiController::class, 'assignTicket']);
Route::get('open', [\App\Api\v1\ApiController::class, 'openedTickets']);
Route::get('unassigned', [\App\Api\v1\ApiController::class, 'unassignedTickets']);
Route::get('closed', [\App\Api\v1\ApiController::class, 'closeTickets']);
Route::get('agents', [\App\Api\v1\ApiController::class, 'getAgents']);
Route::get('teams', [\App\Api\v1\ApiController::class, 'getTeams']);
Route::get('customers', [\App\Api\v1\ApiController::class, 'getCustomers']);
Route::get('customer', [\App\Api\v1\ApiController::class, 'getCustomer']);
Route::get('ticket-search', [\App\Api\v1\ApiController::class, 'searchTicket']);
Route::get('ticket-thread', [\App\Api\v1\ApiController::class, 'ticketThreads']);
Route::get('url', [\App\Api\v1\ApiExceptAuthController::class, 'checkUrl']);
Route::get('check-url', [\App\Api\v1\ApiExceptAuthController::class, 'urlResult']);
Route::get('api_key', [\App\Api\v1\ApiController::class, 'generateApiKey']);
Route::get('help-topic', [\App\Api\v1\ApiController::class, 'getHelpTopic']);
Route::get('sla-plan', [\App\Api\v1\ApiController::class, 'getSlaPlan']);
Route::get('priority', [\App\Api\v1\ApiController::class, 'getPriority']);
Route::get('department', [\App\Api\v1\ApiController::class, 'getDepartment']);
Route::get('tickets', [\App\Api\v1\ApiController::class, 'getTickets']);
Route::get('ticket', [\App\Api\v1\ApiController::class, 'getTicketById']);
Route::get('inbox', [\App\Api\v1\ApiController::class, 'inbox']);
Route::get('trash', [\App\Api\v1\ApiController::class, 'getTrash']);
Route::get('my-tickets-agent', [\App\Api\v1\ApiController::class, 'getMyTicketsAgent']);
Route::post('internal-note', [\App\Api\v1\ApiController::class, 'internalNote']);
/*
* Newly added
*/
Route::get('customers-custom', '\App\Api\v1\ApiController@getCustomersWith');
Route::get('collaborator/search', '\App\Api\v1\ApiController@collaboratorSearch');
Route::post('collaborator/create', '\App\Api\v1\ApiController@addCollaboratorForTicket');
Route::post('collaborator/remove', '\App\Api\v1\ApiController@deleteCollaborator');
Route::post('collaborator/get-ticket', '\App\Api\v1\ApiController@getCollaboratorForTicket');
Route::get('my-tickets-user', '\App\Api\v1\ApiController@getMyTicketsUser');
Route::get('dependency', '\App\Api\v1\ApiController@dependency');
Route::post('register', '\App\Api\v1\ApiController@createUser');
Route::get('customers-custom', [\App\Api\v1\ApiController::class, 'getCustomersWith']);
Route::get('collaborator/search', [\App\Api\v1\ApiController::class, 'collaboratorSearch']);
Route::post('collaborator/create', [\App\Api\v1\ApiController::class, 'addCollaboratorForTicket']);
Route::post('collaborator/remove', [\App\Api\v1\ApiController::class, 'deleteCollaborator']);
Route::post('collaborator/get-ticket', [\App\Api\v1\ApiController::class, 'getCollaboratorForTicket']);
Route::get('my-tickets-user', [\App\Api\v1\ApiController::class, 'getMyTicketsUser']);
Route::get('dependency', [\App\Api\v1\ApiController::class, 'dependency']);
Route::post('register', [\App\Api\v1\ApiController::class, 'createUser']);
});
/*
* FCM token response
*/
Route::post('fcmtoken', 'Common\PushNotificationController@fcmToken')->name('fcmtoken');
Route::post('fcmtoken', [Common\PushNotificationController::class, 'fcmToken'])->name('fcmtoken');
});
/*
* ================================================================================================
@@ -75,6 +78,6 @@
* Helpdesk
*/
Route::prefix('helpdesk')->group(function () {
Route::get('tickets', '\App\Api\v2\TicketController@getTickets');
Route::get('tickets', [\App\Api\v2\TicketController::class, 'getTickets']);
});
});

View File

@@ -1,9 +1,12 @@
<?php
use App\Http\Controllers\App;
use Illuminate\Support\Facades\Route;
Breadcrumbs::register('logs', function ($breadcrumbs) {
$breadcrumbs->parent('setting');
$breadcrumbs->push('System Logs', route('logs'));
});
Route::middleware('web', 'auth', 'roles')->group(function () {
Route::get('logs', 'App\FaveoLog\controllers\LogViewerController@index')->name('logs');
Route::get('logs', [App\FaveoLog\controllers\LogViewerController::class, 'index'])->name('logs');
});

View File

@@ -1,12 +1,15 @@
<?php
use App\Http\Controllers\App;
use Illuminate\Support\Facades\Route;
\Event::listen('settings.system', function () {
$controller = new \App\FaveoStorage\Controllers\SettingsController();
echo $controller->settingsIcon();
});
Route::middleware('web')->group(function () {
Route::get('storage', 'App\FaveoStorage\Controllers\SettingsController@settings')->name('storage');
Route::post('storage', 'App\FaveoStorage\Controllers\SettingsController@postSettings')->name('post.storage');
Route::get('attachment', 'App\FaveoStorage\Controllers\SettingsController@attachment')->name('attach');
Route::get('storage', [App\FaveoStorage\Controllers\SettingsController::class, 'settings'])->name('storage');
Route::post('storage', [App\FaveoStorage\Controllers\SettingsController::class, 'postSettings'])->name('post.storage');
Route::get('attachment', [App\FaveoStorage\Controllers\SettingsController::class, 'attachment'])->name('attach');
});

View File

@@ -10,15 +10,6 @@ use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* The path to the "home" route for your application.
*
@@ -55,7 +46,7 @@ class RouteServiceProvider extends ServiceProvider
*/
protected function mapWebRoutes()
{
Route::middleware('web')->namespace($this->namespace)->group(function ($router) {
Route::middleware('web')->group(function ($router) {
require base_path('routes/web.php');
});
}
@@ -69,7 +60,7 @@ class RouteServiceProvider extends ServiceProvider
*/
protected function mapApiRoutes()
{
Route::middleware('api')->namespace($this->namespace)->prefix('api')->group(function ($router) {
Route::middleware('api')->prefix('api')->group(function ($router) {
require base_path('routes/api.php');
});
}
@@ -83,7 +74,7 @@ class RouteServiceProvider extends ServiceProvider
*/
protected function mapInstallerRoutes()
{
Route::middleware('web', 'installer')->namespace($this->namespace)->group(function ($router) {
Route::middleware('web', 'installer')->group(function ($router) {
require base_path('routes/installer.php');
});
}
@@ -97,7 +88,7 @@ class RouteServiceProvider extends ServiceProvider
*/
protected function mapUpdateRoutes()
{
Route::middleware('web', 'redirect', 'install')->namespace($this->namespace)->prefix('app/update')->group(function ($router) {
Route::middleware('web', 'redirect', 'install')->prefix('app/update')->group(function ($router) {
require base_path('routes/update.php');
});
}