Completed
Push — EZP-26057-permission-api ( b4c475...de9e2b )
by
unknown
23:03
created

PermissionService::getCurrentUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 1
b 0
f 1
1
<?php
2
3
/**
4
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
5
 * @license For full copyright and license information view LICENSE file distributed with this source code.
6
 */
7
namespace eZ\Publish\Core\SignalSlot;
8
9
use eZ\Publish\API\Repository\PermissionService as PermissionServiceInterface;
10
use eZ\Publish\API\Repository\Values\User\UserReference;
11
use eZ\Publish\API\Repository\Values\ValueObject;
12
use Closure;
13
14
/**
15
 * SignalSlot implementation of PermissionService interface.
16
 */
17
class PermissionService implements PermissionServiceInterface
18
{
19
    /**
20
     * Aggregated service.
21
     *
22
     * @var \eZ\Publish\API\Repository\PermissionService
23
     */
24
    protected $service;
25
26
    /**
27
     * SignalDispatcher.
28
     *
29
     * @var \eZ\Publish\Core\SignalSlot\SignalDispatcher
30
     */
31
    protected $signalDispatcher;
32
33
    /**
34
     * Constructor.
35
     *
36
     * Construct service object from aggregated service and signal
37
     * dispatcher
38
     *
39
     * @param \eZ\Publish\API\Repository\PermissionService $service
40
     * @param \eZ\Publish\Core\SignalSlot\SignalDispatcher $signalDispatcher
41
     */
42
    public function __construct(PermissionServiceInterface $service, SignalDispatcher $signalDispatcher)
43
    {
44
        $this->service = $service;
45
        $this->signalDispatcher = $signalDispatcher;
46
    }
47
48
    public function getCurrentUserReference()
49
    {
50
        return $this->service->getCurrentUserReference();
51
    }
52
53
    public function setCurrentUserReference(UserReference $userReference)
54
    {
55
        return $this->service->setCurrentUserReference($userReference);
56
    }
57
58
    public function hasAccess($module, $function, UserReference $userReference = null)
59
    {
60
        return $this->service->hasAccess($module, $function, $userReference);
61
    }
62
63
    public function canUser($module, $function, ValueObject $object, $targets = null)
64
    {
65
        return $this->service->canUser($module, $function, $object, $targets);
66
    }
67
68
    public function sudo(Closure $callback)
69
    {
70
        return $this->service->sudo($callback, $this);
71
    }
72
}
73