diff --git a/Model/Resolver/DataProvider/FaqCategory.php b/Model/Resolver/DataProvider/FaqCategory.php index 78aedd2..60e4647 100644 --- a/Model/Resolver/DataProvider/FaqCategory.php +++ b/Model/Resolver/DataProvider/FaqCategory.php @@ -3,22 +3,35 @@ namespace Lof\FaqGraphQl\Model\Resolver\DataProvider; +use Lof\Faq\Api\CategoriesInterface; + +/** + * Class FaqCategory + * @package Lof\FaqGraphQl\Model\Resolver\DataProvider + */ class FaqCategory { + /** + * @var CategoriesInterface + */ private $categories; /** - * @param Lof\Faq\Api\CategoriesInterface $categories + * @param CategoriesInterface $categories */ public function __construct( - Lof\Faq\Api\CategoriesInterface $categories + CategoriesInterface $categories ) { $this->categories = $categories; } - public function getFaqCategory() + /** + * @param $categoryId + * @return \Lof\Faq\Api\Data\CategoryInterface + */ + public function getFaqCategory($categoryId) { - return 'proviced data'; + return $this->categories->getById($categoryId); } } diff --git a/Model/Resolver/DataProvider/FaqQuestion.php b/Model/Resolver/DataProvider/FaqQuestion.php index 4863590..1f39b06 100644 --- a/Model/Resolver/DataProvider/FaqQuestion.php +++ b/Model/Resolver/DataProvider/FaqQuestion.php @@ -3,22 +3,35 @@ namespace Lof\FaqGraphQl\Model\Resolver\DataProvider; +use Lof\Faq\Api\QuestionManagementInterface; + +/** + * Class FaqQuestion + * @package Lof\FaqGraphQl\Model\Resolver\DataProvider + */ class FaqQuestion { + /** + * @var QuestionManagementInterface + */ private $questionManagement; /** - * @param Lof\Faq\Api\QuestionManagementInterface $questionManagement + * @param QuestionManagementInterface $questionManagement */ public function __construct( - Lof\Faq\Api\QuestionManagementInterface $questionManagement + QuestionManagementInterface $questionManagement ) { $this->questionManagement = $questionManagement; } - public function getFaqQuestion() + /** + * @param $questionId + * @return \Lof\Faq\Api\Data\QuestionInterface + */ + public function getFaqQuestion($questionId) { - return 'proviced data'; + return $this->questionManagement->getById($questionId); } } diff --git a/Model/Resolver/DataProvider/FaqTag.php b/Model/Resolver/DataProvider/FaqTag.php index ee9b157..4231d73 100644 --- a/Model/Resolver/DataProvider/FaqTag.php +++ b/Model/Resolver/DataProvider/FaqTag.php @@ -3,16 +3,18 @@ namespace Lof\FaqGraphQl\Model\Resolver\DataProvider; +use Lof\Faq\Api\TagsInterface; + class FaqTag { private $tagsManagement; /** - * @param Lof\Faq\Api\TagsManagementInterface $tagsManagement + * @param TagsInterface $tagsManagement */ public function __construct( - Lof\Faq\Api\TagsManagementInterface $tagsManagement + TagsInterface $tagsManagement ) { $this->tagsManagement = $tagsManagement; } diff --git a/Model/Resolver/FaqCategory.php b/Model/Resolver/FaqCategory.php index d765563..411b837 100644 --- a/Model/Resolver/FaqCategory.php +++ b/Model/Resolver/FaqCategory.php @@ -10,9 +10,16 @@ use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; +/** + * Class FaqCategory + * @package Lof\FaqGraphQl\Model\Resolver + */ class FaqCategory implements ResolverInterface { + /** + * @var DataProvider\FaqCategory + */ private $faqCategoryDataProvider; /** @@ -34,7 +41,6 @@ public function resolve( array $value = null, array $args = null ) { - $faqCategoryData = $this->faqCategoryDataProvider->getFaqCategory(); - return $faqCategoryData; + return $this->faqCategoryDataProvider->getFaqCategory($args['category_id']); } } diff --git a/Model/Resolver/FaqQuestion.php b/Model/Resolver/FaqQuestion.php index c7c1298..78a4640 100644 --- a/Model/Resolver/FaqQuestion.php +++ b/Model/Resolver/FaqQuestion.php @@ -34,7 +34,6 @@ public function resolve( array $value = null, array $args = null ) { - $faqQuestionData = $this->faqQuestionDataProvider->getFaqQuestion(); - return $faqQuestionData; + return $this->faqQuestionDataProvider->getFaqQuestion($args['question_id']); } } diff --git a/Model/Resolver/FaqTag.php b/Model/Resolver/FaqTag.php index 86e5a09..14c9146 100644 --- a/Model/Resolver/FaqTag.php +++ b/Model/Resolver/FaqTag.php @@ -16,7 +16,7 @@ class FaqTag implements ResolverInterface private $faqTagDataProvider; /** - * @param DataProvider\FaqTag $faqTagRepository + * @param DataProvider\FaqTag $faqTagDataProvider */ public function __construct(DataProvider\FaqTag $faqTagDataProvider) { diff --git a/etc/schema.graphqls b/etc/schema.graphqls index f5f26c9..b1997cd 100644 --- a/etc/schema.graphqls +++ b/etc/schema.graphqls @@ -1,6 +1,6 @@ type Query { - + faqQuestion ( question_id: String @doc(description: "Query by question_id.") ): FaqQuestion @resolver( class: "Lof\\FaqGraphQl\\Model\\Resolver\\FaqQuestion") @doc(description: "get list faq questions") @@ -13,7 +13,7 @@ type Query { } type FaqQuestion { - + question_id : String @doc(description: "question_id") title : String @doc(description: "title") author_email : String @doc(description: "author_email") @@ -30,7 +30,7 @@ type FaqQuestion { } type FaqCategory { - + category_id : String @doc(description: "category_id") title : String @doc(description: "title") page_title : String @doc(description: "page_title") @@ -40,7 +40,7 @@ type FaqCategory { } type FaqTag { - + tag_id : String @doc(description: "tag_id") question_id : String @doc(description: "question_id") name : String @doc(description: "name") @@ -48,7 +48,7 @@ type FaqTag { } type Mutation { - + faqSubmitQuestion ( title: String @doc(description: "Query by title.") author_email: String @doc(description: "Query by author_email.") @@ -66,4 +66,4 @@ type Mutation { question_products: String @doc(description: "Query by question_products.") categories: String @doc(description: "Query by categories.") ): String @resolver( class: "Lof\\FaqGraphQl\\Model\\Resolver\\FaqSubmitQuestion") @doc(description: "Submit faq question on product detail page") -} \ No newline at end of file +}