Controller/Adminhtml/Ajax/CategoryUpload.php (38 lines of code) (raw):

<?php /** * Copyright (c) Meta Platforms, Inc. and affiliates. All Rights Reserved */ namespace Facebook\BusinessExtension\Controller\Adminhtml\Ajax; use Exception; use Facebook\BusinessExtension\Helper\FBEHelper; use Facebook\BusinessExtension\Model\Feed\CategoryCollection; use Magento\Backend\App\Action\Context; use Magento\Framework\Controller\Result\JsonFactory; class CategoryUpload extends AbstractAjax { /** * @var CategoryCollection */ protected $categoryCollection; public function __construct( Context $context, JsonFactory $resultJsonFactory, FBEHelper $fbeHelper, CategoryCollection $categoryCollection ) { parent::__construct($context, $resultJsonFactory, $fbeHelper); $this->categoryCollection = $categoryCollection; } public function executeForJson() { $response = []; if (!$this->_fbeHelper->getAccessToken()) { $response['success'] = false; $response['message'] = __('Set up the extension before uploading category.'); return $response; } try { $feedPushResponse = $this->categoryCollection->pushAllCategoriesToFbCollections(); $response['success'] = true; $response['feed_push_response'] = $feedPushResponse; } catch (Exception $e) { $response['success'] = false; $response['message'] = $e->getMessage(); } return $response; } }