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

Jarboe   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 96.55%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 43
ccs 28
cts 29
cp 0.9655
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A crud() 0 23 1
A routeGroupOptions() 0 16 3
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