Completed
Push — master ( 5c6dca...a16589 )
by ARCANEDEV
06:58
created

RouteServiceProvider::getRouteNamespace()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 2
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
     |  Getters & Setters
20
     | ------------------------------------------------------------------------------------------------
21
     */
22
    /**
23
     * Get the auth foundation route prefix.
24
     *
25
     * @return string
26
     */
27 12
    public function getAdminAuthPrefix()
28
    {
29 12
        $prefix = Arr::get($this->getAdminRouteGroup(), 'prefix', 'dashboard');
30
31 12
        return "$prefix/" . config('arcanesoft.auth.route.prefix', 'authorization');
32
    }
33
34
    /* ------------------------------------------------------------------------------------------------
35
     |  Main Functions
36
     | ------------------------------------------------------------------------------------------------
37
     */
38
    /**
39
     * Define the routes for the application.
40
     *
41
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
42
     */
43 12
    public function map(Router $router)
44
    {
45 12
        $this->mapPublicRoutes($router);
46 12
        $this->mapAdminRoutes($router);
47 12
    }
48
49
    /**
50
     * Define the public routes for the application.
51
     *
52
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
53
     */
54 12
    private function mapPublicRoutes(Router $router)
55
    {
56 12
        $configs    = $this->config()->get('arcanesoft.auth.authentication');
57 12
        $attributes = Arr::get($configs, 'routes.global', [
58 12
            'prefix'    => 'auth',
59 6
            'as'        => 'auth::',
60 6
            'namespace' => 'Arcanesoft\\Auth\\Http\\Controllers\\Front',
61 6
        ]);
62
63
        $router->group($attributes, function (Router $router) {
64 12
            Routes\Front\AuthenticationRoutes::register($router);
65 12
            Routes\Front\RegisterRoutes::register($router);
66 12
            Routes\Front\PasswordResetRoutes::register($router);
67
68 12
            if (UserImpersonator::isEnabled())
69 6
                Routes\Front\ImpersonateRoutes::register($router);
70
71 12
            if (SocialAuthenticator::isEnabled())
72 6
                Routes\Front\SocialiteRoutes::register($router);
73 12
        });
74
75 12
        $router->group(array_merge($attributes, [
76 12
            'prefix' => 'api',
77 12
            'as'     => $attributes['as'] . 'api.',
78
        ]), function (Router $router) {
79 12
            Routes\Front\ApiRoutes::register($router);
80 12
        });
81 12
    }
82
83
    /**
84
     * Define the foundation routes for the application.
85
     *
86
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
87
     */
88 12
    private function mapAdminRoutes(Router $router)
89
    {
90 12
        $attributes = array_merge($this->getAdminRouteGroup(), [
91 12
            'as'        => 'admin::auth.',
92 6
            'namespace' => 'Arcanesoft\\Auth\\Http\\Controllers\\Admin',
93 6
        ]);
94
95
        $router->group($attributes, function (Router $router) {
96 12
            Routes\Admin\ProfileRoutes::register($router);
97 12
        });
98
99 12
        $router->group(array_merge(
100 6
            $attributes,
101 12
            ['prefix' => $this->getAdminAuthPrefix()]
102
        ), function (Router $router) {
103 12
            Routes\Admin\StatsRoutes::register($router);
104 12
            Routes\Admin\UsersRoutes::register($router);
105 12
            Routes\Admin\RolesRoutes::register($router);
106 12
            Routes\Admin\PermissionsRoutes::register($router);
107 12
            Routes\Admin\PasswordResetsRoutes::register($router);
108 12
        });
109
110 12
        $router->group(array_merge(
111 6
            $attributes,
112 12
            ['prefix' => $this->getAdminAuthPrefix()]
113 12
        ), function (Router $router) {
114 12
            Routes\Admin\ApiRoutes::register($router);
115 12
        });
116 12
    }
117
}
118