Completed
Push — master ( 287393...7ff50d )
by Raffael
18:27 queued 14:12
created

src/app/Balloon.App.Api/Constructor/Http.php (1 issue)

Labels
Severity

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * balloon
7
 *
8
 * @copyright   Copryright (c) 2012-2019 gyselroth GmbH (https://gyselroth.com)
9
 * @license     GPL-3.0 https://opensource.org/licenses/GPL-3.0
10
 */
11
12
namespace Balloon\App\Api\Constructor;
13
14
use Balloon\App\Api\v1;
15
use Balloon\App\Api\v2;
16
use Balloon\Hook;
17
use Balloon\Hook\AbstractHook;
18
use Micro\Auth\Adapter\None as AuthNone;
19
use Micro\Auth\Auth;
20
use Micro\Http\Router;
21
use Micro\Http\Router\Route;
22
23
class Http
24
{
25
    /**
26
     * Router.
27
     *
28
     * @var Router
29
     */
30
    protected $router;
31
32
    /**
33
     * Hook.
34
     *
35
     * @var Hook
36
     */
37
    protected $hook;
38
39
    /**
40
     * Constructor.
41
     */
42
    public function __construct(Router $router, Hook $hook)
43
    {
44
        $router
45
            ->appendRoute(new Route('/api/v2/users/{id:#([0-9a-z]{24})#}(/|\z)', v2\Users::class))
46
            ->appendRoute(new Route('/api/v2/users(/|\z)', v2\Users::class))
47
            ->appendRoute(new Route('/api/v2/groups/{id:#([0-9a-z]{24})#}(/|\z)', v2\Groups::class))
48
            ->appendRoute(new Route('/api/v2/groups(/|\z)', v2\Groups::class))
49
            ->appendRoute(new Route('/api/v2/files/{id:#([0-9a-z]{24})#}(/|\z)', v2\Files::class))
50
            ->appendRoute(new Route('/api/v2/files(/|\z)', v2\Files::class))
51
            ->appendRoute(new Route('/api/v2/collections/{id:#([0-9a-z]{24})#}(/|\z)', v2\Collections::class))
52
            ->appendRoute(new Route('/api/v2/collections(/|\z)', v2\Collections::class))
53
            ->appendRoute(new Route('/api/v2/nodes/{id:#([0-9a-z]{24})#}(/|\z)', v2\Nodes::class))
54
            ->appendRoute(new Route('/api/v2/nodes(/|\z)', v2\Nodes::class))
55
            ->appendRoute(new Route('/api/v2$', v2\Api::class))
56
            ->appendRoute(new Route('/api/v2', v2\Api::class))
57
            ->appendRoute(new Route('/api$', v2\Api::class))
58
            ->appendRoute(new Route('/api/v1/user/{uid:#([0-9a-z]{24})#}', v1\User::class))
59
            ->appendRoute(new Route('/api/v1/user', v1\User::class))
60
            ->appendRoute(new Route('/api/v1/resource', v1\Resource::class))
61
            ->appendRoute(new Route('/api/v1/file/{id:#([0-9a-z]{24})#}', v1\File::class))
62
            ->appendRoute(new Route('/api/v1/file', v1\File::class))
63
            ->appendRoute(new Route('/api/v1/collection/{id:#([0-9a-z]{24})#}', v1\Collection::class))
64
            ->appendRoute(new Route('/api/v1/collection', v1\Collection::class))
65
            ->appendRoute(new Route('/api/v1/node/{id:#([0-9a-z]{24})#}', v1\Node::class))
66
            ->appendRoute(new Route('/api/v1/node', v1\Node::class))
67
            ->appendRoute(new Route('/api/v1$', v1\Api::class))
68
            ->appendRoute(new Route('/api/v1', v1\Api::class))
69
            ->appendRoute(new Route('^$', v2\Api::class));
70
71
        $hook->injectHook(new class() extends AbstractHook {
72
            public function preAuthentication(Auth $auth): void
73
            {
74
                if ('/index.php/api' === $_SERVER['ORIG_SCRIPT_NAME'] || '/index.php/api/v2' === $_SERVER['ORIG_SCRIPT_NAME']) {
75
                    $auth->injectAdapter(new AuthNone());
76
                }
77
            }
78
        });
79
80
        return true;
0 ignored issues
show
Constructors do not have meaningful return values, anything that is returned from here is discarded. Are you sure this is correct?
Loading history...
81
    }
82
}
83