Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
CRAP
88.89% covered (success)
88.89%
16 / 18
AclsServiceProvider
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
5.03
88.89% covered (success)
88.89%
16 / 18
 boot
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
 aliasMiddleware
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
5 / 5
 register
0.00% covered (danger)
0.00%
0 / 1
1.01
80.00% covered (success)
80.00%
8 / 10
1<?php
2
3namespace Qmp\Laravel\Acls\Providers;
4
5use Illuminate\Support\ServiceProvider;
6use Qmp\Laravel\Acls\Middleware\CheckPermissions;
7use Qmp\Laravel\Acls\Middleware\CheckRole;
8use Qmp\Laravel\Acls\Models\Permission;
9use Qmp\Laravel\Acls\Models\Role;
10use Qmp\Laravel\Acls\Models\RoleGroup;
11use Qmp\Laravel\DockerLauncher\Docker\Output;
12
13class AclsServiceProvider extends ServiceProvider
14{
15    /**
16     * The middleware aliases.
17     *
18     * @var array
19     */
20    protected $middlewareAliases = [
21        'role' => CheckRole::class,
22        'perm' => CheckPermissions::class,
23    ];
24
25    /**
26     * Boot the service provider.
27     *
28     * @return void
29     */
30    public function boot()
31    {
32        $this->aliasMiddleware();
33
34        $this->loadMigrationsFrom(__DIR__.'/../database/migrations/');
35
36    }
37
38
39    /**
40     * Alias the middleware.
41     *
42     * @return void
43     */
44    protected function aliasMiddleware()
45    {
46        $router = $this->app['router'];
47
48        $method = method_exists($router, 'aliasMiddleware') ? 'aliasMiddleware' : 'middleware';
49
50        foreach ($this->middlewareAliases as $alias => $middleware) {
51            $router->$method($alias, $middleware);
52        }
53    }
54
55    public function register()
56    {
57        $this->app->singleton('qmp.acls.perm', function () {
58            return new Permission();
59        });
60
61        $this->app->singleton('qmp.acls.role', function () {
62            return new Role();
63        });
64
65        $this->app->singleton('qmp.acls.group', function () {
66            return new RoleGroup();
67        });
68    }
69}