generate()->toYaml(); $yaml_path = $this->environment->getBaseDirectory() . '/web/static/api/openapi.yml'; file_put_contents($yaml_path, $yaml); $io->writeln('API documentation updated!'); return 0; } public function generate( bool $useCurrentVersion = false, string $apiBaseUrl = 'https://demo.azuracast.com/api' ): OpenApi { define('AZURACAST_API_URL', $apiBaseUrl); define('AZURACAST_API_NAME', 'AzuraCast Public Demo Server'); define( 'AZURACAST_VERSION', $useCurrentVersion ? $this->version->getVersion() : Version::FALLBACK_VERSION ); $finder = Util::finder( [ $this->environment->getBaseDirectory() . '/util/openapi.php', $this->environment->getBaseDirectory() . '/src/Entity', $this->environment->getBaseDirectory() . '/src/Controller/Api', ], [ 'bootstrap', 'locale', 'templates', ] ); return Generator::scan($finder, [ 'logger' => $this->logger ]); } }