DataProviderComment.php in RESTful 7.2
File
modules/restful_example/src/Plugin/resource/comment/DataProviderComment.php
View source
<?php
namespace Drupal\restful_example\Plugin\resource\comment;
use Drupal\restful\Plugin\resource\DataProvider\DataProviderEntity;
use Drupal\restful\Plugin\resource\DataProvider\DataProviderInterface;
class DataProviderComment extends DataProviderEntity implements DataProviderInterface {
protected function setPropertyValues(\EntityDrupalWrapper $wrapper, $object, $replace = FALSE) {
$comment = $wrapper
->value();
if (empty($comment->nid) && !empty($object['nid'])) {
$comment->nid = $object['nid'];
unset($object['nid']);
$node = node_load($comment->nid);
$comment->node_type = 'comment_node_' . $node->type;
}
parent::setPropertyValues($wrapper, $object, $replace);
}
public function getQueryForList() {
$query = parent::getQueryForList();
$query
->propertyCondition('status', COMMENT_PUBLISHED);
return $query;
}
public function getQueryCount() {
$query = parent::getQueryCount();
$query
->propertyCondition('status', COMMENT_PUBLISHED);
return $query;
}
public function entityPreSave(\EntityDrupalWrapper $wrapper) {
$comment = $wrapper
->value();
if (!empty($comment->cid)) {
return;
}
$comment->uid = $this
->getAccount()->uid;
}
}