Completed
Pull Request — master (#14)
by
unknown
15:13 queued 07:44
created

Jarboe::crud()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 21
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 23
ccs 21
cts 21
cp 1
rs 9.552
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 873
    public function crud($uri, $controller)
11
    {
12 873
        $delimiter = CRUD::BASE_URL_DELIMITER;
13 873
        $uri = rtrim($uri, '/');
14
15 873
        Route::get($uri, $controller .'@list');
16 873
        Route::post($uri . $delimiter .'search', $controller .'@search');
17 873
        Route::post($uri . $delimiter .'search/relation', $controller .'@searchRelation');
18 873
        Route::post($uri . $delimiter .'inline', $controller .'@inline');
19 873
        Route::get($uri . $delimiter .'reorder/switch', $controller .'@switchSortable');
20 873
        Route::post($uri . $delimiter .'reorder/move/{id}', $controller .'@moveItem');
21 873
        Route::get($uri . $delimiter .'per-page/{per_page}', $controller .'@perPage');
22 873
        Route::get($uri . $delimiter .'order/{column}/{direction}', $controller .'@orderBy');
23 873
        Route::get($uri . $delimiter .'create', $controller .'@create');
24 873
        Route::post($uri . $delimiter .'create', $controller .'@store');
25 873
        Route::get($uri . $delimiter .'{id}', $controller .'@edit');
26 873
        Route::post($uri . $delimiter .'{id}', $controller .'@update');
27 873
        Route::post($uri . $delimiter .'{id}/delete', $controller .'@delete');
28 873
        Route::post($uri . $delimiter .'{id}/restore', $controller .'@restore');
29 873
        Route::post($uri . $delimiter .'{id}/force-delete', $controller .'@forceDelete');
30 873
        Route::any($uri . $delimiter .'toolbar/{toolbar}', $controller .'@toolbar');
31 873
        Route::post($uri . $delimiter .'render-repeater-item/{name}', $controller .'@renderRepeaterItem');
32 873
    }
33
34 873
    public function routeGroupOptions(bool $availableForGuest = false): array
35
    {
36 873
        $middleware = $availableForGuest ? 'web' : 'jarboe';
37 873
        $isSubdomainBasedPanel = config('jarboe.admin_panel.subdomain_panel_enabled', false);
38
39
        $options = [
40 873
            'middleware' => $middleware,
41
        ];
42 873
        if ($isSubdomainBasedPanel) {
43
            $options['domain'] = config('jarboe.admin_panel.domain');
44
        } else {
45 873
            $options['prefix'] = config('jarboe.admin_panel.prefix');
46
        }
47
48 873
        return $options;
49
    }
50
}
51