File: D:/HostingSpaces/SBogers95/rentman.io/app/Komma/Integrations/IntegrationRoutes.php
<?php
namespace App\Komma\Integrations;
use App\Komma\Integrations\Kms\IntegrationController as KmsIntegrationController;
use App\Komma\Integrations\Models\Integration;
use Illuminate\Support\Facades\Route;
final class IntegrationRoutes
{
/**
* Route that are resolved from the Alias route to Rest Route by the AliasMiddleware.
* Through the controller the models will be bind by Implicit Route Model Binding,
* so no need to add Route::model in here.
*/
public static function get()
{
Route::resource('integrations', IntegrationController::class, [
'only' => [
'index',
'show',
],
]);
}
/**
* Routes that are used for and within the KMS
* Will be prefixed with 'kms' by the Route::group in the RouteResolver
*
* Note: Within the group we use the Explicit Route Model Binding to point to a Integration
* This is because we use a global controller to resolve the model
*/
public static function kms()
{
Route::model('integration', Integration::class); //Explicit route model binding
Route::resource('{siteSlug}/integrations', KmsIntegrationController::class);
Route::get('api/{siteSlug}/integrations', KmsIntegrationController::class.'@getStructureAsJson');
Route::post('api/{siteSlug}/integrations', KmsIntegrationController::class.'@setStructureAsJson');
Route::post('integrations/{integration}/freshness', KmsIntegrationController::class.'@freshness');
}
}