You are here

function eck_services_services_resources in Entity Construction Kit (ECK) 7.2

Same name and namespace in other branches
  1. 7.3 modules/eck_services/eck_services.module \eck_services_services_resources()

Define a services resource for each enabled entity

File

modules/eck_services/eck_services.module, line 63

Code

function eck_services_services_resources() {
  $resources = array();
  foreach (EntityType::loadAll() as $entity) {
    if (variable_get('eck_services_' . $entity->name . '_enable', FALSE)) {
      $resources[$entity->name] = array(
        'operations' => array(
          'retrieve' => array(
            'callback' => "eckServicesCallbacks::{$entity->name}__retrieve",
            'access arguments' => array(
              'administer content',
            ),
            'args' => array(
              array(
                'name' => 'id',
                'type' => 'int',
                'source' => array(
                  'path' => 0,
                ),
                'optional' => FALSE,
              ),
            ),
          ),
          'update' => array(
            'callback' => "eckServicesCallbacks::{$entity->name}__update",
            'access arguments' => array(
              'administer content',
            ),
            'args' => array(
              array(
                'name' => 'id',
                'type' => 'int',
                'source' => array(
                  'path' => 0,
                ),
                'optional' => FALSE,
              ),
              array(
                'name' => 'data',
                'type' => 'struct',
                'source' => 'data',
                'optional' => FALSE,
              ),
            ),
          ),
          'create' => array(
            'callback' => "eckServicesCallbacks::{$entity->name}__create",
            'access arguments' => array(
              'administer content',
            ),
            'args' => array(
              array(
                'name' => 'data',
                'type' => 'struct',
                'source' => 'data',
                'optional' => FALSE,
              ),
            ),
          ),
          'delete' => array(
            'callback' => "eckServicesCallbacks::{$entity->name}__delete",
            'access arguments' => array(
              'administer content',
            ),
            'args' => array(
              array(
                'name' => 'id',
                'type' => 'int',
                'source' => array(
                  'path' => 0,
                ),
                'optional' => FALSE,
              ),
            ),
          ),
        ),
      );
    }
  }
  return $resources;
}