%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps/app_api/lib/DeployActions/ |
Current File : //www/varak.net/nextcloud.varak.net/apps/app_api/lib/DeployActions/IDeployActions.php |
<?php declare(strict_types=1); namespace OCA\AppAPI\DeployActions; use OCA\AppAPI\Db\DaemonConfig; use OCA\AppAPI\Db\ExApp; /** * Base interface for AppAPI ExApp deploy actions */ interface IDeployActions { /** * Deploy type (action) id name * * @return string */ public function getAcceptsDeployId(): string; /** * Deploy ExApp to the target daemon * * @param ExApp $exApp * @param DaemonConfig $daemonConfig * @param array $params * * @return mixed */ public function deployExApp(ExApp $exApp, DaemonConfig $daemonConfig, array $params = []): string; /** * Build required info for ExApp deployment * * @param DaemonConfig $daemonConfig * @param array $appInfo * * @return mixed */ public function buildDeployParams(DaemonConfig $daemonConfig, array $appInfo): mixed; /** * Build required deploy environment variables * * @param array $params * @param array $deployConfig * * @return mixed */ public function buildDeployEnvs(array $params, array $deployConfig): array; /** * Resolve ExApp URL(protocol://url:port) depending on the daemon configuration. * Algorithm can be different for each deploy action (type). * "auth" is output and will contain if needed additional authentication data to reach ExApp. * * @param string $appId * @param string $protocol * @param string $host * @param array $deployConfig * @param int $port * @param array $auth * @return string */ public function resolveExAppUrl( string $appId, string $protocol, string $host, array $deployConfig, int $port, array &$auth ): string; }