BackendServiceProvider::boot()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 19
rs 9.6333
c 0
b 0
f 0
cc 1
nc 1
nop 5
1
<?php
2
3
namespace Oscer\Cms\Backend;
4
5
use BladeUI\Icons\Factory as IconFactory;
6
use Illuminate\Config\Repository;
7
use Illuminate\Support\ServiceProvider;
8
use Illuminate\View\Factory;
9
use Oscer\Cms\Backend\Routing\BackendRouter;
10
use Oscer\Cms\Backend\Sidebar\Sidebar;
11
use Oscer\Cms\Backend\Sidebar\SidebarItem;
12
use Oscer\Cms\Backend\View\Composers\BackendViewComposer;
13
use Oscer\Cms\Backend\View\ScriptHandler;
14
15
class BackendServiceProvider extends ServiceProvider
16
{
17
    public function boot(BackendRouter $backendRouter, Factory $view, Repository $config, Sidebar $sidebar, IconFactory $iconFactory)
18
    {
19
        $config->set('ziggy.whitelist', ['cms.*']);
20
        $config->set('ziggy.skip-route-function', true);
21
22
        $iconFactory->add('cms', ['path' => __DIR__.'/../../resources/icons', 'prefix' => 'cms']);
23
        $backendRouter->registerAuthRoutes();
24
        $backendRouter->registerBackendRoutes();
25
26
        $view->composer('cms::backend', BackendViewComposer::class);
27
28
        $sidebar
29
            ->addItem(new SidebarItem('folder', 'Pages', 'pages.index', 'pages.view'))
30
            ->addItem(new SidebarItem('folder', 'Posts', 'posts.index', 'posts.view'))
31
            ->addItem(new SidebarItem('folder', 'Menus', 'menus.index', 'menus.view'))
32
            ->addItem(new SidebarItem('folder', 'Options', 'options.index', 'options.view'))
33
            ->addItem(new SidebarItem('folder', 'Users', 'users.index', 'users.view'))
34
            ->addItem(new SidebarItem('folder', 'Roles', 'roles.index', 'roles.view'));
35
    }
36
37
    /**
38
     * Register the application services.
39
     */
40
    public function register()
41
    {
42
        $this->app->singleton(Sidebar::class, Sidebar::class);
43
        $this->app->singleton(ScriptHandler::class, ScriptHandler::class);
44
    }
45
}
46