group(function () { Route::patch('vendor/actions/{action}', 'VendorActionsController'); Route::patch('vendor/action/{vendor}/{action}', 'VendorActionController'); Route::resource('vendor', 'VendorResourceController'); }); // Guard routes for contract Route::prefix('{guard}/maintenance')->group(function () { Route::get('contract/report/{report}', 'ContractReportController'); Route::patch('contract/actions/{action}', 'ContractActionsController'); Route::patch('contract/action/{contract}/{action}', 'ContractActionController'); Route::patch('contract/workflow/{contract}/{transition}', 'ContractWorkflowController'); Route::resource('contract', 'ContractResourceController'); }); // Guard routes for workorder Route::prefix('{guard}/maintenance')->group(function () { Route::get('workorder/report/{report}', 'WorkorderReportController'); Route::patch('workorder/actions/{action}', 'WorkorderActionsController'); Route::patch('workorder/action/{workorder}/{action}', 'WorkorderActionController'); Route::patch('workorder/workflow/{workorder}/{transition}', 'WorkorderWorkflowController'); Route::resource('workorder', 'WorkorderResourceController'); }); // Guard routes for proposal Route::prefix('{guard}/maintenance')->group(function () { Route::get('proposal/report/{report}', 'ProposalReportController'); Route::patch('proposal/actions/{action}', 'ProposalActionsController'); Route::patch('proposal/action/{proposal}/{action}', 'ProposalActionController'); Route::patch('proposal/workflow/{proposal}/{transition}', 'ProposalWorkflowController'); Route::resource('proposal', 'ProposalResourceController'); }); // Public routes for maintenance Route::get('maintenances/', 'MaintenancePublicController@index'); Route::get('maintenance/{slug?}', 'MaintenancePublicController@show');