init
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
namespace Magento\TestModuleMSC\Model;
|
||||
|
||||
use Magento\TestModuleMSC\Api\Data\CustomAttributeDataObjectInterfaceFactory;
|
||||
use Magento\TestModuleMSC\Api\Data\ItemInterfaceFactory;
|
||||
|
||||
class AllSoapAndRest implements \Magento\TestModuleMSC\Api\AllSoapAndRestInterface
|
||||
{
|
||||
/**
|
||||
* @var ItemInterfaceFactory
|
||||
*/
|
||||
protected $itemDataFactory;
|
||||
|
||||
/**
|
||||
* @var CustomAttributeDataObjectInterfaceFactory
|
||||
*/
|
||||
protected $customAttributeDataObjectDataFactory;
|
||||
|
||||
/**
|
||||
* @param ItemInterfaceFactory $itemDataFactory
|
||||
* @param CustomAttributeDataObjectInterfaceFactory $customAttributeNestedDataObjectFactory
|
||||
*/
|
||||
public function __construct(
|
||||
ItemInterfaceFactory $itemDataFactory,
|
||||
CustomAttributeDataObjectInterfaceFactory $customAttributeNestedDataObjectFactory
|
||||
) {
|
||||
$this->itemDataFactory = $itemDataFactory;
|
||||
$this->customAttributeDataObjectDataFactory = $customAttributeNestedDataObjectFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function item($itemId)
|
||||
{
|
||||
return $this->itemDataFactory->create()->setItemId($itemId)->setName('testProduct1');
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function items()
|
||||
{
|
||||
$result1 = $this->itemDataFactory->create()->setItemId(1)->setName('testProduct1');
|
||||
$result2 = $this->itemDataFactory->create()->setItemId(2)->setName('testProduct2');
|
||||
|
||||
return [$result1, $result2];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function create($name)
|
||||
{
|
||||
return $this->itemDataFactory->create()->setItemId(rand())->setName($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function update(\Magento\TestModuleMSC\Api\Data\ItemInterface $entityItem)
|
||||
{
|
||||
return $this->itemDataFactory->create()->setItemId($entityItem->getItemId())
|
||||
->setName('Updated' . $entityItem->getName());
|
||||
}
|
||||
|
||||
public function testOptionalParam($name = null)
|
||||
{
|
||||
if ($name === null) {
|
||||
return $this->itemDataFactory->create()->setItemId(3)->setName('No Name');
|
||||
} else {
|
||||
return $this->itemDataFactory->create()->setItemId(3)->setName($name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function itemAnyType(\Magento\TestModuleMSC\Api\Data\ItemInterface $entityItem)
|
||||
{
|
||||
return $entityItem;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getPreconfiguredItem()
|
||||
{
|
||||
$customAttributeDataObject = $this->customAttributeDataObjectDataFactory->create()
|
||||
->setName('nameValue')
|
||||
->setCustomAttribute('custom_attribute_int', 1);
|
||||
|
||||
$item = $this->itemDataFactory->create()
|
||||
->setItemId(1)
|
||||
->setName('testProductAnyType')
|
||||
->setCustomAttribute('custom_attribute_data_object', $customAttributeDataObject)
|
||||
->setCustomAttribute('custom_attribute_string', 'someStringValue');
|
||||
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\TestModuleMSC\Model\Data;
|
||||
|
||||
use Magento\TestModuleMSC\Api\Data\CustomAttributeDataObjectInterface;
|
||||
use Magento\Framework\Api\AbstractExtensibleObject;
|
||||
|
||||
/**
|
||||
* Class CustomAttributeDataObject
|
||||
*
|
||||
* @method \Magento\TestModuleMSC\Api\Data\CustomAttributeDataObjectExtensionInterface getExtensionAttributes()
|
||||
*/
|
||||
class CustomAttributeDataObject extends AbstractExtensibleObject implements CustomAttributeDataObjectInterface
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_data['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
return $this->setData('name', $name);
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\TestModuleMSC\Model\Data;
|
||||
|
||||
use Magento\TestModuleMSC\Api\Data\CustomAttributeNestedDataObjectInterface;
|
||||
|
||||
/**
|
||||
* Class CustomAttributeNestedDataObject
|
||||
*
|
||||
* @method \Magento\TestModuleMSC\Api\Data\CustomAttributeNestedDataObjectExtensionInterface getExtensionAttributes()
|
||||
*/
|
||||
class CustomAttributeNestedDataObject extends \Magento\Framework\Model\AbstractExtensibleModel implements
|
||||
CustomAttributeNestedDataObjectInterface
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_data['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
return $this->setData('name', $name);
|
||||
}
|
||||
}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\TestModuleMSC\Model\Data\Eav;
|
||||
|
||||
use Magento\Framework\Api\AbstractExtensibleObject;
|
||||
use Magento\Framework\Api\MetadataObjectInterface;
|
||||
|
||||
/**
|
||||
* Class AttributeMetadata
|
||||
*/
|
||||
class AttributeMetadata extends AbstractExtensibleObject implements MetadataObjectInterface
|
||||
{
|
||||
/**#@+
|
||||
* Constants used as keys into $_data
|
||||
*/
|
||||
const ATTRIBUTE_ID = 'attribute_id';
|
||||
|
||||
const ATTRIBUTE_CODE = 'attribute_code';
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Retrieve id of the attribute.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getAttributeId()
|
||||
{
|
||||
return $this->_get(self::ATTRIBUTE_ID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set id of the attribute.
|
||||
*
|
||||
* @param string $attributeId
|
||||
* @return $this
|
||||
*/
|
||||
public function setAttributeId($attributeId)
|
||||
{
|
||||
return $this->setData(self::ATTRIBUTE_ID, $attributeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve code of the attribute.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getAttributeCode()
|
||||
{
|
||||
return $this->_get(self::ATTRIBUTE_CODE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set code of the attribute.
|
||||
*
|
||||
* @param string $attributeCode
|
||||
* @return $this
|
||||
*/
|
||||
public function setAttributeCode($attributeCode)
|
||||
{
|
||||
return $this->setData(self::ATTRIBUTE_CODE, $attributeCode);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\TestModuleMSC\Model\Data;
|
||||
|
||||
use Magento\TestModuleMSC\Api\Data\ItemInterface;
|
||||
|
||||
/**
|
||||
* Class Item
|
||||
*
|
||||
* @method \Magento\TestModuleMSC\Api\Data\ItemExtensionInterface getExtensionAttributes()
|
||||
*/
|
||||
class Item extends \Magento\Framework\Model\AbstractExtensibleModel implements ItemInterface
|
||||
{
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getItemId()
|
||||
{
|
||||
return $this->_data['item_id'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $itemId
|
||||
* @return $this
|
||||
*/
|
||||
public function setItemId($itemId)
|
||||
{
|
||||
return $this->setData('item_id', $itemId);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_data['name'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
return $this->setData('name', $name);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\TestModuleMSC\Model\ResourceModel;
|
||||
|
||||
/**
|
||||
* Sample resource model
|
||||
*/
|
||||
class Item extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
|
||||
{
|
||||
/**
|
||||
* Initialize connection and define main table
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function _construct()
|
||||
{
|
||||
$this->_init('dummy_item', 'dummy_item_id');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user