class RestfulEntityBaseMultipleBundles in RESTful 7
@file Contains RestfulEntityBaseMultipleBundles.
Hierarchy
- class \RestfulPluginBase implements RestfulPluginInterface
- class \RestfulBase implements RestfulInterface
- class \RestfulDataProviderEFQ implements RestfulDataProviderEFQInterface, RestfulDataProviderInterface
- class \RestfulEntityBase implements RestfulEntityInterface
- class \RestfulDataProviderEFQ implements RestfulDataProviderEFQInterface, RestfulDataProviderInterface
- class \RestfulBase implements RestfulInterface
Expanded class hierarchy of RestfulEntityBaseMultipleBundles
File
- plugins/
restful/ RestfulEntityBaseMultipleBundles.php, line 8 - Contains RestfulEntityBaseMultipleBundles.
View source
class RestfulEntityBaseMultipleBundles extends RestfulEntityBase {
/**
* Define the bundles to exposed to the API.
*
* @var array
* Array keyed by bundle machine, and the RESTful resource as the value.
*/
protected $bundles = array();
/**
* Overrides \RestfulBase::controllersInfo().
*/
public static function controllersInfo() {
return array(
'' => array(
// GET returns a list of entities.
\RestfulInterface::GET => 'getList',
),
);
}
public function __construct(array $plugin, \RestfulAuthenticationManager $auth_manager = NULL, \DrupalCacheInterface $cache_controller = NULL, $language = NULL) {
parent::__construct($plugin, $auth_manager, $cache_controller, $language);
if (!empty($plugin['bundles'])) {
$this->bundles = $plugin['bundles'];
}
$this->authenticationManager = $auth_manager ? $auth_manager : new \RestfulAuthenticationManager();
$this->cacheController = $cache_controller ? $cache_controller : $this
->newCacheObject();
}
/**
* Return the bundles.
*
* @return array
* An array of the exposed bundles as key and resource as value.
*/
protected function getBundles() {
return $this->bundles;
}
/**
* Overrides RestfulEntityBase::getList().
*/
public function getList() {
$entity_type = $this->entityType;
$result = $this
->getQueryForList()
->execute();
if (empty($result[$entity_type])) {
return;
}
$account = $this
->getAccount();
$request = $this
->getRequest();
$ids = array_keys($result[$entity_type]);
// Pre-load all entities.
$entities = entity_load($entity_type, $ids);
$return = array();
$handlers = array();
$resources_info = $this
->getBundles();
foreach ($entities as $entity) {
// Call each handler by its registered bundle.
list($id, , $bundle) = entity_extract_ids($this
->getEntityType(), $entity);
if (empty($handlers[$bundle])) {
$version = $this
->getVersion();
$handlers[$bundle] = restful_get_restful_handler($resources_info[$bundle], $version['major'], $version['minor']);
}
$bundle_handler = $handlers[$bundle];
$bundle_handler
->setAccount($account);
$bundle_handler
->setRequest($request);
$return[] = $bundle_handler
->viewEntity($id);
}
return $return;
}
/**
* Overrides RestfulEntityBase::getQueryForList().
*/
public function getQueryForList() {
$query = parent::getQueryForList();
$query
->entityCondition('bundle', array_keys($this
->getBundles()), 'IN');
return $query;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RestfulBase:: |
protected | property | Authentication manager. | |
RestfulBase:: |
protected | property | Cache controller object. | |
RestfulBase:: |
protected | property | Nested array that provides information about what method to call for each route pattern. | |
RestfulBase:: |
protected | property | Array keyed by the header property, and the value. | |
RestfulBase:: |
protected | property | Determines the language of the items that should be returned. | |
RestfulBase:: |
protected | property | The HTTP method used for the request. | |
RestfulBase:: |
protected | property | The path of the request. | |
RestfulBase:: |
protected | property | Determines the number of items that should be returned when viewing lists. | |
RestfulBase:: |
protected | property | Rate limit manager. | |
RestfulBase:: |
protected | property | The request array. | |
RestfulBase:: |
public | property | Static cache controller. | |
RestfulBase:: |
protected | property | Holds additional information about the generated values. This information is available to the formatters. | |
RestfulBase:: |
public | function |
Determine if user can access the handler. Overrides RestfulInterface:: |
4 |
RestfulBase:: |
protected | function | Checks access based on the referer header and the allow_origin setting. | |
RestfulBase:: |
protected static | function | Get the cache id parameters based on the keys. | |
RestfulBase:: |
public | function |
Add the a value to a multi-value HTTP header. Overrides RestfulInterface:: |
|
RestfulBase:: |
public | function | Invalidates cache for a certain entity. | |
RestfulBase:: |
public static | function | Helper function to remove the application generated request data. | |
RestfulBase:: |
protected | function | Clear an entry from the rendered cache. | |
RestfulBase:: |
public | function | Clear all caches corresponding to the current resource. | |
RestfulBase:: |
public | function | Call resource using the DELETE http method. | |
RestfulBase:: |
public static | function | Execute a user callback. | |
RestfulBase:: |
public | function | Call the output format on the given data. | |
RestfulBase:: |
protected | function | Get the formatter handler for the current restful formatter. | |
RestfulBase:: |
public | function | Returns the names of the available formatter plugins. | |
RestfulBase:: |
protected | function | Generate a cache identifier for the request and the current context. | |
RestfulBase:: |
public | function | Call resource using the GET http method. | |
RestfulBase:: |
public | function | Proxy method to get the account from the authenticationManager. | |
RestfulBase:: |
public | function | Getter for $authenticationManager. | |
RestfulBase:: |
public | function | Getter for $cacheController. | |
RestfulBase:: |
public | function | Return the controller from a given path. | |
RestfulBase:: |
public | function | Get the defined controllers | |
RestfulBase:: |
public | function |
Return array keyed by the header property, and the value. Overrides RestfulInterface:: |
|
RestfulBase:: |
public | function | Get the language code. | |
RestfulBase:: |
public static | function | Get the non translated menu item. | |
RestfulBase:: |
public | function | Get the HTTP method used for the request. | |
RestfulBase:: |
public static | function | Get the resource name and version from the page arguments in the router. | |
RestfulBase:: |
public | function | Return the path of the request. | |
RestfulBase:: |
public | function |
Return the properties that should be public after processing. Overrides RestfulInterface:: |
|
RestfulBase:: |
public | function | Get the pager range. | |
RestfulBase:: |
public | function | Getter for rateLimitManager. | |
RestfulBase:: |
protected | function | Get an entry from the rendered cache. | |
RestfulBase:: |
public | function | Get the request array. | |
RestfulBase:: |
protected | function | Gets a request array with the data that should be piped to sub requests. | |
RestfulBase:: |
public static | function | Return the last version for a given resource. | |
RestfulBase:: |
public | function | Return the resource name. | |
RestfulBase:: |
public | function | Helper method; Get the URL of the resource and query strings. | |
RestfulBase:: |
public | function | Get value metadata. | |
RestfulBase:: |
public | function | Return array keyed with the major and minor version of the resource. | |
RestfulBase:: |
public static | function | Gets the major and minor version for the current request. | |
RestfulBase:: |
public | function | Call resource using the GET http method. | |
RestfulBase:: |
final public static | function | Helper method to determine if an array is numeric. | |
RestfulBase:: |
public | function | Helper method to know if the current request is for a list. | |
RestfulBase:: |
public static | function | Determines if the HTTP method represents a read operation. | |
RestfulBase:: |
public static | function | Determines if the HTTP method is one of the known methods. | |
RestfulBase:: |
public static | function | Determines if the HTTP method represents a write operation. | |
RestfulBase:: |
protected | function | Get the default cache object based on the plugin configuration. | |
RestfulBase:: |
protected static | function | Helper method with the code to run for non implemented CRUD operations. | |
RestfulBase:: |
public | function | Call resource using the OPTIONS http method. | |
RestfulBase:: |
protected | function | Overrides the range parameter with the URL value if any. | |
RestfulBase:: |
protected | function | Filter the query for list. | |
RestfulBase:: |
protected | function | Parses the request object to get the pagination options. | |
RestfulBase:: |
protected | function | Parses the request to get the sorting options. | |
RestfulBase:: |
public static | function | Parses the version string. | |
RestfulBase:: |
public | function | Call resource using the PATCH http method. | |
RestfulBase:: |
public | function | Call resource using the POST http method. | |
RestfulBase:: |
public | function |
Entry point to process a request. Overrides RestfulInterface:: |
|
RestfulBase:: |
protected | function | Process plugin options by validation keys exists, and set default values. | |
RestfulBase:: |
public | function | Call resource using the PUT http method. | |
RestfulBase:: |
public | function | Proxy method to set the account from the authenticationManager. | |
RestfulBase:: |
public | function | Setter for $authenticationManager. | |
RestfulBase:: |
public | function |
Set the HTTP headers. Overrides RestfulInterface:: |
|
RestfulBase:: |
public | function | Sets the language code. | |
RestfulBase:: |
public | function | Set the HTTP method used for the request. | |
RestfulBase:: |
public | function | Set the path of the request. | |
RestfulBase:: |
public | function | Set the public fields. | |
RestfulBase:: |
public | function | Set the pager range. | |
RestfulBase:: |
public | function | Setter for rateLimitManager. | |
RestfulBase:: |
protected | function | Store an entry in the rendered cache. | |
RestfulBase:: |
public | function | Set the request array. | |
RestfulBase:: |
public | function | Gets a resource URL based on the current version. | |
RestfulDataProviderEFQ:: |
protected | property | The bundle. | |
RestfulDataProviderEFQ:: |
protected | property | The bundle. | |
RestfulDataProviderEFQ:: |
protected | property | The entity type. | |
RestfulDataProviderEFQ:: |
protected | function |
Adds query tags and metadata to the EntityFieldQuery. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
public | function |
Create an item from the request object. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
public | function | Defines default sort fields if none are provided via the request URL. | 1 |
RestfulDataProviderEFQ:: |
protected | function | Gets a EFQ object. | |
RestfulDataProviderEFQ:: |
public | function | Getter for $bundle. | |
RestfulDataProviderEFQ:: |
protected | function | Get the DB column name from a property. | |
RestfulDataProviderEFQ:: |
protected | function | Initialize an EntityFieldQuery (or extending class). | |
RestfulDataProviderEFQ:: |
public | function | Get the entity info for the current entity the endpoint handling. | 1 |
RestfulDataProviderEFQ:: |
public | function | Getter for $entityType. | |
RestfulDataProviderEFQ:: |
public | function |
Prepare a query for RestfulEntityBase::getTotalCount(). Overrides RestfulDataProviderEFQInterface:: |
1 |
RestfulDataProviderEFQ:: |
public | function |
Get the total count of entities that match certain request. Overrides RestfulDataProviderEFQInterface:: |
|
RestfulDataProviderEFQ:: |
public | function |
Get a list of entities. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
protected static | function |
Overrides \RestfulBase::isValidConjuctionForFilter(). Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
protected static | function |
Overrides \RestfulBase::isValidOperatorsForFilter(). Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
protected | function | Filter the query for list. | |
RestfulDataProviderEFQ:: |
protected | function | Set correct page (i.e. range) for the query for list. | |
RestfulDataProviderEFQ:: |
protected | function | Sort the query for list. | |
RestfulDataProviderEFQ:: |
public | function |
Remove the item from the data source. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
public | function |
Update an item based on the request object. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
public | function |
View an item from the data source. Overrides RestfulBase:: |
|
RestfulDataProviderEFQ:: |
public | function |
View a collection of items. Overrides RestfulBase:: |
|
RestfulEntityBase:: |
protected | property |
The public fields that are exposed to the API. Overrides RestfulBase:: |
|
RestfulEntityBase:: |
protected | function |
Add default values to the public fields array. Overrides RestfulBase:: |
|
RestfulEntityBase:: |
protected | function | Check access to CRUD an entity. | 2 |
RestfulEntityBase:: |
protected | function | Check access on a property. | 1 |
RestfulEntityBase:: |
protected | function | Check access on property by the defined access callbacks. | |
RestfulEntityBase:: |
public | function | Clear all caches corresponding to the current resource for a given entity. | |
RestfulEntityBase:: |
public | function |
Create a new entity. Overrides RestfulDataProviderEFQ:: |
1 |
RestfulEntityBase:: |
protected | function | Helper function; Create an entity from a a sub-resource. | |
RestfulEntityBase:: |
protected | function | Create, update or return an already saved entity. | |
RestfulEntityBase:: |
protected | function | Create, update or return a set of already saved entities. | |
RestfulEntityBase:: |
public | function |
Delete an entity using DELETE. Overrides RestfulDataProviderEFQ:: |
|
RestfulEntityBase:: |
public | function | Allow manipulating the entity before it is saved. | 1 |
RestfulEntityBase:: |
public | function | Validate an entity before it is saved. | |
RestfulEntityBase:: |
protected | function | Determines if a field has allowed values. | |
RestfulEntityBase:: |
protected | function | Return the bundles that should be used for the autocomplete search. | |
RestfulEntityBase:: |
public | function | The array of parameters by which entities should be cached. | |
RestfulEntityBase:: |
protected | function | Get the entity ID based on the ID provided in the request. | |
RestfulEntityBase:: |
protected | function | Get the "self" url. | |
RestfulEntityBase:: |
protected | function | Get the field info, data and form element | |
RestfulEntityBase:: |
protected | function | Get allowed values for the form schema. | |
RestfulEntityBase:: |
public | function | Get the image URLs based on the configured image styles. | |
RestfulEntityBase:: |
protected | function | Return the values of the types tags, with the ID. | |
RestfulEntityBase:: |
protected | function | Request the query object to get a list for autocomplete. | |
RestfulEntityBase:: |
protected | function | Returns the result of a query for the auto complete. | |
RestfulEntityBase:: |
protected | function | Get the "target_type" property from an field or property reference. | |
RestfulEntityBase:: |
protected | function | Get value from a field rendered by Drupal field API's formatter. | |
RestfulEntityBase:: |
protected | function | Get value from a property. | |
RestfulEntityBase:: |
protected | function | Get value from an entity reference field with "resource" property. | |
RestfulEntityBase:: |
protected | function | Determine if an entity is valid, and accessible. | |
RestfulEntityBase:: |
public | function | Update an entity using PATCH. | |
RestfulEntityBase:: |
public static | function | Checks if a given string represents a Field API field. | |
RestfulEntityBase:: |
public | function | Massage the value to set according to the format expected by the wrapper. | |
RestfulEntityBase:: |
protected | function | Preprocess value for "File" related field types. | |
RestfulEntityBase:: |
protected | function | Pre-process value for "Entity reference" field types. | |
RestfulEntityBase:: |
protected | function | Preprocess value for "Text" related field types. | |
RestfulEntityBase:: |
public | function |
Return the properties that should be public. Overrides RestfulInterface:: |
14 |
RestfulEntityBase:: |
public | function | Update an entity using PUT. | |
RestfulEntityBase:: |
protected | function | Set properties of the entity based on the request, and save the entity. | 1 |
RestfulEntityBase:: |
protected | function |
Update an entity. Overrides RestfulDataProviderEFQ:: |
|
RestfulEntityBase:: |
protected | function | Validates an entity's fields before they are saved. | |
RestfulEntityBase:: |
public | function |
Get a list of entities based on a list of IDs. Overrides RestfulDataProviderEFQ:: |
|
RestfulEntityBase:: |
public | function |
View an entity. Overrides RestfulDataProviderEFQ:: |
|
RestfulEntityBaseMultipleBundles:: |
protected | property | Define the bundles to exposed to the API. | |
RestfulEntityBaseMultipleBundles:: |
public static | function |
Overrides \RestfulBase::controllersInfo(). Overrides RestfulEntityBase:: |
|
RestfulEntityBaseMultipleBundles:: |
protected | function | Return the bundles. | |
RestfulEntityBaseMultipleBundles:: |
public | function |
Overrides RestfulEntityBase::getList(). Overrides RestfulEntityBase:: |
|
RestfulEntityBaseMultipleBundles:: |
public | function |
Overrides RestfulEntityBase::getQueryForList(). Overrides RestfulDataProviderEFQ:: |
|
RestfulEntityBaseMultipleBundles:: |
public | function |
Constructs a RestfulDataProviderEFQ object. Overrides RestfulDataProviderEFQ:: |
|
RestfulInterface:: |
constant | Return this value from public field access callbacks to allow access. | ||
RestfulInterface:: |
constant | Return this value from public field access callbacks to deny access. | ||
RestfulInterface:: |
constant | Return this value from public field access callbacks to not affect access. | ||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | HTTP methods. | ||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | |||
RestfulInterface:: |
constant | Token value for token generation functions. | ||
RestfulInterface:: |
constant | |||
RestfulPluginBase:: |
protected | property | The plugin definition array. | |
RestfulPluginBase:: |
public | function |
Gets information about the restful plugin. Overrides RestfulPluginInterface:: |
|
RestfulPluginBase:: |
public | function |
Gets information about the restful plugin key. Overrides RestfulPluginInterface:: |
|
RestfulPluginBase:: |
public | function |
Sets information about the restful plugin. Overrides RestfulPluginInterface:: |
|
RestfulPluginBase:: |
public | function |
Gets information about the restful plugin key. Overrides RestfulPluginInterface:: |