- also group api routes in routes/api.php

- formating inside web.php
- composer updates
This commit is contained in:
Arno Kaimbacher 2021-06-02 09:21:49 +02:00
parent 00bea6885e
commit b6338b0543
4 changed files with 155 additions and 162 deletions

View file

@ -15,54 +15,68 @@ use App\Models\Person;
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/oai', 'Oai\RequestController@identify');
Route::get('/api/persons', function () {
$request = request();
//$query = Person::query();//->with('group');
$query = Person::where('status', true);
Route::domain('tethys.at')->group(function () {
// handle sort option
//if (request()->has('sort')) {
if (null !== ($request->input('sort'))) {
// handle multisort
$sorts = explode(',', request()->sort);
foreach ($sorts as $sort) {
list($sortCol, $sortDir) = explode('|', $sort);
$query = $query->orderBy($sortCol, $sortDir);
}
} else {
$query = $query->orderBy('id', 'asc');
}
Route::match(array('GET', 'POST'), '/oai', ['as' => 'oai', 'uses' => 'Oai\RequestController@index']);
//handle filter
if ($request->exists('filter')) {
$query->where(function ($q) use ($request) {
$value = "%{$request->filter}%";
$q->where('first_name', 'like', $value)
->orWhere('last_name', 'like', $value)
->orWhere('email', 'like', $value);
});
}
$perPage = request()->has('per_page') ? (int) request()->per_page : null;
// $pagination = $query->with('address')->paginate($perPage);
$pagination = $query->paginate($perPage);
// $pagination = $query->get();
$pagination->appends([
'sort' => request()->sort,
'filter' => request()->filter,
'per_page' => request()->per_page
]);
// The headers 'Access-Control-Allow-Origin' and 'Access-Control-Allow-Methods'
// are to allow you to call this from any domain (see CORS for more info).
// This is for local testing only. You should not do this in production server,
// unless you know what it means.
return response()
->json($pagination)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET');
//Route::get('/', 'LocalizationController@index');
Route::get(
'setlocale/{lang}',
[
'as' => 'setlocale', //name()
'uses' => 'Frontend\LocalizationController@setLocale',
]
);
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/oai', 'Oai\RequestController@identify');
Route::get('/api/persons', function () {
$request = request();
//$query = Person::query();//->with('group');
$query = Person::where('status', true);
// handle sort option
//if (request()->has('sort')) {
if (null !== ($request->input('sort'))) {
// handle multisort
$sorts = explode(',', request()->sort);
foreach ($sorts as $sort) {
list($sortCol, $sortDir) = explode('|', $sort);
$query = $query->orderBy($sortCol, $sortDir);
}
} else {
$query = $query->orderBy('id', 'asc');
}
//handle filter
if ($request->exists('filter')) {
$query->where(function ($q) use ($request) {
$value = "%{$request->filter}%";
$q->where('first_name', 'like', $value)
->orWhere('last_name', 'like', $value)
->orWhere('email', 'like', $value);
});
}
$perPage = request()->has('per_page') ? (int) request()->per_page : null;
// $pagination = $query->with('address')->paginate($perPage);
$pagination = $query->paginate($perPage);
// $pagination = $query->get();
$pagination->appends([
'sort' => request()->sort,
'filter' => request()->filter,
'per_page' => request()->per_page
]);
// The headers 'Access-Control-Allow-Origin' and 'Access-Control-Allow-Methods'
// are to allow you to call this from any domain (see CORS for more info).
// This is for local testing only. You should not do this in production server,
// unless you know what it means.
return response()
->json($pagination)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET');
});
});

View file

@ -30,13 +30,12 @@ Route::group([
Route::get('/', function () {
redirect()->route('frontend.home.index');
});
});
});
// Route::group([
// 'domain' => ($base_domain|'www.tethys.at')
// ],
// ],
$appRoutes = function () {
Route::match(array('GET', 'POST'), '/oai', ['as' => 'oai', 'uses' => 'Oai\RequestController@index']);
@ -540,26 +539,6 @@ $appRoutes = function () {
]);
});
//=================================================borrow====================================================
Route::get('borrow', [
'as' => 'borrow.borrow', 'uses' => 'BorrowController@index',
]);
Route::post('borrow.post', [
'as' => 'borrow.post', 'uses' => 'BorrowController@store',
]);
Route::get('laporan', [
'as' => 'borrow.report', 'uses' => 'BorrowController@report',
]);
Route::get('pengembalian/{id}', [
'as' => 'borrow.pengembalian', 'uses' => 'BorrowController@pengembalian',
]);
Route::get('perpanjang/{id}', [
'as' => 'borrow.perpanjang', 'uses' => 'BorrowController@perpanjang',
]);
Route::get('history', [
'as' => 'borrow.history', 'uses' => 'BorrowController@histori',
]);
//====================================authentication===========================================================================
// Route::controllers([
// 'auth' => 'Auth\AuthController',
@ -583,7 +562,6 @@ $appRoutes = function () {
Route::get('refresh-csrf', function () {
return csrf_token();
});
};
Route::group(array('domain' => $base_domain), $appRoutes);