Completed
Push — master ( 814073...4a1646 )
by Yaro
10:23 queued 02:16
created

Jarboe::crud()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 22

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 20
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 22
ccs 20
cts 20
cp 1
rs 9.568
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 1
1
<?php
2
3
namespace Yaro\Jarboe;
4
5
use Illuminate\Support\Facades\Route;
6
use Yaro\Jarboe\Table\CRUD;
7
8
class Jarboe
9
{
10 524
    public function crud($uri, $controller)
11
    {
12 524
        $delimiter = CRUD::BASE_URL_DELIMITER;
13 524
        $uri = rtrim($uri, '/');
14
15 524
        Route::get($uri, $controller .'@list');
16 524
        Route::post($uri . $delimiter .'search', $controller .'@search');
17 524
        Route::post($uri . $delimiter .'search/relation', $controller .'@searchRelation');
18 524
        Route::post($uri . $delimiter .'inline', $controller .'@inline');
19 524
        Route::get($uri . $delimiter .'reorder/switch', $controller .'@switchSortable');
20 524
        Route::post($uri . $delimiter .'reorder/move/{id}', $controller .'@moveItem');
21 524
        Route::get($uri . $delimiter .'per-page/{per_page}', $controller .'@perPage');
22 524
        Route::get($uri . $delimiter .'order/{column}/{direction}', $controller .'@orderBy');
23 524
        Route::get($uri . $delimiter .'create', $controller .'@create');
24 524
        Route::post($uri . $delimiter .'create', $controller .'@store');
25 524
        Route::get($uri . $delimiter .'{id}', $controller .'@edit');
26 524
        Route::post($uri . $delimiter .'{id}', $controller .'@update');
27 524
        Route::post($uri . $delimiter .'{id}/delete', $controller .'@delete');
28 524
        Route::post($uri . $delimiter .'{id}/restore', $controller .'@restore');
29 524
        Route::post($uri . $delimiter .'{id}/force-delete', $controller .'@forceDelete');
30 524
        Route::any($uri . $delimiter .'toolbar/{toolbar}', $controller .'@toolbar');
31 524
    }
32
33 524
    public function routeGroupOptions(bool $availableForGuest = false): array
34
    {
35 524
        $middleware = $availableForGuest ? 'web' : 'jarboe';
36 524
        $isSubdomainBasedPanel = config('jarboe.admin_panel.subdomain_panel_enabled', false);
37
38
        $options = [
39 524
            'middleware' => $middleware,
40
        ];
41 524
        if ($isSubdomainBasedPanel) {
42
            $options['domain'] = config('jarboe.admin_panel.domain');
43
        } else {
44 524
            $options['prefix'] = config('jarboe.admin_panel.prefix');
45
        }
46
47 524
        return $options;
48
    }
49
}
50