2019-05-09 06:54:39 +00:00
|
|
|
<?php
|
|
|
|
|
|
2022-05-26 13:37:37 +00:00
|
|
|
use Appwrite\Utopia\Response;
|
2020-03-28 12:42:16 +00:00
|
|
|
use Utopia\Config\Config;
|
2026-02-10 05:04:24 +00:00
|
|
|
use Utopia\Http\Http;
|
2020-05-17 05:27:10 +00:00
|
|
|
|
2026-02-04 05:30:22 +00:00
|
|
|
Http::get('/versions')
|
2021-02-24 18:31:43 +00:00
|
|
|
->desc('Get Version')
|
2023-08-25 15:13:25 +00:00
|
|
|
->groups(['home', 'web'])
|
2021-02-24 18:31:43 +00:00
|
|
|
->label('scope', 'public')
|
|
|
|
|
->inject('response')
|
2022-05-26 13:37:37 +00:00
|
|
|
->action(function (Response $response) {
|
2025-12-07 20:29:45 +00:00
|
|
|
$platforms = Config::getParam('sdks');
|
2021-02-24 18:31:43 +00:00
|
|
|
|
|
|
|
|
$versions = [
|
|
|
|
|
'server' => APP_VERSION_STABLE,
|
|
|
|
|
];
|
|
|
|
|
|
2022-05-23 14:54:50 +00:00
|
|
|
foreach ($platforms as $platform) {
|
2023-01-16 11:09:13 +00:00
|
|
|
$languages = $platform['sdks'] ?? [];
|
2021-02-24 18:31:43 +00:00
|
|
|
|
|
|
|
|
foreach ($languages as $key => $language) {
|
2022-05-23 14:54:50 +00:00
|
|
|
if (isset($language['dev']) && $language['dev']) {
|
2021-02-24 18:31:43 +00:00
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-23 14:54:50 +00:00
|
|
|
if (isset($language['enabled']) && !$language['enabled']) {
|
2021-02-24 18:31:43 +00:00
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$platformKey = $platform['key'] ?? '';
|
|
|
|
|
$languageKey = $language['key'] ?? '';
|
|
|
|
|
$version = $language['version'] ?? '';
|
|
|
|
|
$versions[$platformKey . '-' . $languageKey] = $version;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$response->json($versions);
|
2021-06-04 08:23:29 +00:00
|
|
|
});
|