Completed
Push — master ( c2fed6...848869 )
by ARCANEDEV
06:45
created

RouteServiceProvider::getAdminAuthPrefix()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 6
c 0
b 0
f 0
ccs 3
cts 3
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 0
crap 1
1
<?php namespace Arcanesoft\Auth\Providers;
2
3
use Arcanedev\LaravelAuth\Services\SocialAuthenticator;
4
use Arcanedev\LaravelAuth\Services\UserImpersonator;
5
use Arcanesoft\Auth\Http\Routes;
6
use Arcanesoft\Core\Bases\RouteServiceProvider as ServiceProvider;
7
use Illuminate\Contracts\Routing\Registrar as Router;
8
use Illuminate\Support\Arr;
9
10
/**
11
 * Class     RouteServiceProvider
12
 *
13
 * @package  Arcanesoft\Auth\Providers
14
 * @author   ARCANEDEV <[email protected]>
15
 */
16
class RouteServiceProvider extends ServiceProvider
17
{
18
    /* ------------------------------------------------------------------------------------------------
19
     |  Main Functions
20
     | ------------------------------------------------------------------------------------------------
21
     */
22
    /**
23
     * Define the routes for the application.
24
     *
25
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
26
     */
27 12
    public function map(Router $router)
28
    {
29 12
        $this->mapPublicRoutes($router);
30 12
        $this->mapAdminRoutes($router);
31 12
    }
32
33
    /* ------------------------------------------------------------------------------------------------
34
     |  Routes
35
     | ------------------------------------------------------------------------------------------------
36
     */
37
    /**
38
     * Define the public routes for the application.
39
     *
40
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
41
     */
42 12
    private function mapPublicRoutes(Router $router)
43
    {
44 12
        $configs    = $this->config()->get('arcanesoft.auth.authentication');
45 12
        $attributes = Arr::get($configs, 'routes.global', [
46 12
            'prefix'    => 'auth',
47 6
            'as'        => 'auth::',
48 6
            'namespace' => 'Arcanesoft\\Auth\\Http\\Controllers\\Front',
49 6
        ]);
50
51
        $router->group($attributes, function (Router $router) {
52 12
            Routes\Front\AuthenticationRoutes::register($router);
53 12
            Routes\Front\RegisterRoutes::register($router);
54 12
            Routes\Front\PasswordResetRoutes::register($router);
55
56 12
            if (UserImpersonator::isEnabled())
57 6
                Routes\Front\ImpersonateRoutes::register($router);
58
59 12
            if (SocialAuthenticator::isEnabled())
60 6
                Routes\Front\SocialiteRoutes::register($router);
61 12
        });
62
63
        // API ??
64 12
        $router->group(array_merge($attributes, [
65 12
            'prefix' => 'api',
66 12
            'as'     => $attributes['as'] . 'api.',
67
        ]), function (Router $router) {
68 12
            Routes\Front\ApiRoutes::register($router);
69 12
        });
70 12
    }
71
72
    /**
73
     * Define the foundation routes for the application.
74
     *
75
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
76
     */
77 12
    private function mapAdminRoutes(Router $router)
78
    {
79 12
        $namespace  = 'Arcanesoft\\Auth\\Http\\Controllers\\Admin';
80
81
        $router->group($this->getAdminAttributes('auth.', $namespace), function (Router $router) {
82 12
            Routes\Admin\ProfileRoutes::register($router);
83 12
        });
84
85 12
        $attributes = $this->getAdminAttributes(
86 12
            'auth.', $namespace, config('arcanesoft.auth.route.prefix', 'authorization')
87 6
        );
88
89
        $router->group($attributes, function (Router $router) {
90 12
            Routes\Admin\StatsRoutes::register($router);
91 12
            Routes\Admin\UsersRoutes::register($router);
92 12
            Routes\Admin\RolesRoutes::register($router);
93 12
            Routes\Admin\PermissionsRoutes::register($router);
94 12
            Routes\Admin\PasswordResetsRoutes::register($router);
95 12
        });
96
97
        // API ??
98 12
        $router->group($attributes, function (Router $router) {
99 12
            Routes\Admin\ApiRoutes::register($router);
100 12
        });
101 12
    }
102
}
103