13
13
use Magento \Framework \EntityManager \EntityManager ;
14
14
use Magento \Framework \Api \SearchCriteria \CollectionProcessorInterface ;
15
15
use Magento \AsynchronousOperations \Api \Data \OperationSearchResultsInterfaceFactory as SearchResultFactory ;
16
+ use Magento \AsynchronousOperations \Api \Data \OperationExtensionInterfaceFactory ;
16
17
use Magento \AsynchronousOperations \Model \ResourceModel \Operation \CollectionFactory ;
17
18
use Magento \Framework \Api \ExtensionAttribute \JoinProcessorInterface ;
18
19
use Magento \Framework \Exception \InputException ;
@@ -43,6 +44,11 @@ class OperationRepository implements \Magento\AsynchronousOperations\Api\Operati
43
44
*/
44
45
private $ joinProcessor ;
45
46
47
+ /**
48
+ * @var \Magento\AsynchronousOperations\Api\Data\OperationExtensionInterfaceFactory
49
+ */
50
+ private $ operationExtensionFactory ;
51
+
46
52
/**
47
53
* @var CollectionProcessorInterface
48
54
*/
@@ -60,6 +66,7 @@ class OperationRepository implements \Magento\AsynchronousOperations\Api\Operati
60
66
* @param \Magento\AsynchronousOperations\Model\ResourceModel\Operation\CollectionFactory $collectionFactory
61
67
* @param \Magento\AsynchronousOperations\Api\Data\OperationSearchResultsInterfaceFactory $searchResultFactory
62
68
* @param \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor
69
+ * @param \Magento\AsynchronousOperations\Api\Data\OperationExtensionInterfaceFactory $operationExtensionFactory
63
70
* @param \Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface|null $collectionProcessor
64
71
* @param \Psr\Log\LoggerInterface $logger
65
72
*/
@@ -68,13 +75,15 @@ public function __construct(
68
75
CollectionFactory $ collectionFactory ,
69
76
SearchResultFactory $ searchResultFactory ,
70
77
JoinProcessorInterface $ joinProcessor ,
78
+ OperationExtensionInterfaceFactory $ operationExtension ,
71
79
CollectionProcessorInterface $ collectionProcessor = null ,
72
80
\Psr \Log \LoggerInterface $ logger
73
81
) {
74
82
$ this ->entityManager = $ entityManager ;
75
83
$ this ->collectionFactory = $ collectionFactory ;
76
84
$ this ->searchResultFactory = $ searchResultFactory ;
77
85
$ this ->joinProcessor = $ joinProcessor ;
86
+ $ this ->operationExtensionFactory = $ operationExtension ;
78
87
$ this ->collectionProcessor = $ collectionProcessor ? : ObjectManager::getInstance ()
79
88
->get (\Magento \Framework \Api \SearchCriteria \CollectionProcessorInterface::class);
80
89
$ this ->logger = $ logger ;
@@ -95,7 +104,21 @@ public function getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCr
95
104
96
105
$ searchResult ->setSearchCriteria ($ searchCriteria );
97
106
$ searchResult ->setTotalCount ($ collection ->getSize ());
98
- $ searchResult ->setItems ($ collection ->getItems ());
107
+
108
+ $ items = [];
109
+
110
+ foreach ($ collection ->getItems () as $ item ) {
111
+ $ extensionAttributes = $ item ->getExtensionAttributes ();
112
+ if ($ extensionAttributes == null ) {
113
+ $ extensionAttributes = $ this ->operationExtensionFactory ->create ();
114
+ }
115
+ $ extensionAttributes ->setStartTime ('dsadsa ' );
116
+ $ item ->setExtensionAttributes ($ extensionAttributes );
117
+ $ items [] = $ item ;
118
+ }
119
+
120
+ $ searchResult ->setItems ($ items );
121
+
99
122
100
123
return $ searchResult ;
101
124
}
0 commit comments