8
8
namespace Magento \MediaGallery \Model \ResourceModel ;
9
9
10
10
use Magento \Framework \Exception \LocalizedException ;
11
- use Magento \MediaGalleryApi \Api \Data \AssetInterfaceFactory ;
12
- use Magento \MediaGalleryApi \Api \SearchAssetsInterface ;
13
11
use Magento \Framework \App \ResourceConnection ;
14
12
use Psr \Log \LoggerInterface ;
15
13
use Magento \Framework \Api \Search \SearchResultInterface ;
19
17
use Magento \MediaGalleryApi \Api \Data \AssetInterface ;
20
18
21
19
/**
22
- * Get media assets by searchCriteria
20
+ * Get assets data by searchCriteria
23
21
*/
24
- class SearchAssets implements SearchAssetsInterface
22
+ class GetAssetsBySearchCriteria
25
23
{
26
24
private const TABLE_MEDIA_GALLERY_ASSET = 'media_gallery_asset ' ;
27
25
@@ -30,11 +28,6 @@ class SearchAssets implements SearchAssetsInterface
30
28
*/
31
29
private $ resourceConnection ;
32
30
33
- /**
34
- * @var AssetInterfaceFactory
35
- */
36
- private $ mediaAssetFactory ;
37
-
38
31
/**
39
32
* @var SearchResultFactory
40
33
*/
@@ -48,60 +41,25 @@ class SearchAssets implements SearchAssetsInterface
48
41
/**
49
42
* @param SearchResultFactory $searchResultFactory
50
43
* @param ResourceConnection $resourceConnection
51
- * @param AssetInterfaceFactory $mediaAssetFactory
52
44
* @param LoggerInterface $logger
53
45
*/
54
46
public function __construct (
55
47
SearchResultFactory $ searchResultFactory ,
56
48
ResourceConnection $ resourceConnection ,
57
- AssetInterfaceFactory $ mediaAssetFactory ,
58
49
LoggerInterface $ logger
59
50
) {
60
51
$ this ->searchResultFactory = $ searchResultFactory ;
61
52
$ this ->resourceConnection = $ resourceConnection ;
62
- $ this ->mediaAssetFactory = $ mediaAssetFactory ;
63
53
$ this ->logger = $ logger ;
64
54
}
65
55
66
- /**
67
- * @inheritdoc
68
- */
69
- public function execute (SearchCriteriaInterface $ searchCriteria ): array
70
- {
71
- $ assets = [];
72
- try {
73
- foreach ($ this ->getAssetsData ($ searchCriteria )->getItems () as $ assetData ) {
74
- $ assets [] = $ this ->mediaAssetFactory ->create (
75
- [
76
- 'id ' => $ assetData ['id ' ],
77
- 'path ' => $ assetData ['path ' ],
78
- 'title ' => $ assetData ['title ' ],
79
- 'description ' => $ assetData ['description ' ],
80
- 'source ' => $ assetData ['source ' ],
81
- 'hash ' => $ assetData ['hash ' ],
82
- 'contentType ' => $ assetData ['content_type ' ],
83
- 'width ' => $ assetData ['width ' ],
84
- 'height ' => $ assetData ['height ' ],
85
- 'size ' => $ assetData ['size ' ],
86
- 'createdAt ' => $ assetData ['created_at ' ],
87
- 'updatedAt ' => $ assetData ['updated_at ' ],
88
- ]
89
- );
90
- }
91
- } catch (\Exception $ exception ) {
92
- $ this ->logger ->critical ($ exception );
93
- throw new LocalizedException (__ ('Could not retrieve media assets ' ), $ exception ->getMessage ());
94
- }
95
- return $ assets ;
96
- }
97
-
98
56
/**
99
57
* Retrieve assets data from database
100
58
*
101
59
* @param SearchCriteriaInterface $searchCriteria
102
60
* @return SearchResultInterface
103
61
*/
104
- private function getAssetsData (SearchCriteriaInterface $ searchCriteria ): SearchResultInterface
62
+ public function execute (SearchCriteriaInterface $ searchCriteria ): SearchResultInterface
105
63
{
106
64
$ searchResult = $ this ->searchResultFactory ->create ();
107
65
$ fields = [];
@@ -164,7 +122,7 @@ public function getResultCondition($field, $condition = null)
164
122
$ resultCondition = '( ' . implode (') ' . Select::SQL_OR . ' ( ' , $ conditions ) . ') ' ;
165
123
} else {
166
124
$ resultCondition = $ resourceConnection ->prepareSqlCondition (
167
- $ resourceConnection ->quoteIdentifier ($ value ),
125
+ $ resourceConnection ->quoteIdentifier ($ field ),
168
126
$ condition
169
127
);
170
128
}
0 commit comments