Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
66.67% |
6 / 9 |
|
50.00% |
1 / 2 |
CRAP | |
0.00% |
0 / 1 |
ApiQueryMentorStatus | |
66.67% |
6 / 9 |
|
50.00% |
1 / 2 |
4.59 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
execute | |
100.00% |
6 / 6 |
|
100.00% |
1 / 1 |
3 |
1 | <?php |
2 | |
3 | namespace GrowthExperiments\Api; |
4 | |
5 | use ApiQuery; |
6 | use ApiQueryBase; |
7 | use GrowthExperiments\MentorDashboard\MentorTools\MentorStatusManager; |
8 | use GrowthExperiments\Mentorship\Provider\MentorProvider; |
9 | |
10 | class ApiQueryMentorStatus extends ApiQueryBase { |
11 | |
12 | /** @var MentorProvider */ |
13 | private $mentorProvider; |
14 | |
15 | /** @var MentorStatusManager */ |
16 | private $mentorStatusManager; |
17 | |
18 | /** |
19 | * @param ApiQuery $mainModule |
20 | * @param string $moduleName |
21 | * @param MentorProvider $mentorProvider |
22 | * @param MentorStatusManager $mentorStatusManager |
23 | */ |
24 | public function __construct( |
25 | ApiQuery $mainModule, |
26 | $moduleName, |
27 | MentorProvider $mentorProvider, |
28 | MentorStatusManager $mentorStatusManager |
29 | ) { |
30 | parent::__construct( $mainModule, $moduleName ); |
31 | |
32 | $this->mentorProvider = $mentorProvider; |
33 | $this->mentorStatusManager = $mentorStatusManager; |
34 | } |
35 | |
36 | /** |
37 | * @inheritDoc |
38 | */ |
39 | public function execute() { |
40 | if ( |
41 | !$this->getConfig()->get( 'GEMentorDashboardEnabled' ) || |
42 | !$this->mentorProvider->isMentor( $this->getUser() ) |
43 | ) { |
44 | $this->dieWithError( [ 'apierror-permissiondenied-generic' ] ); |
45 | } |
46 | |
47 | $this->getResult()->addValue( null, $this->getModuleName(), [ |
48 | 'mentorstatus' => $this->mentorStatusManager->getMentorStatus( $this->getUser() ) |
49 | ] ); |
50 | } |
51 | } |