function _node_resource_definition in Services 6.3
Same name and namespace in other branches
- 7.3 resources/node_resource.inc \_node_resource_definition()
@file This file will define the resources for dealing directly with nodes
1 call to _node_resource_definition()
- _services_core_resources in ./
services.resource_build.inc - Supplies the resource definitions for Drupal core data
File
- resources/
node_resource.inc, line 8 - This file will define the resources for dealing directly with nodes
Code
function _node_resource_definition() {
$node_resource = array(
'node' => array(
'operations' => array(
'retrieve' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'callback' => '_node_resource_retrieve',
'args' => array(
array(
'name' => 'nid',
'optional' => FALSE,
'source' => array(
'path' => 0,
),
'type' => 'int',
'description' => 'The nid of the node to get',
),
),
'access callback' => '_node_resource_access',
'access arguments' => array(
'view',
),
'access arguments append' => TRUE,
),
'create' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'callback' => '_node_resource_create',
'args' => array(
array(
'name' => 'node',
'optional' => FALSE,
'source' => 'data',
'description' => 'The node data to create',
'type' => 'array',
),
),
'access callback' => '_node_resource_access',
'access arguments' => array(
'create',
),
'access arguments append' => TRUE,
),
'update' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'callback' => '_node_resource_update',
'args' => array(
array(
'name' => 'nid',
'optional' => FALSE,
'source' => array(
'path' => 0,
),
'type' => 'int',
'description' => 'The nid of the node to get',
),
array(
'name' => 'node',
'optional' => FALSE,
'source' => 'data',
'description' => 'The node data to update',
'type' => 'struct',
),
),
'access callback' => '_node_resource_access',
'access arguments' => array(
'update',
),
'access arguments append' => TRUE,
),
'delete' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'callback' => '_node_resource_delete',
'args' => array(
array(
'name' => 'nid',
'optional' => FALSE,
'type' => 'int',
'source' => array(
'path' => 0,
),
),
),
'access callback' => '_node_resource_access',
'access arguments' => array(
'delete',
),
'access arguments append' => TRUE,
),
'index' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'callback' => '_node_resource_index',
'args' => array(
array(
'name' => 'page',
'optional' => TRUE,
'type' => 'int',
'description' => 'The zero-based index of the page to get, defaults to 0.',
'default value' => 0,
'source' => array(
'param' => 'page',
),
),
array(
'name' => 'fields',
'optional' => TRUE,
'type' => 'string',
'description' => 'The fields to get.',
'default value' => '*',
'source' => array(
'param' => 'fields',
),
),
array(
'name' => 'parameters',
'optional' => TRUE,
'type' => 'array',
'description' => 'Parameters array',
'default value' => array(),
'source' => array(
'param' => 'parameters',
),
),
array(
'name' => 'pagesize',
'optional' => TRUE,
'type' => 'int',
'description' => 'Number of records to get per page.',
'default value' => variable_get('services_node_index_page_size', 20),
'source' => array(
'param' => 'pagesize',
),
),
),
'access arguments' => array(
'access content',
),
),
),
'relationships' => array(
'files' => array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'help' => t('This method returns files associated with a node.'),
'access callback' => '_node_resource_access',
'access arguments' => array(
'view',
),
'access arguments append' => TRUE,
'callback' => '_node_resource_load_node_files',
'args' => array(
array(
'name' => 'nid',
'optional' => FALSE,
'source' => array(
'path' => 0,
),
'type' => 'int',
'description' => 'The nid of the node whose files we are getting',
),
array(
'name' => 'file_contents',
'type' => 'int',
'description' => t('To return file contents or not.'),
'source' => array(
'path' => 2,
),
'optional' => TRUE,
'default value' => FALSE,
),
),
),
),
),
);
if (module_exists('comment')) {
$comments = array(
'file' => array(
'type' => 'inc',
'module' => 'services',
'name' => 'resources/node_resource',
),
'help' => t('This method returns comments from a given node.'),
'access callback' => 'user_access',
'access arguments' => array(
'access comments',
),
'access arguments append' => FALSE,
'callback' => '_node_resource_load_node_comments',
'args' => array(
array(
'name' => 'nid',
'type' => 'int',
'description' => t('The node id to load comments for.'),
'source' => array(
'path' => 0,
),
'optional' => FALSE,
),
array(
'name' => 'count',
'type' => 'int',
'description' => t('Number of comments to load.'),
'source' => array(
'param' => 'count',
),
'optional' => TRUE,
),
array(
'name' => 'offset',
'type' => 'int',
'description' => t('If count is set to non-zero value, you can pass also non-zero value for start. For example to get comments from 5 to 15, pass count=10 and start=5.'),
'source' => array(
'param' => 'offset',
),
'optional' => TRUE,
),
),
);
$node_resource['node']['relationships']['comments'] = $comments;
}
return $node_resource;
}