111 lignes
4,5 Kio
PHP
111 lignes
4,5 Kio
PHP
|
<?php
|
||
|
use App\Http\Utility\routeCollector;
|
||
|
use App\Http\Utility\debug;
|
||
|
use Illuminate\Http\Request;
|
||
|
|
||
|
|
||
|
Route::get('/', function () {
|
||
|
echo 'HelloCSE Test Technique';
|
||
|
});
|
||
|
|
||
|
Route::match(['get'],'/csrf', function () {
|
||
|
return view('csrftoken');
|
||
|
});
|
||
|
|
||
|
// Documentation des routes
|
||
|
Route::match(['get'],'/webroutes', function () {
|
||
|
// if(session('user')['isSysAdmin'])
|
||
|
return view('webrouteslist');
|
||
|
|
||
|
// return ['status'=>0,'msg'=>"NOT ALLOWED"];
|
||
|
});
|
||
|
|
||
|
// Logs Reader
|
||
|
Route::match(['get'],'/logs', function () {
|
||
|
// if(session('user')['isSysAdmin'])
|
||
|
return view('logsreader');
|
||
|
|
||
|
// return ['status'=>0,'msg'=>"NOT ALLOWED"];
|
||
|
});
|
||
|
|
||
|
// Auto chargement des fichiers routes.php
|
||
|
$rC = new routeCollector();
|
||
|
$webRoutes = $rC->getRoutes('web');
|
||
|
|
||
|
|
||
|
if(is_array($webRoutes)){
|
||
|
|
||
|
foreach ($webRoutes as $api){
|
||
|
// inscription des GET
|
||
|
if (array_key_exists('get',$api) && count($api['get'])){
|
||
|
foreach ($api['get'] as $getter){
|
||
|
// le path correspondant
|
||
|
$path=$api['api'].'/'.$getter['url'];
|
||
|
// la methode et la classe publique a utiliser
|
||
|
$action=[$api['class'], $getter['method']];
|
||
|
// les paramètres à controller dans le chemin
|
||
|
$ctrls=array_key_exists('params',$getter)?$getter['params']:[];
|
||
|
// le marqueur de cette route pour la retrouver
|
||
|
$routeMarker='web|'.$api['api'].'|get|'.$getter['url'];
|
||
|
Route::get($path,$action)->where($ctrls)->middleware('routeCtrl:'.$routeMarker);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// inscription des POST
|
||
|
if (array_key_exists('post',$api) && count($api['post'])){
|
||
|
foreach ($api['post'] as $setter){
|
||
|
|
||
|
// le path correspondant
|
||
|
$path=$api['api'].'/'.$setter['url'];
|
||
|
// la methode et la classe publique a utiliser
|
||
|
|
||
|
$action=[$api['class'], $setter['method']];
|
||
|
// les paramètres à controller dans le chemin
|
||
|
$ctrls=array_key_exists('params',$setter)?$setter['params']:[];
|
||
|
// le marqueur de cette route pour la retrouver
|
||
|
$routeMarker='web|'.$api['api'].'|post|'.$setter['url'];
|
||
|
Route::post($path,$action)->where($ctrls)->middleware('routeCtrl:'.$routeMarker);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// inscription des PATCH
|
||
|
if (array_key_exists('patch',$api) && count($api['patch'])){
|
||
|
foreach ($api['patch'] as $setter){
|
||
|
|
||
|
// le path correspondant
|
||
|
$path=$api['api'].'/'.$setter['url'];
|
||
|
// la methode et la classe publique a utiliser
|
||
|
|
||
|
$action=[$api['class'], $setter['method']];
|
||
|
// les paramètres à controller dans le chemin
|
||
|
$ctrls=array_key_exists('params',$setter)?$setter['params']:[];
|
||
|
// le marqueur de cette route pour la retrouver
|
||
|
$routeMarker='web|'.$api['api'].'|patch|'.$setter['url'];
|
||
|
Route::patch($path,$action)->where($ctrls)->middleware('routeCtrl:'.$routeMarker);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// inscription des DELETE
|
||
|
if (array_key_exists('delete',$api) && count($api['delete'])){
|
||
|
foreach ($api['delete'] as $setter){
|
||
|
|
||
|
// le path correspondant
|
||
|
$path=$api['api'].'/'.$setter['url'];
|
||
|
// la methode et la classe publique a utiliser
|
||
|
|
||
|
$action=[$api['class'], $setter['method']];
|
||
|
// les paramètres à controller dans le chemin
|
||
|
$ctrls=array_key_exists('params',$setter)?$setter['params']:[];
|
||
|
// le marqueur de cette route pour la retrouver
|
||
|
$routeMarker='web|'.$api['api'].'|delete|'.$setter['url'];
|
||
|
Route::delete($path,$action)->where($ctrls)->middleware('routeCtrl:'.$routeMarker);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// FALLBACK, toujours en dernier !
|
||
|
Route::fallback(function (Request $request) {
|
||
|
$req="[{$request->method()}] {$request->fullUrl()}";
|
||
|
return ['status'=>0,'msg'=>"INEXISTING ROUTE : ".$req];
|
||
|
});
|