| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- <?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());
 
-     }
 
- }
 
 
  |