diff --git a/app/Abstracts/Model.php b/app/Abstracts/Model.php index 285f53a54..f24fc14be 100644 --- a/app/Abstracts/Model.php +++ b/app/Abstracts/Model.php @@ -90,7 +90,7 @@ abstract class Model extends Eloquent $query->usingSearchString($search)->sortable($sort); - if ($request->expectsJson()) { + if ($request->expectsJson() && $request->isNotApi()) { return $query->get(); } diff --git a/app/Providers/Macro.php b/app/Providers/Macro.php index 74bc2773c..6da03db44 100644 --- a/app/Providers/Macro.php +++ b/app/Providers/Macro.php @@ -2,6 +2,7 @@ namespace App\Providers; +use Illuminate\Http\Request; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Str; use Illuminate\View\Factory as ViewFactory; @@ -15,6 +16,14 @@ class Macro extends ServiceProvider */ public function boot() { + Request::macro('isApi', function () { + return $this->is(config('api.subtype') . '/*'); + }); + + Request::macro('isNotApi', function () { + return !$this->isApi(); + }); + Str::macro('filename', function ($string, $separator = '-') { // Replace @ with the word 'at' $string = str_replace('@', $separator.'at'.$separator, $string); @@ -34,6 +43,7 @@ class Macro extends ServiceProvider return true; } } + return false; }); } diff --git a/app/Traits/Permissions.php b/app/Traits/Permissions.php index 91f102e70..2a7006fbe 100644 --- a/app/Traits/Permissions.php +++ b/app/Traits/Permissions.php @@ -401,7 +401,7 @@ trait Permissions return; } - $table = request()->is('api/*') ? request()->segment(2) : ''; + $table = request()->isApi() ? request()->segment(2) : ''; // Fire event to find the proper controller for common API endpoints if (in_array($table, ['contacts', 'documents', 'transactions'])) { diff --git a/app/Utilities/helpers.php b/app/Utilities/helpers.php index 59d7b0776..9656aacea 100644 --- a/app/Utilities/helpers.php +++ b/app/Utilities/helpers.php @@ -13,7 +13,7 @@ if (!function_exists('user')) { function user() { // Get user from api/web - if (request()->is('api/*')) { + if (request()->isApi()) { $user = app('Dingo\Api\Auth\Auth')->user(); } else { $user = auth()->user(); diff --git a/config/cors.php b/config/cors.php index 558369dca..884143795 100644 --- a/config/cors.php +++ b/config/cors.php @@ -15,7 +15,7 @@ return [ | */ - 'paths' => ['api/*'], + 'paths' => [env('API_SUBTYPE', 'api') . '/*'], 'allowed_methods' => ['*'],