1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
<?php
/**
* @author @jenschude <jens.schulze@commercetools.de>
*/
namespace Commercetools\Core\Model\Review;
use Commercetools\Core\Model\Common\CreatedBy;
use Commercetools\Core\Model\Common\LastModifiedBy;
use Commercetools\Core\Model\Common\Resource;
use Commercetools\Core\Model\Common\DateTimeDecorator;
use Commercetools\Core\Model\State\StateReference;
use Commercetools\Core\Model\Common\ResourceIdentifier;
use Commercetools\Core\Model\Customer\CustomerReference;
use Commercetools\Core\Model\CustomField\CustomFieldObject;
use DateTime;
/**
* @package Commercetools\Core\Model\Review
* @link https://docs.commercetools.com/http-api-projects-reviews.html#review
* @method string getId()
* @method Review setId(string $id = null)
* @method int getVersion()
* @method Review setVersion(int $version = null)
* @method DateTimeDecorator getCreatedAt()
* @method Review setCreatedAt(DateTime $createdAt = null)
* @method DateTimeDecorator getLastModifiedAt()
* @method Review setLastModifiedAt(DateTime $lastModifiedAt = null)
* @method string getProductId()
* @method Review setProductId(string $productId = null)
* @method string getCustomerId()
* @method Review setCustomerId(string $customerId = null)
* @method string getAuthorName()
* @method Review setAuthorName(string $authorName = null)
* @method string getTitle()
* @method Review setTitle(string $title = null)
* @method string getText()
* @method Review setText(string $text = null)
* @method float getScore()
* @method Review setScore(float $score = null)
* @method StateReference getState()
* @method Review setState(StateReference $state = null)
* @method string getKey()
* @method Review setKey(string $key = null)
* @method string getUniquenessValue()
* @method Review setUniquenessValue(string $uniquenessValue = null)
* @method string getLocale()
* @method Review setLocale(string $locale = null)
* @method ResourceIdentifier getTarget()
* @method Review setTarget(ResourceIdentifier $target = null)
* @method int getRating()
* @method Review setRating(int $rating = null)
* @method bool getIncludedInStatistics()
* @method Review setIncludedInStatistics(bool $includedInStatistics = null)
* @method CustomerReference getCustomer()
* @method Review setCustomer(CustomerReference $customer = null)
* @method CustomFieldObject getCustom()
* @method Review setCustom(CustomFieldObject $custom = null)
* @method CreatedBy getCreatedBy()
* @method Review setCreatedBy(CreatedBy $createdBy = null)
* @method LastModifiedBy getLastModifiedBy()
* @method Review setLastModifiedBy(LastModifiedBy $lastModifiedBy = null)
*/
class Review extends Resource
{
public function fieldDefinitions()
{
return [
'id' => [static::TYPE => 'string'],
'version' => [static::TYPE => 'int'],
'createdAt' => [
static::TYPE => DateTime::class,
static::DECORATOR => DateTimeDecorator::class
],
'lastModifiedAt' => [
static::TYPE => DateTime::class,
static::DECORATOR => DateTimeDecorator::class
],
'key' => [static::TYPE => 'string', static::OPTIONAL => true],
'uniquenessValue' => [static::TYPE => 'string', static::OPTIONAL => true],
'locale' => [static::TYPE => 'string', static::OPTIONAL => true],
'authorName' => [static::TYPE => 'string', static::OPTIONAL => true],
'title' => [static::TYPE => 'string', static::OPTIONAL => true],
'text' => [static::TYPE => 'string', static::OPTIONAL => true],
'target' => [static::TYPE => ResourceIdentifier::class, static::OPTIONAL => true],
'rating' => [static::TYPE => 'int', static::OPTIONAL => true],
'state' => [static::TYPE => StateReference::class, static::OPTIONAL => true],
'includedInStatistics' => [static::TYPE => 'bool'],
'customer' => [static::TYPE => CustomerReference::class, static::OPTIONAL => true],
'custom' => [static::TYPE => CustomFieldObject::class, static::OPTIONAL => true],
'createdBy' => [static::TYPE => CreatedBy::class, static::OPTIONAL => true],
'lastModifiedBy' => [static::TYPE => LastModifiedBy::class, static::OPTIONAL => true],
];
}
public function jsonSerialize()
{
$data = parent::jsonSerialize();
if (isset($data['locale'])) {
$data['locale'] = str_replace('_', '-', $data['locale']);
}
return $data;
}
}