diff --git a/app/init.php b/app/init.php index 397385cd1d..66beb4d291 100644 --- a/app/init.php +++ b/app/init.php @@ -1188,26 +1188,23 @@ App::setResource('queueForMigrations', function (Connection $queue) { return new Migration($queue); }, ['queue']); App::setResource('platforms', function (Document $project, Document $console) { - $platforms = []; - $platforms[] = $project->getAttribute('platforms', []); - $platforms[] = $console->getAttribute('platforms', []); - return $platforms; + return [ + ...$project->getAttribute('platforms', []), + ...$console->getAttribute('platforms', []), + ]; }, ['project', 'console']); App::setResource('hostnames', function (array $platforms) { - // Always allow console hostname - $hostnames = [System::getEnv('_APP_CONSOLE_HOSTNAME', 'console')]; - - // Add configured hostnames - $configured = explode(',', System::getEnv('_APP_CONSOLE_HOSTNAMES', '')); + // Allow environment configured hostnames + $hostnames = []; $validator = new Hostname(); - foreach ($configured as $hostname) { + foreach (explode(',', System::getEnv('_APP_CONSOLE_HOSTNAMES', '') as $hostname) { $hostname = trim($hostname); if ($validator->isValid($hostname)) { $hostnames[] = $hostname; } } - // Add platforms from DB + // Add DB configured hostnames foreach ($platforms as $platform) { if (!empty($platform['hostname']) && in_array($platform['type'], [ Origin::CLIENT_TYPE_WEB, diff --git a/src/Appwrite/Utopia/Response/Model/Platform.php b/src/Appwrite/Utopia/Response/Model/Platform.php index 4b8ffb1486..59d269e033 100644 --- a/src/Appwrite/Utopia/Response/Model/Platform.php +++ b/src/Appwrite/Utopia/Response/Model/Platform.php @@ -74,6 +74,12 @@ class Platform extends Model 'default' => '', 'example' => 'password', ]) + ->addRule('scheme', [ + 'type' => self::TYPE_STRING, + 'description' => 'Allowed app scheme.', + 'default' => '', + 'example' => 'myapp', + ]) ; }