3 namespace MediaWiki\Rest\BasicAccess
;
5 use MediaWiki\User\UserIdentity
;
6 use MediaWiki\Permissions\PermissionManager
;
7 use MediaWiki\Rest\Handler
;
8 use MediaWiki\Rest\RequestInterface
;
11 * The concrete implementation of basic read/write restrictions in MediaWiki
15 class MWBasicRequestAuthorizer
extends BasicRequestAuthorizer
{
16 /** @var UserIdentity */
19 /** @var PermissionManager */
20 private $permissionManager;
22 public function __construct( RequestInterface
$request, Handler
$handler,
23 UserIdentity
$user, PermissionManager
$permissionManager
25 parent
::__construct( $request, $handler );
27 $this->permissionManager
= $permissionManager;
30 protected function isReadAllowed() {
31 return $this->permissionManager
->isEveryoneAllowed( 'read' )
32 ||
$this->isAllowed( 'read' );
35 protected function isWriteAllowed() {
36 return $this->isAllowed( 'writeapi' );
39 private function isAllowed( $action ) {
40 return $this->permissionManager
->userHasRight( $this->user
, $action );