Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ApiAdministratorAccountFilterMiddleware
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 2
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 filter
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3declare(strict_types=1);
4
5namespace PeServer\App\Models\Middleware\Api;
6
7use PeServer\App\Models\AppDatabaseCache;
8use PeServer\App\Models\Cache\UserCacheItem;
9use PeServer\App\Models\Domain\UserLevel;
10use PeServer\App\Models\Middleware\Api\ApiAccountFilterMiddlewareBase;
11use PeServer\Core\Http\HttpStatus;
12use PeServer\Core\Mvc\Middleware\MiddlewareArgument;
13use PeServer\Core\Mvc\Middleware\MiddlewareResult;
14
15class ApiAdministratorAccountFilterMiddleware extends ApiAccountFilterMiddlewareBase
16{
17    public function __construct(
18        AppDatabaseCache $dbCache
19    ) {
20        parent::__construct($dbCache);
21    }
22
23    #region ApiAccountFilterMiddlewareBase
24
25    protected function filter(MiddlewareArgument $argument, UserCacheItem $item): MiddlewareResult
26    {
27        if ($item->level !== UserLevel::ADMINISTRATOR) {
28            return MiddlewareResult::error(HttpStatus::Forbidden);
29        }
30
31        return MiddlewareResult::none();
32    }
33
34    #endregion
35}