1
0
Fork 0
mirror of synced 2024-06-30 04:00:34 +12:00

Add try-catch to listRepositories

This commit is contained in:
Khushboo Verma 2023-08-01 14:10:16 +05:30
parent c8010ecae8
commit 5b9f71afe5
2 changed files with 28 additions and 23 deletions

@ -1 +1 @@
Subproject commit 9256f224d2252a0108cd354814f47ad90b1cdec9
Subproject commit 1d75b39555221479ff92d54ecf8b452bfd503f5e

View file

@ -15,6 +15,7 @@ use Appwrite\Extend\Exception;
use Appwrite\Network\Validator\Host;
use Appwrite\Utopia\Database\Validator\Queries\Installations;
use Appwrite\Vcs\Comment;
use Utopia\CLI\Console;
use Utopia\Config\Config;
use Utopia\Database\DateTime;
use Utopia\Database\Query;
@ -528,38 +529,42 @@ App::get('/v1/vcs/github/installations/:installationId/providerRepositories')
$repos = batch(\array_map(function ($repo) use ($github) {
return function () use ($repo, $github) {
$files = $github->listRepositoryContents($repo['organization'], $repo['name'], '');
$languages = $github->getRepositoryLanguages($repo['organization'], $repo['name']);
try {
$files = $github->listRepositoryContents($repo['organization'], $repo['name'], '');
$languages = $github->getRepositoryLanguages($repo['organization'], $repo['name']);
$detectorFactory = new Detector($files, $languages);
$detectorFactory = new Detector($files, $languages);
$detectorFactory
->addDetector(new JavaScript())
->addDetector(new PHP())
->addDetector(new Python())
->addDetector(new Dart())
->addDetector(new Swift())
->addDetector(new Ruby())
->addDetector(new Java())
->addDetector(new CPP())
->addDetector(new Deno())
->addDetector(new Dotnet());
$detectorFactory
->addDetector(new JavaScript())
->addDetector(new PHP())
->addDetector(new Python())
->addDetector(new Dart())
->addDetector(new Swift())
->addDetector(new Ruby())
->addDetector(new Java())
->addDetector(new CPP())
->addDetector(new Deno())
->addDetector(new Dotnet());
$runtime = $detectorFactory->detect();
$runtime = $detectorFactory->detect();
$runtimes = Config::getParam('runtimes');
$runtimeDetail = \array_reverse(\array_filter(\array_keys($runtimes), function ($key) use ($runtime, $runtimes) {
return $runtimes[$key]['key'] === $runtime;
}))[0] ?? '';
$repo['runtime'] = $runtimeDetail;
$runtimes = Config::getParam('runtimes');
$runtimeDetail = \array_reverse(\array_filter(\array_keys($runtimes), function ($key) use ($runtime, $runtimes) {
return $runtimes[$key]['key'] === $runtime;
}))[0] ?? '';
$repo['runtime'] = $runtimeDetail;
} catch (Throwable $error) {
$repo['runtime'] = "";
Console::warning("Runtime not detected for " . $repo['organization'] . "/" . $repo['name']);
}
return $repo;
};
}, $repos));
$response->dynamic(new Document([
'repositories' => $repos,
'providerRepositories' => $repos,
'total' => \count($repos),
]), Response::MODEL_PROVIDER_REPOSITORY_LIST);
});