Scope.php in OAuth2 Server 8
File
src/Entity/Scope.php
View source
<?php
namespace Drupal\oauth2_server\Entity;
use Drupal\Core\Config\Entity\ConfigEntityBase;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\oauth2_server\ScopeInterface;
class Scope extends ConfigEntityBase implements ScopeInterface {
protected $id;
public $scope_id;
public $server_id;
protected $server;
public $description;
public static function create(array $values = []) {
if (isset($values['server_id']) && isset($values['scope_id'])) {
$values['id'] = $values['server_id'] . '_' . $values['scope_id'];
}
return parent::create($values);
}
public function id() {
if (!empty($this->server_id) && !empty($this->scope_id)) {
return $this->server_id . '_' . $this->scope_id;
}
return isset($this->id) ? $this->id : NULL;
}
public function label() {
return isset($this->scope_id) ? $this->scope_id : NULL;
}
public function getServer() {
if (!$this->server && $this->server_id) {
$this->server = \Drupal::entityTypeManager()
->getStorage('oauth2_server')
->load($this->server_id);
}
return $this->server;
}
public function isDefault() {
$server = $this
->getServer();
if (!empty($this->scope_id) && $server->settings['default_scope'] == $this
->id()) {
return TRUE;
}
return FALSE;
}
public function preSave(EntityStorageInterface $storage) {
$this->id = $this->server_id . '_' . $this->scope_id;
parent::preSave($storage);
}
public function __construct(array $values, $entity_type) {
if (isset($values['server_id']) && isset($values['scope_id'])) {
$values['id'] = $values['server_id'] . '_' . $values['scope_id'];
}
parent::__construct($values, $entity_type);
}
public function __sleep() {
$this->server = NULL;
parent::__sleep();
}
}
Classes
Name |
Description |
Scope |
Defines the OAuth2 scope entity. |