class AccessTokenController in Access unpublished 8
Controller for the access token handling.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\access_unpublished\Controller\AccessTokenController
Expanded class hierarchy of AccessTokenController
1 file declares its use of AccessTokenController
- AccessTokenRouteProvider.php in src/
Routing/ AccessTokenRouteProvider.php
File
- src/
Controller/ AccessTokenController.php, line 16
Namespace
Drupal\access_unpublished\ControllerView source
class AccessTokenController extends ControllerBase {
/**
* The time service.
*
* @var \Drupal\Component\Datetime\TimeInterface
*/
protected $time;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
$controller = parent::create($container);
$controller
->setTime($container
->get('datetime.time'));
return $controller;
}
/**
* Set the time service.
*
* @param \Drupal\Component\Datetime\TimeInterface $time
* The time service.
*/
protected function setTime(TimeInterface $time) {
$this->time = $time;
}
/**
* Renews an access token.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request object.
* @param \Drupal\access_unpublished\Entity\AccessToken $access_token
* The access token to renew.
*
* @return \Drupal\Core\Ajax\AjaxResponse
* A replace command to replace the token table.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Core\Entity\EntityStorageException
*/
public function renew(Request $request, AccessToken $access_token) {
// Calculate lifetime of expired token.
$expire = $access_token
->get('expire')->value - $access_token
->getChangedTime();
if ($expire > 0) {
$expire += $this->time
->getRequestTime();
}
else {
$expire = AccessToken::defaultExpiration();
}
$access_token
->set('expire', $expire);
$access_token
->save();
return $this
->buildResponse($request, $access_token);
}
/**
* Deletes an access token.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request object.
* @param \Drupal\access_unpublished\Entity\AccessToken $access_token
* The access token to delete.
*
* @return \Drupal\Core\Ajax\AjaxResponse
* A replace command to replace the token table.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Core\Entity\EntityStorageException
*/
public function delete(Request $request, AccessToken $access_token) {
$access_token
->delete();
return $this
->buildResponse($request, $access_token);
}
/**
* Builds a response object.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request object.
* @param \Drupal\access_unpublished\Entity\AccessToken $access_token
* The access token to delete.
*
* @return \Drupal\Core\Ajax\AjaxResponse
* A replace command to replace the token table.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
*/
protected function buildResponse(Request $request, AccessToken $access_token) {
$handler_name = $request->query
->has('handler') ? $request->query
->get('handler') : 'list_builder';
/** @var \Drupal\Core\Entity\EntityListBuilder $list_builder */
$list_builder = $this
->entityTypeManager()
->getHandler('access_token', $handler_name);
$form = $list_builder
->render($access_token
->getHost());
$response = new AjaxResponse();
$response
->addCommand(new ReplaceCommand('[data-drupal-selector="access-token-list"]', $form['table']));
return $response;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AccessTokenController:: |
protected | property | The time service. | |
AccessTokenController:: |
protected | function | Builds a response object. | |
AccessTokenController:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
AccessTokenController:: |
public | function | Deletes an access token. | |
AccessTokenController:: |
public | function | Renews an access token. | |
AccessTokenController:: |
protected | function | Set the time service. | |
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |