Completed
Push — master ( 25f1a1...cad3e9 )
by ARCANEDEV
04:24
created

RouteServiceProvider::mapAdminRoutes()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 12
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 12
cts 12
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 9
nc 1
nop 1
crap 1
1
<?php namespace Arcanesoft\Tracker\Providers;
2
3
use Arcanesoft\Core\Bases\RouteServiceProvider as ServiceProvider;
4
use Arcanesoft\Tracker\Http\Routes;
5
use Illuminate\Contracts\Routing\Registrar as Router;
6
use Illuminate\Support\Arr;
7
8
/**
9
 * Class     RouteServiceProvider
10
 *
11
 * @package  Arcanesoft\Tracker\Providers
12
 * @author   ARCANEDEV <[email protected]>
13
 */
14
class RouteServiceProvider extends ServiceProvider
15
{
16
    /* ------------------------------------------------------------------------------------------------
17
     |  Getters & Setters
18
     | ------------------------------------------------------------------------------------------------
19
     */
20
    /**
21
     * Get the routes namespace
22
     *
23
     * @return string
24
     */
25
    protected function getRouteNamespace()
26
    {
27
        return 'Arcanesoft\\Tracker\\Http\\Routes\\Admin';
28
    }
29
30
    /**
31
     * Get the auth foundation route prefix.
32
     *
33
     * @return string
34
     */
35 4
    public function getFoundationAuthPrefix()
36
    {
37 4
        $prefix = Arr::get($this->getFoundationRouteGroup(), 'prefix', 'dashboard');
38
39 4
        return "$prefix/" . config('arcanesoft.tracker.route.prefix', 'tracker');
40
    }
41
42
    /* ------------------------------------------------------------------------------------------------
43
     |  Main Functions
44
     | ------------------------------------------------------------------------------------------------
45
     */
46
    /**
47
     * Define the routes for the application.
48
     *
49
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
50
     */
51 4
    public function map(Router $router)
52
    {
53 4
        $this->mapAdminRoutes($router);
54 4
    }
55
56
    /**
57
     * Register the admin routes.
58
     *
59
     * @param  \Illuminate\Contracts\Routing\Registrar $router
60
     */
61 4
    private function mapAdminRoutes(Router $router)
62
    {
63 4
        $attributes = array_merge($this->getFoundationRouteGroup(), [
64 4
            'as'        => 'admin::tracker.',
65 2
            'namespace' => 'Arcanesoft\\Tracker\\Http\\Controllers\\Admin',
66 2
        ]);
67
68 4
        $router->group(array_merge(
69 2
            $attributes,
70 4
            ['prefix' => $this->getFoundationAuthPrefix()]
71 4
        ), function (Router $router) {
72 4
            Routes\Admin\TrackerRoutes::register($router);
73 4
        });
74 4
    }
75
}
76