mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
69 lines
1.5 KiB
PHP
69 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\Swagger\Block;
|
|
|
|
use Magento\Framework\Phrase;
|
|
use Magento\Framework\View\Element\Template;
|
|
use Magento\Swagger\Api\Data\SchemaTypeInterface;
|
|
|
|
/**
|
|
* Block for swagger index page
|
|
*
|
|
* @api
|
|
*
|
|
* @method SchemaTypeInterface[] getSchemaTypes()
|
|
* @method bool hasSchemaTypes()
|
|
* @method string getDefaultSchemaTypeCode()
|
|
* @since 100.2.1
|
|
*/
|
|
class Index extends Template
|
|
{
|
|
/**
|
|
* @return mixed|string
|
|
*/
|
|
private function getParamStore()
|
|
{
|
|
return $this->getRequest()->getParam('store') ?: 'all';
|
|
}
|
|
|
|
/**
|
|
* @return SchemaTypeInterface|null
|
|
*/
|
|
private function getSchemaType()
|
|
{
|
|
if (!$this->hasSchemaTypes()) {
|
|
return null;
|
|
}
|
|
|
|
$schemaTypeCode = $this->getRequest()->getParam(
|
|
'type',
|
|
$this->getDefaultSchemaTypeCode()
|
|
);
|
|
|
|
if (!array_key_exists($schemaTypeCode, $this->getSchemaTypes())) {
|
|
throw new \UnexpectedValueException(
|
|
new Phrase('Unknown schema type supplied')
|
|
);
|
|
}
|
|
|
|
return $this->getSchemaTypes()[$schemaTypeCode];
|
|
}
|
|
|
|
/**
|
|
* @return string|null
|
|
* @since 100.2.1
|
|
*/
|
|
public function getSchemaUrl()
|
|
{
|
|
if ($this->getSchemaType() === null) {
|
|
return null;
|
|
}
|
|
|
|
return rtrim($this->getBaseUrl(), '/') .
|
|
$this->getSchemaType()->getSchemaUrlPath($this->getParamStore());
|
|
}
|
|
}
|