diff --git a/Api/Data/MessageInterface.php b/Api/Data/MessageInterface.php index c3e06a8..10d4bb8 100644 --- a/Api/Data/MessageInterface.php +++ b/Api/Data/MessageInterface.php @@ -1,7 +1,22 @@ _get(self::MESSAGE_ID); @@ -222,7 +222,7 @@ public function setSellerSend($sellerSend) } /** - * {@inheritdoc} + * @inheritDoc */ public function getExtensionAttributes() { @@ -230,7 +230,7 @@ public function getExtensionAttributes() } /** - * {@inheritdoc} + * @inheritDoc */ public function setExtensionAttributes( \Lof\MarketplaceGraphQl\Api\Data\MessageExtensionInterface $extensionAttributes diff --git a/Model/MessageRepository.php b/Model/MessageRepository.php index 420f391..107e56b 100644 --- a/Model/MessageRepository.php +++ b/Model/MessageRepository.php @@ -1,8 +1,22 @@ extensionAttributesJoinProcessor = $extensionAttributesJoinProcessor; $this->extensibleDataObjectConverter = $extensibleDataObjectConverter; $this->dataMessageFactory = $dataMessageFactory; -; + ; } /** - * {@inheritdoc} + * @inheritDoc */ public function getListSellerMessages( int $sellerId, - \Magento\Framework\Api\SearchCriteriaInterface $criteria + \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria ) { $collection = $this->messageCollectionFactory->create(); @@ -110,12 +165,12 @@ public function getListSellerMessages( \Lof\MarketplaceGraphQl\Api\Data\MessageInterface::class ); - $this->collectionProcessor->process($criteria, $collection); + $this->collectionProcessor->process($searchCriteria, $collection); $collection->addFieldToFilter("owner_id", $sellerId); $searchResults = $this->searchResultsFactory->create(); - $searchResults->setSearchCriteria($criteria); + $searchResults->setSearchCriteria($searchCriteria); $items = []; foreach ($collection as $key => $model) { @@ -128,7 +183,7 @@ public function getListSellerMessages( } /** - * {@inheritdoc} + * @inheritDoc */ public function getListMessages( int $customerId, @@ -159,7 +214,7 @@ public function getListMessages( } /** - * convert array data to object + * Convert array data to object * * @param array|mixed $data * @return MessageInterface diff --git a/Model/Resolver/AbstractSellerQuery.php b/Model/Resolver/AbstractSellerQuery.php index f004afc..fb1cf3c 100755 --- a/Model/Resolver/AbstractSellerQuery.php +++ b/Model/Resolver/AbstractSellerQuery.php @@ -89,6 +89,8 @@ public function __construct( } /** + * Validate arguments. + * * @param array $args * * @throws GraphQlInputException diff --git a/Model/Resolver/BecomeSeller.php b/Model/Resolver/BecomeSeller.php index b1512ff..4cf1e9a 100644 --- a/Model/Resolver/BecomeSeller.php +++ b/Model/Resolver/BecomeSeller.php @@ -34,11 +34,6 @@ use Magento\CustomerGraphQl\Model\Customer\GetCustomer; use Magento\Catalog\Model\Product\Url; - -/** - * Class BecomeSeller - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class BecomeSeller implements ResolverInterface { @@ -82,7 +77,7 @@ public function __construct( } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -123,6 +118,4 @@ public function resolve( "message" => $message ]; } - - } diff --git a/Model/Resolver/CreateSeller.php b/Model/Resolver/CreateSeller.php index bdff2ab..de29c87 100644 --- a/Model/Resolver/CreateSeller.php +++ b/Model/Resolver/CreateSeller.php @@ -35,13 +35,8 @@ use Lof\MarketplaceGraphQl\Model\Resolver\DataProvider\CreateSeller as DataProviderCreateSeller; use Lof\MarketPlace\Api\Data\RegisterSellerInterfaceFactory; -/** - * Class CreateSeller - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class CreateSeller implements ResolverInterface { - /** * @var GetCustomer */ @@ -106,7 +101,7 @@ public function __construct( } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, diff --git a/Model/Resolver/Customer/DeleteMessage.php b/Model/Resolver/Customer/DeleteMessage.php index 9175266..6a63e0c 100644 --- a/Model/Resolver/Customer/DeleteMessage.php +++ b/Model/Resolver/Customer/DeleteMessage.php @@ -1,5 +1,4 @@ getUserId(); - $searchCriteria = $this->searchCriteriaBuilder->build( 'lof_seller_messages', $args ); - $searchCriteria->setCurrentPage( $args['currentPage'] ); - $searchCriteria->setPageSize( $args['pageSize'] ); + $searchCriteria = $this->searchCriteriaBuilder->build('lof_seller_messages', $args); + $searchCriteria->setCurrentPage($args['currentPage']); + $searchCriteria->setPageSize($args['pageSize']); $searchResult = $this->repository->getListMessages($customerId, $searchCriteria); $totalPages = $args['pageSize'] ? ((int)ceil($searchResult->getTotalCount() / $args['pageSize'])) : 0; diff --git a/Model/Resolver/Customer/ReplyMessage.php b/Model/Resolver/Customer/ReplyMessage.php index 26fbfa9..5a1fa61 100644 --- a/Model/Resolver/Customer/ReplyMessage.php +++ b/Model/Resolver/Customer/ReplyMessage.php @@ -1,5 +1,4 @@ customerMessageRepository->replyMessage($context->getUserId(), (int)$input['message_id'], $input['content']); + return $this->customerMessageRepository->replyMessage( + $context->getUserId(), + (int)$input['message_id'], + $input['content'] + ); } } diff --git a/Model/Resolver/Customer/Seller.php b/Model/Resolver/Customer/Seller.php index 88ab57d..eb157f7 100644 --- a/Model/Resolver/Customer/Seller.php +++ b/Model/Resolver/Customer/Seller.php @@ -25,15 +25,10 @@ use Magento\Framework\GraphQl\Config\Element\Field; use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -use Magento\Framework\GraphQl\Exception\GraphQlInputException; use Magento\Framework\GraphQl\Exception\GraphQlAuthorizationException; use Lof\MarketplaceGraphQl\Model\Resolver\AbstractSellerQuery; +use Magento\GraphQl\Model\Query\ContextInterface; -/** - * Class Seller - * - * @package Lof\MarketplaceGraphQl\Model\Resolver\Custome - */ class Seller extends AbstractSellerQuery implements ResolverInterface { /** diff --git a/Model/Resolver/Customer/SendMessage.php b/Model/Resolver/Customer/SendMessage.php index 6ff8cfa..be5506b 100644 --- a/Model/Resolver/Customer/SendMessage.php +++ b/Model/Resolver/Customer/SendMessage.php @@ -29,8 +29,6 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\Framework\GraphQl\Exception\GraphQlAuthorizationException; -use Lof\MarketPlace\Model\ResourceModel\Seller\CollectionFactory; - class SendMessage implements ResolverInterface { @@ -49,7 +47,7 @@ public function __construct( } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -66,9 +64,9 @@ public function resolve( } $input = $args['input']; - $sellerUrl = isset($input['seller_url']) ? $input['seller_url'] : ""; - $content = isset($input['content']) ? $input['content'] : ""; - $subject = isset($input['subject']) ? $input['subject'] : ""; + $sellerUrl = $input['seller_url'] ?? ""; + $content = $input['content'] ?? ""; + $subject = $input['subject'] ?? ""; if (empty($sellerUrl) || empty($content)) { throw new GraphQlInputException(__('"seller_url" and "content" value should be specified')); diff --git a/Model/Resolver/CustomerSendMessageSeller.php b/Model/Resolver/CustomerSendMessageSeller.php index 96cb28f..c82ce69 100644 --- a/Model/Resolver/CustomerSendMessageSeller.php +++ b/Model/Resolver/CustomerSendMessageSeller.php @@ -37,6 +37,9 @@ class CustomerSendMessageSeller implements ResolverInterface */ private $customerMessageRepository; + /** + * @param CustomerMessageRepositoryInterface $customerMessageRepository + */ public function __construct( CustomerMessageRepositoryInterface $customerMessageRepository ) { @@ -44,7 +47,7 @@ public function __construct( } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, diff --git a/Model/Resolver/DataProvider/CreateSeller.php b/Model/Resolver/DataProvider/CreateSeller.php index 714af90..4cec9d2 100755 --- a/Model/Resolver/DataProvider/CreateSeller.php +++ b/Model/Resolver/DataProvider/CreateSeller.php @@ -23,6 +23,8 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\DataProvider; +use Lof\MarketPlace\Api\Data\RegisterSellerInterface; +use Lof\MarketPlace\Api\Data\SellerInterface; use Lof\MarketPlace\Api\SellersRepositoryInterface; use Magento\Customer\Api\Data\CustomerInterface; use Magento\Framework\Exception\InputException; @@ -34,7 +36,6 @@ */ class CreateSeller { - /** * @var SellersRepositoryInterface */ @@ -51,8 +52,10 @@ public function __construct( } /** - * @param $data - * @param $customerId + * Create seller. + * + * @param SellerInterface $data + * @param int $customerId * @return mixed * @throws LocalizedException */ @@ -62,15 +65,17 @@ public function createSeller($data, $customerId) } /** + * Register seller. + * * @param CustomerInterface $customer - * @param $data - * @param $password - * @return \Lof\MarketPlace\Api\Data\SellerInterface|array|mixed|string|null + * @param RegisterSellerInterface $data + * @param string $password + * @return SellerInterface|array|mixed|string|null * @throws InputException * @throws LocalizedException * @throws InputMismatchException */ - public function registerSeller(CustomerInterface $customer, $data, $password) + public function registerSeller(CustomerInterface $customer, RegisterSellerInterface $data, string $password) { return $this->sellerRepository->registerNewSeller($customer, $data, $password); } diff --git a/Model/Resolver/FilterArgumentProduct.php b/Model/Resolver/FilterArgumentProduct.php index 2db951c..f9918ed 100755 --- a/Model/Resolver/FilterArgumentProduct.php +++ b/Model/Resolver/FilterArgumentProduct.php @@ -27,10 +27,6 @@ use Magento\Framework\GraphQl\ConfigInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesInterface; -/** - * Class FilterArgumentProduct - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class FilterArgumentProduct implements FieldEntityAttributesInterface { /** @var ConfigInterface */ @@ -46,7 +42,7 @@ public function __construct(ConfigInterface $config) } /** - * @return array + * @inheritDoc */ public function getEntityAttributes(): array { diff --git a/Model/Resolver/FilterArgumentRatings.php b/Model/Resolver/FilterArgumentRatings.php index dcff4c7..81a9d23 100644 --- a/Model/Resolver/FilterArgumentRatings.php +++ b/Model/Resolver/FilterArgumentRatings.php @@ -27,10 +27,6 @@ use Magento\Framework\GraphQl\ConfigInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesInterface; -/** - * Class FilterArgumentRatings - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class FilterArgumentRatings implements FieldEntityAttributesInterface { /** @var ConfigInterface */ @@ -46,7 +42,7 @@ public function __construct(ConfigInterface $config) } /** - * @return array + * @inheritDoc */ public function getEntityAttributes(): array { diff --git a/Model/Resolver/FilterArgumentSeller.php b/Model/Resolver/FilterArgumentSeller.php index 3f563ce..7650e58 100755 --- a/Model/Resolver/FilterArgumentSeller.php +++ b/Model/Resolver/FilterArgumentSeller.php @@ -27,10 +27,6 @@ use Magento\Framework\GraphQl\ConfigInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesInterface; -/** - * Class FilterArgumentSeller - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class FilterArgumentSeller implements FieldEntityAttributesInterface { /** @var ConfigInterface */ @@ -46,7 +42,7 @@ public function __construct(ConfigInterface $config) } /** - * @return array + * @inheritDoc */ public function getEntityAttributes(): array { diff --git a/Model/Resolver/FilterArgumentSellerGroup.php b/Model/Resolver/FilterArgumentSellerGroup.php index 087bca3..1a3f37e 100644 --- a/Model/Resolver/FilterArgumentSellerGroup.php +++ b/Model/Resolver/FilterArgumentSellerGroup.php @@ -27,10 +27,6 @@ use Magento\Framework\GraphQl\ConfigInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesInterface; -/** - * Class FilterArgumentSellerGroup - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class FilterArgumentSellerGroup implements FieldEntityAttributesInterface { /** @var ConfigInterface */ @@ -46,7 +42,7 @@ public function __construct(ConfigInterface $config) } /** - * @return array + * @inheritDoc */ public function getEntityAttributes(): array { diff --git a/Model/Resolver/MessageDetail.php b/Model/Resolver/MessageDetail.php index 3704c23..11388ed 100644 --- a/Model/Resolver/MessageDetail.php +++ b/Model/Resolver/MessageDetail.php @@ -1,18 +1,33 @@ searchQuery = $searchQuery; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, diff --git a/Model/Resolver/ProductBySellerUrl.php b/Model/Resolver/ProductBySellerUrl.php index 09cca5b..0de29db 100644 --- a/Model/Resolver/ProductBySellerUrl.php +++ b/Model/Resolver/ProductBySellerUrl.php @@ -37,7 +37,6 @@ /** * Class ProductSellers * - * @package Lof\MarketplaceGraphQl\Model\Resolver */ class ProductBySellerUrl extends AbstractSellerQuery implements ResolverInterface { @@ -57,7 +56,13 @@ class ProductBySellerUrl extends AbstractSellerQuery implements ResolverInterfac protected $sellerFactory; /** - * @inheritdoc + * @param SearchCriteriaBuilder $searchCriteriaBuilder + * @param SellersFrontendRepositoryInterface $seller + * @param SellerProductsRepositoryInterface $productSeller + * @param ProductRepositoryInterface $productRepository + * @param ProductQueryInterface $searchQuery + * @param SellerFactory $sellerFactory + * @param SellersRepositoryInterface $sellerManagementRepository */ public function __construct( SearchCriteriaBuilder $searchCriteriaBuilder, @@ -70,11 +75,17 @@ public function __construct( ) { $this->searchQuery = $searchQuery; $this->sellerFactory = $sellerFactory; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -82,8 +93,7 @@ public function resolve( ResolveInfo $info, array $value = null, array $args = null - ) - { + ) { if ($args['currentPage'] < 1) { throw new GraphQlInputException(__('currentPage value must be greater than 0.')); } @@ -127,7 +137,7 @@ public function resolve( } /** - * get seller by sellerUrl + * Get seller by sellerUrl * * @param string $sellerUrl * @return \Lof\MarketPlace\Model\Seller diff --git a/Model/Resolver/ProductSellers.php b/Model/Resolver/ProductSellers.php index b7dd2a1..0520e92 100755 --- a/Model/Resolver/ProductSellers.php +++ b/Model/Resolver/ProductSellers.php @@ -33,11 +33,6 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -/** - * Class ProductSellers - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class ProductSellers extends AbstractSellerQuery implements ResolverInterface { /** @@ -46,7 +41,7 @@ class ProductSellers extends AbstractSellerQuery implements ResolverInterface private $searchQuery; /** - * @inheritdoc + * @inheritDoc */ public function __construct( SearchCriteriaBuilder $searchCriteriaBuilder, @@ -57,11 +52,17 @@ public function __construct( SellersRepositoryInterface $sellerManagementRepository ) { $this->searchQuery = $searchQuery; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -93,7 +94,7 @@ public function resolve( ); } - $data = [ + return [ 'total_count' => $searchResult->getTotalCount(), 'items' => $searchResult->getProductsSearchResult(), 'page_info' => [ @@ -104,7 +105,5 @@ public function resolve( 'search_result' => $searchResult, 'layer_type' => isset($args['search']) ? Resolver::CATALOG_LAYER_SEARCH : Resolver::CATALOG_LAYER_CATEGORY, ]; - - return $data; } } diff --git a/Model/Resolver/Products/DataProvider/ProductSearch.php b/Model/Resolver/Products/DataProvider/ProductSearch.php index 78b94e4..c9f0b92 100755 --- a/Model/Resolver/Products/DataProvider/ProductSearch.php +++ b/Model/Resolver/Products/DataProvider/ProductSearch.php @@ -23,7 +23,6 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\Products\DataProvider; -use Laminas\Db\Sql\Ddl\Column\Integer; use Magento\Catalog\Api\Data\ProductSearchResultsInterfaceFactory; use Magento\Catalog\Model\ResourceModel\Product\Collection; use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; @@ -121,12 +120,14 @@ public function getList( } else { $collection->addFieldToFilter('seller_id', ['neq' => 0]); } - $collection->addAttributeToFilter('approval', - ['in' => [ - SellerProduct::STATUS_NOT_SUBMITED, + $collection->addAttributeToFilter( + 'approval', + ['in' => [ + SellerProduct::STATUS_NOT_SUBMITTED, SellerProduct::STATUS_APPROVED ] - ]); + ] + ); //Create a copy of search criteria without filters to preserve the results from search $searchCriteriaForCollection = $this->searchCriteriaBuilder->build($searchCriteria); @@ -162,8 +163,7 @@ private function getSearchResultsApplier( SearchResultInterface $searchResult, Collection $collection, array $orders - ): SearchResultApplierInterface - { + ): SearchResultApplierInterface { return $this->searchResultApplierFactory->create( [ 'collection' => $collection, diff --git a/Model/Resolver/Products/DataProvider/Sellers.php b/Model/Resolver/Products/DataProvider/Sellers.php index a51c2e3..6233ed2 100644 --- a/Model/Resolver/Products/DataProvider/Sellers.php +++ b/Model/Resolver/Products/DataProvider/Sellers.php @@ -30,7 +30,6 @@ use Magento\CatalogGraphQl\Model\Resolver\Products\SearchResultFactory; use Magento\Framework\Api\Search\SearchCriteriaInterface; use Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface; -use Magento\Framework\Exception\InputException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; @@ -41,6 +40,7 @@ use Lof\MarketplaceGraphQl\Model\Resolver\Products\Query\FieldSelection; use Magento\Store\Model\StoreManagerInterface; use Lof\MarketPlace\Api\SellersFrontendRepositoryInterface; + /** * Full text search for catalog using given search criteria. */ @@ -75,22 +75,27 @@ class Sellers implements SellerQueryInterface * @var SearchCriteriaBuilder */ private $searchCriteriaBuilder; + /** * @var CollectionFactory */ private $_collection; + /** * @var CollectionProcessorInterface */ private $collectionProcessor; + /** * @var SellersSearchResultsInterfaceFactory */ private $searchResultsFactory; + /** * @var StoreManagerInterface */ private $_storeManager; + /** * @var SellersFrontendRepositoryInterface */ @@ -136,15 +141,11 @@ public function __construct( } /** - * @param SearchCriteriaInterface $criteria - * @param array $args - * @param ResolveInfo $info - * @param ContextInterface $context - * @return SellerInterface|SellersSearchResultsInterface + * @inheritDoc + * * @throws NoSuchEntityException|LocalizedException */ - public function getListSellers - ( + public function getListSellers( SearchCriteriaInterface $criteria, array $args, ResolveInfo $info, @@ -160,12 +161,12 @@ public function getListSellers $data["banner_pic"] = (!isset($data["banner_pic"]) || (isset($data["banner_pic"]) && empty($data["banner_pic"]))) ? $data['image'] : $data["banner_pic"]; $data["logo_pic"] = (!isset($data["logo_pic"]) || (isset($data["logo_pic"]) && empty($data["logo_pic"]))) ? $data['thumbnail'] : $data["logo_pic"]; $data["image"] = $this->_storeManager->getStore()->getBaseUrl( - \Magento\Framework\UrlInterface::URL_TYPE_MEDIA - ) . $data["image"]; + \Magento\Framework\UrlInterface::URL_TYPE_MEDIA + ) . $data["image"]; $data["thumbnail"] = $this->_storeManager->getStore()->getBaseUrl( - \Magento\Framework\UrlInterface::URL_TYPE_MEDIA - ) . $data["thumbnail"]; + \Magento\Framework\UrlInterface::URL_TYPE_MEDIA + ) . $data["thumbnail"]; } $args['seller_id'] = $val->getData('seller_id'); $sellerRates = $this->sellerFrontendRepository->getSellersRating($data['seller_id'])->__toArray(); @@ -209,7 +210,7 @@ public function getResult( //Address limitations of sort and pagination on search API apply original pagination from GQL query $searchCriteria->setPageSize($realPageSize); $searchCriteria->setCurrentPage($realCurrentPage); - if(isset($args['seller_id'])) { + if (isset($args['seller_id'])) { $searchResults = $this->productsProvider->getList( $searchCriteria, $itemsResults, diff --git a/Model/Resolver/Products/Query/Filter.php b/Model/Resolver/Products/Query/Filter.php index 7bb3850..b7f23ed 100755 --- a/Model/Resolver/Products/Query/Filter.php +++ b/Model/Resolver/Products/Query/Filter.php @@ -51,7 +51,7 @@ class Filter implements ProductQueryInterface private $productDataProvider; /** - * FieldSelection + * @var FieldSelection */ private $fieldSelection; @@ -87,15 +87,9 @@ public function __construct( } /** - * Filter catalog product data based off given search criteria - * - * @param array $args - * @param ResolveInfo $info - * @param ContextInterface $context - * @return SearchResult + * @inheritDoc */ - public function getResult - ( + public function getResult( array $args, ResolveInfo $info, ContextInterface $context diff --git a/Model/Resolver/Products/Query/ProductQueryInterface.php b/Model/Resolver/Products/Query/ProductQueryInterface.php index 1ce61b9..c89017c 100755 --- a/Model/Resolver/Products/Query/ProductQueryInterface.php +++ b/Model/Resolver/Products/Query/ProductQueryInterface.php @@ -39,5 +39,4 @@ interface ProductQueryInterface * @return SearchResult */ public function getResult(array $args, ResolveInfo $info, ContextInterface $context): SearchResult; - } diff --git a/Model/Resolver/Products/Query/Search.php b/Model/Resolver/Products/Query/Search.php index cb0eb3d..d52044f 100755 --- a/Model/Resolver/Products/Query/Search.php +++ b/Model/Resolver/Products/Query/Search.php @@ -27,7 +27,6 @@ use Magento\CatalogGraphQl\Model\Resolver\Products\SearchResult; use Magento\CatalogGraphQl\Model\Resolver\Products\SearchResultFactory; use Magento\Framework\Api\Search\SearchCriteriaInterface; -use Magento\Framework\Exception\InputException; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\GraphQl\Model\Query\ContextInterface; use Magento\Search\Api\SearchInterface; @@ -92,12 +91,8 @@ public function __construct( $this->searchCriteriaBuilder = $searchCriteriaBuilder; } - /** - * @param array $args - * @param ResolveInfo $info - * @param ContextInterface $context - * @return SearchResult + * @inheritDoc */ public function getResult( array $args, @@ -118,7 +113,7 @@ public function getResult( //Address limitations of sort and pagination on search API apply original pagination from GQL query $searchCriteria->setPageSize($realPageSize); $searchCriteria->setCurrentPage($realCurrentPage); - if(isset($args['seller_id'])) { + if (isset($args['seller_id'])) { $searchResults = $this->productsProvider->getList( $searchCriteria, $itemsResults, diff --git a/Model/Resolver/Products/Query/SellerQueryInterface.php b/Model/Resolver/Products/Query/SellerQueryInterface.php index 4515de6..dcdbf99 100755 --- a/Model/Resolver/Products/Query/SellerQueryInterface.php +++ b/Model/Resolver/Products/Query/SellerQueryInterface.php @@ -39,6 +39,10 @@ interface SellerQueryInterface * @param ContextInterface $context * @return mixed */ - public function getListSellers(SearchCriteriaInterface $criteria, array $args, ResolveInfo $info, ContextInterface $context); - + public function getListSellers( + SearchCriteriaInterface $criteria, + array $args, + ResolveInfo $info, + ContextInterface $context + ); } diff --git a/Model/Resolver/ReviewSeller.php b/Model/Resolver/ReviewSeller.php index 77d1c42..ef7693a 100644 --- a/Model/Resolver/ReviewSeller.php +++ b/Model/Resolver/ReviewSeller.php @@ -25,7 +25,6 @@ use Lof\MarketPlace\Api\Data\SellerInterface; use Lof\MarketPlace\Api\SellersFrontendRepositoryInterface; -use Lof\MarketPlace\Api\SellersRepositoryInterface; use Lof\MarketPlace\Helper\Data; use Lof\MarketPlace\Model\RatingFactory; use Lof\MarketPlace\Model\Sender; @@ -34,10 +33,6 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -/** - * Class ReviewSeller - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class ReviewSeller implements ResolverInterface { @@ -87,7 +82,7 @@ public function __construct( } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -99,7 +94,8 @@ public function resolve( if (!($args['input']) || !isset($args['input'])) { throw new GraphQlInputException(__('"input" value should be specified')); } - if (!isset($args['input']['seller_url']) || (isset($args['input']['seller_url']) && !$args['input']['seller_url'])) { + if (!isset($args['input']['seller_url']) || + (isset($args['input']['seller_url']) && !$args['input']['seller_url'])) { throw new GraphQlInputException(__('seller_url is required.')); } $args = $args['input']; @@ -115,7 +111,7 @@ public function resolve( $args['seller_name'] = $seller->getName(); $args['rating'] = ($args['rate1']+$args['rate2']+$args['rate3'])/3; - if($this->helper->getConfig('general_settings/rating_approval')) { + if ($this->helper->getConfig('general_settings/rating_approval')) { $args['status'] = 'pending'; } else { $args['status'] = 'accept'; @@ -126,7 +122,7 @@ public function resolve( $args['namestore'] = $this->helper->getStoreName(); $args['urllogin'] = $this->helper->getStoreUrl('customer/account/login'); - if($this->helper->getConfig('email_settings/enable_send_email')) { + if ($this->helper->getConfig('email_settings/enable_send_email')) { $this->sender->newRating($args); } return [ diff --git a/Model/Resolver/Seller.php b/Model/Resolver/Seller.php index 4fd2781..bcf0cf0 100644 --- a/Model/Resolver/Seller.php +++ b/Model/Resolver/Seller.php @@ -28,11 +28,6 @@ use Magento\Framework\GraphQl\Exception\GraphQlInputException; use Magento\Catalog\Model\Product; -/** - * Class Seller - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class Seller extends AbstractSellerQuery implements ResolverInterface { /** diff --git a/Model/Resolver/Seller/ReplyMessage.php b/Model/Resolver/Seller/ReplyMessage.php index 09d1733..cda3488 100644 --- a/Model/Resolver/Seller/ReplyMessage.php +++ b/Model/Resolver/Seller/ReplyMessage.php @@ -1,5 +1,4 @@ customerSession->getCustomer()->getId(); - return $this->sellerMessageRepository->sellerReplyMessage((int) $customerId, $input['message_id'], $input['content'] ); - + return $this->sellerMessageRepository->sellerReplyMessage( + (int) $customerId, + $input['message_id'], + $input['content'] + ); } } diff --git a/Model/Resolver/SellerById.php b/Model/Resolver/SellerById.php index 182f0c1..80f5aaa 100755 --- a/Model/Resolver/SellerById.php +++ b/Model/Resolver/SellerById.php @@ -25,11 +25,6 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -/** - * Class SellerById - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class SellerById extends AbstractSellerQuery implements ResolverInterface { /** diff --git a/Model/Resolver/SellerById/Identity.php b/Model/Resolver/SellerById/Identity.php index 8463746..9517650 100644 --- a/Model/Resolver/SellerById/Identity.php +++ b/Model/Resolver/SellerById/Identity.php @@ -21,24 +21,22 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\SellerById; - use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; class Identity implements IdentityInterface { - + /** + * @var string + */ private $cacheTag = \Magento\Framework\App\Config::CACHE_TAG; /** - * @param array $resolvedData - * @return string[] + * @inheritDoc */ public function getIdentities(array $resolvedData): array { - $ids = empty($resolvedData['seller_id']) ? - [] : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_id'])]; - - return $ids; + return empty($resolvedData['seller_id']) + ? [] + : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_id'])]; } } - diff --git a/Model/Resolver/SellerByProduct.php b/Model/Resolver/SellerByProduct.php index 8c9baae..10cc3cb 100755 --- a/Model/Resolver/SellerByProduct.php +++ b/Model/Resolver/SellerByProduct.php @@ -32,11 +32,7 @@ use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\Catalog\Model\ProductRepository; use Magento\Catalog\Model\ResourceModel\Product\Collection; -/** - * Class SellerByProduct - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ + class SellerByProduct extends AbstractSellerQuery implements ResolverInterface { /** @@ -50,7 +46,7 @@ class SellerByProduct extends AbstractSellerQuery implements ResolverInterface private $productCollection; /** - * @inheritdoc + * @inheritDoc */ public function __construct( SearchCriteriaBuilder $searchCriteriaBuilder, @@ -60,17 +56,22 @@ public function __construct( ProductRepository $product, Collection $collection, SellersRepositoryInterface $sellerManagementRepository - ) - { + ) { $this->product = $product; $this->productCollection = $collection; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** * @inheritDoc */ - public function resolve( Field $field, $context, ResolveInfo $info, array $value = null, array $args = null ) + public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null) { if (!isset($args['product_sku']) || (isset($args['product_sku']) && !$args['product_sku'])) { throw new GraphQlInputException( @@ -83,7 +84,12 @@ public function resolve( Field $field, $context, ResolveInfo $info, array $value $store = $context->getExtensionAttributes()->getStore(); $storeId = $store->getId(); - $sellerData = $this->_sellerRepository->getSellerByProductSku($args['product_sku'], $storeId, $isGetProducts, $isGetOtherInfo); + $sellerData = $this->_sellerRepository->getSellerByProductSku( + $args['product_sku'], + $storeId, + $isGetProducts, + $isGetOtherInfo + ); $data = $sellerData ? $sellerData->__toArray() : []; $data["model"] = $sellerData; diff --git a/Model/Resolver/SellerByProduct/Identity.php b/Model/Resolver/SellerByProduct/Identity.php index 3f103cb..a089c7b 100644 --- a/Model/Resolver/SellerByProduct/Identity.php +++ b/Model/Resolver/SellerByProduct/Identity.php @@ -21,24 +21,22 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\SellerByProduct; - use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; class Identity implements IdentityInterface { - + /** + * @var string + */ private $cacheTag = \Magento\Framework\App\Config::CACHE_TAG; /** - * @param array $resolvedData - * @return string[] + * @inheritDoc */ public function getIdentities(array $resolvedData): array { - $ids = empty($resolvedData['product_sku']) ? - [] : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['product_sku'])]; - - return $ids; + return empty($resolvedData['product_sku']) + ? [] + : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['product_sku'])]; } } - diff --git a/Model/Resolver/SellerByUrl.php b/Model/Resolver/SellerByUrl.php index 0827f9f..8e762fa 100644 --- a/Model/Resolver/SellerByUrl.php +++ b/Model/Resolver/SellerByUrl.php @@ -26,11 +26,6 @@ use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; use Magento\Framework\GraphQl\Exception\GraphQlInputException; -/** - * Class SellerByUrl - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class SellerByUrl extends AbstractSellerQuery implements ResolverInterface { /** diff --git a/Model/Resolver/SellerByUrl/Identity.php b/Model/Resolver/SellerByUrl/Identity.php index 4e8740a..0470a9d 100644 --- a/Model/Resolver/SellerByUrl/Identity.php +++ b/Model/Resolver/SellerByUrl/Identity.php @@ -21,24 +21,22 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\SellerByUrl; - use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; class Identity implements IdentityInterface { - + /** + * @var string + */ private $cacheTag = \Magento\Framework\App\Config::CACHE_TAG; /** - * @param array $resolvedData - * @return string[] + * @inheritDoc */ public function getIdentities(array $resolvedData): array { - $ids = empty($resolvedData['seller_url']) ? - [] : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_url'])]; - - return $ids; + return empty($resolvedData['seller_url']) + ? [] + : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_url'])]; } } - diff --git a/Model/Resolver/SellerGroups.php b/Model/Resolver/SellerGroups.php index 86b3d70..bc66871 100644 --- a/Model/Resolver/SellerGroups.php +++ b/Model/Resolver/SellerGroups.php @@ -38,14 +38,8 @@ use Magento\Store\Model\ScopeInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\SearchCriteria\ArgumentApplier\Filter; -/** - * Class SellerGroups - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class SellerGroups extends AbstractSellerQuery implements ResolverInterface { - /** * @var SellerGroupRepositoryInterface */ @@ -62,7 +56,7 @@ class SellerGroups extends AbstractSellerQuery implements ResolverInterface private $scopeConfig; /** - * Sellers constructor. + * SellerGroup constructor. * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param SellersFrontendRepositoryInterface $seller * @param SellerProductsRepositoryInterface $productSeller @@ -82,11 +76,17 @@ public function __construct( ) { $this->sellerGroup = $sellerGroup; $this->scopeConfig = $scopeConfig; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -111,8 +111,8 @@ public function resolve( $totalPages = $args['pageSize'] ? ((int)ceil($searchResult->getTotalCount() / $args['pageSize'])) : 0; $resultItems = $searchResult->getItems(); $items = []; - if($resultItems){ - foreach($resultItems as $_item){ + if ($resultItems) { + foreach ($resultItems as $_item) { $items[] = $_item->__toArray(); } } @@ -130,7 +130,7 @@ public function resolve( /** * Format match filter to behave like fuzzy match * - * @param array $filter + * @param array $filters * @param StoreInterface $store * @return array * @throws InputException diff --git a/Model/Resolver/SellerGroups/Identity.php b/Model/Resolver/SellerGroups/Identity.php index 1684f89..6d8f299 100644 --- a/Model/Resolver/SellerGroups/Identity.php +++ b/Model/Resolver/SellerGroups/Identity.php @@ -21,24 +21,22 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\SellerGroups; - use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; class Identity implements IdentityInterface { - + /** + * @var string + */ private $cacheTag = \Magento\Framework\App\Config::CACHE_TAG; /** - * @param array $resolvedData - * @return string[] + * @inheritDoc */ public function getIdentities(array $resolvedData): array { - $ids = empty($resolvedData['group_id']) ? - [] : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['group_id'])]; - - return $ids; + return empty($resolvedData['group_id']) + ? [] : + [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['group_id'])]; } } - diff --git a/Model/Resolver/SellerGroups/SortFields.php b/Model/Resolver/SellerGroups/SortFields.php index a08ba14..89c2ec2 100644 --- a/Model/Resolver/SellerGroups/SortFields.php +++ b/Model/Resolver/SellerGroups/SortFields.php @@ -31,7 +31,7 @@ class SortFields implements ResolverInterface { /** - * @inheritdoc + * @inheritDoc */ public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null) { @@ -42,12 +42,10 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value ['label' => "status", 'value' => "status"], ['label' => "shown_in_sidebar", 'value' => "shown_in_sidebar"] ]; - - $data = [ + + return [ 'default' => "position", 'options' => $sortFieldsOptions, ]; - - return $data; } } diff --git a/Model/Resolver/SellerRates.php b/Model/Resolver/SellerRates.php index bba6848..0a24d5a 100644 --- a/Model/Resolver/SellerRates.php +++ b/Model/Resolver/SellerRates.php @@ -33,11 +33,6 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -/** - * Class SellerRates - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class SellerRates extends AbstractSellerQuery implements ResolverInterface { /** @@ -56,7 +51,13 @@ class SellerRates extends AbstractSellerQuery implements ResolverInterface protected $sellerRatingRepository; /** - * @inheritdoc + * @param SearchCriteriaBuilder $searchCriteriaBuilder + * @param SellersFrontendRepositoryInterface $seller + * @param SellerProductsRepositoryInterface $productSeller + * @param ProductRepositoryInterface $productRepository + * @param ProductQueryInterface $searchQuery + * @param SellersRepositoryInterface $sellerManagementRepository + * @param SellerRatingsRepositoryInterface $sellerRatingRepository */ public function __construct( SearchCriteriaBuilder $searchCriteriaBuilder, @@ -69,11 +70,17 @@ public function __construct( ) { $this->searchQuery = $searchQuery; $this->sellerRatingRepository = $sellerRatingRepository; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -81,8 +88,7 @@ public function resolve( ResolveInfo $info, array $value = null, array $args = null - ) - { + ) { if ($args['currentPage'] < 1) { throw new GraphQlInputException(__('currentPage value must be greater than 0.')); } @@ -95,9 +101,9 @@ public function resolve( ); } - $searchCriteria = $this->searchCriteriaBuilder->build( 'lof_marketplace_seller_ratings', $args ); - $searchCriteria->setCurrentPage( $args['currentPage'] ); - $searchCriteria->setPageSize( $args['pageSize'] ); + $searchCriteria = $this->searchCriteriaBuilder->build('lof_marketplace_seller_ratings', $args); + $searchCriteria->setCurrentPage($args['currentPage']); + $searchCriteria->setPageSize($args['pageSize']); $searchResult = $this->sellerRatingRepository->getListByUrl($args['seller_url'], $searchCriteria); $totalPages = $args['pageSize'] ? ((int)ceil($searchResult->getTotalCount() / $args['pageSize'])) : 0; diff --git a/Model/Resolver/Sellers.php b/Model/Resolver/Sellers.php index d2d9244..ce403d5 100755 --- a/Model/Resolver/Sellers.php +++ b/Model/Resolver/Sellers.php @@ -38,11 +38,6 @@ use Magento\Store\Model\ScopeInterface; use Magento\Framework\GraphQl\Query\Resolver\Argument\SearchCriteria\ArgumentApplier\Filter; -/** - * Class Sellers - * - * @package Lof\MarketplaceGraphQl\Model\Resolver - */ class Sellers extends AbstractSellerQuery implements ResolverInterface { @@ -82,11 +77,17 @@ public function __construct( ) { $this->sellers = $sellers; $this->scopeConfig = $scopeConfig; - parent::__construct($searchCriteriaBuilder, $seller, $productSeller, $productRepository, $sellerManagementRepository); + parent::__construct( + $searchCriteriaBuilder, + $seller, + $productSeller, + $productRepository, + $sellerManagementRepository + ); } /** - * @inheritdoc + * @inheritDoc */ public function resolve( Field $field, @@ -102,7 +103,7 @@ public function resolve( throw new GraphQlInputException(__('pageSize value must be greater than 0.')); } $store = $context->getExtensionAttributes()->getStore(); - if(isset($args['filter']) && $args['filter']){ + if (isset($args['filter']) && $args['filter']) { $args[Filter::ARGUMENT_NAME] = $this->formatMatchFilters($args['filter'], $store); } $searchCriteria = $this->searchCriteriaBuilder->build('lof_marketplace_seller', $args); @@ -126,7 +127,7 @@ public function resolve( /** * Format match filter to behave like fuzzy match * - * @param array $filter + * @param array $filters * @param StoreInterface $store * @return array * @throws InputException @@ -142,7 +143,7 @@ private function formatMatchFilters(array $filters, StoreInterface $store): arra foreach ($filters as $filter => $condition) { $conditionType = current(array_keys($condition)); $tmpminQueryLength = $minQueryLength; - if(in_array($filter, $availableMatchFilters)){ + if (in_array($filter, $availableMatchFilters)) { $tmpminQueryLength = 1; } if ($conditionType === 'match') { @@ -152,7 +153,7 @@ private function formatMatchFilters(array $filters, StoreInterface $store): arra throw new InputException(__('Invalid match filter. Minimum length is %1.', $tmpminQueryLength)); } unset($filters[$filter]['match']); - if($filter == "store_id"){ + if ($filter == "store_id") { $searchValue = (int)$searchValue; } $filters[$filter]['like'] = '%' . $searchValue . '%'; diff --git a/Model/Resolver/Sellers/Identity.php b/Model/Resolver/Sellers/Identity.php index 6ff7398..ab660d4 100755 --- a/Model/Resolver/Sellers/Identity.php +++ b/Model/Resolver/Sellers/Identity.php @@ -21,24 +21,22 @@ namespace Lof\MarketplaceGraphQl\Model\Resolver\Sellers; - use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; class Identity implements IdentityInterface { - + /** + * @var string + */ private $cacheTag = \Magento\Framework\App\Config::CACHE_TAG; /** - * @param array $resolvedData - * @return string[] + * @inheritDoc */ public function getIdentities(array $resolvedData): array { - $ids = empty($resolvedData['seller_id']) ? - [] : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_id'])]; - - return $ids; + return empty($resolvedData['seller_id']) + ? [] + : [$this->cacheTag, sprintf('%s_%s', $this->cacheTag, $resolvedData['seller_id'])]; } } - diff --git a/Model/Resolver/Sellers/SortFields.php b/Model/Resolver/Sellers/SortFields.php index cdedea1..dd8411b 100755 --- a/Model/Resolver/Sellers/SortFields.php +++ b/Model/Resolver/Sellers/SortFields.php @@ -31,7 +31,7 @@ class SortFields implements ResolverInterface { /** - * @inheritdoc + * @inheritDoc */ public function resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null) { @@ -48,12 +48,10 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value ['label' => "region", 'value' => "region"], ['label' => "status", 'value' => "status"] ]; - - $data = [ + + return [ 'default' => "position", 'options' => $sortFieldsOptions, ]; - - return $data; } } diff --git a/composer.json b/composer.json index 6b00c6f..5e3e562 100755 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ } ], "minimum-stability": "dev", - "version": "1.0.4", + "version": "1.0.5", "require": { "landofcoder/module-marketplace": "*" }, diff --git a/etc/graphql/di.xml b/etc/graphql/di.xml index fc1424e..a56cc7c 100644 --- a/etc/graphql/di.xml +++ b/etc/graphql/di.xml @@ -1,4 +1,23 @@ +