* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ use PrestaShop\Module\PsAccounts\Account\ProofManager; use PrestaShop\Module\PsAccounts\Account\StatusManager; use PrestaShop\Module\PsAccounts\Http\Controller\AbstractV2ShopRestController; class ps_AccountsApiV2ShopProofModuleFrontController extends AbstractV2ShopRestController { /** * @var bool */ protected $authenticated = true; /** * @var ProofManager */ private $proofManager; /** * @var StatusManager */ private $statusManager; /** * @return array */ public function getScope() { return [ 'shop.proof.read', ]; } /** * @return array */ public function getAudience() { return [ 'ps_accounts/' . $this->statusManager->getCloudShopId(), ]; } public function __construct() { parent::__construct(); $this->proofManager = $this->module->getService(ProofManager::class); $this->statusManager = $this->module->getService(StatusManager::class); } /** * @param Shop $shop * @param array $payload * * @return array */ public function show(Shop $shop, array $payload) { $this->statusManager->invalidateCache(); return [ 'proof' => $this->proofManager->getProof(), ]; } }