group(function () { Route::get('state/form/{element}', 'StateAPIController@form'); Route::resource('state', 'StateAPIController'); }); // Public routes for state Route::get('locations/', 'StatePublicController@index'); Route::get('locations/{slug?}', 'StatePublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for locations Route::prefix('{guard}/location')->group(function () { Route::get('state/form/{element}', 'StateAPIController@form'); Route::apiResource('state', 'StateAPIController'); }); // Public routes for locations Route::get('location/State', 'StatePublicController@getState'); } ); } // API routes for city Route::prefix('{guard}/location')->group(function () { Route::get('city/form/{element}', 'CityAPIController@form'); Route::resource('city', 'CityAPIController'); }); // Public routes for city Route::get('locations/', 'CityPublicController@index'); Route::get('locations/{slug?}', 'CityPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for locations Route::prefix('{guard}/location')->group(function () { Route::get('city/form/{element}', 'CityAPIController@form'); Route::apiResource('city', 'CityAPIController'); }); // Public routes for locations Route::get('location/City', 'CityPublicController@getCity'); } ); }