1
0
Fork 0
mirror of synced 2024-10-01 01:37:56 +13:00

Merge branch 'feat-git-integration' of https://github.com/appwrite/appwrite into feat-git-integration

This commit is contained in:
Matej Bačo 2023-07-26 17:22:43 +02:00
commit 8ca1ed1605
3 changed files with 2 additions and 31 deletions

View file

@ -766,7 +766,6 @@ App::get('/v1/vcs/installations')
->inject('dbForProject') ->inject('dbForProject')
->inject('dbForConsole') ->inject('dbForConsole')
->action(function (array $queries, string $search, Response $response, Document $project, Database $dbForProject, Database $dbForConsole) { ->action(function (array $queries, string $search, Response $response, Document $project, Database $dbForProject, Database $dbForConsole) {
$queries = Query::parseQueries($queries); $queries = Query::parseQueries($queries);
$queries[] = Query::equal('projectInternalId', [$project->getInternalId()]); $queries[] = Query::equal('projectInternalId', [$project->getInternalId()]);
@ -795,21 +794,6 @@ App::get('/v1/vcs/installations')
$results = $dbForConsole->find('vcsInstallations', $queries); $results = $dbForConsole->find('vcsInstallations', $queries);
$total = $dbForConsole->count('vcsInstallations', $filterQueries, APP_LIMIT_COUNT); $total = $dbForConsole->count('vcsInstallations', $filterQueries, APP_LIMIT_COUNT);
if (\count($results) > 0) {
$installationIds = \array_map(fn ($result) => $result->getInternalId(), $results);
$functions = Authorization::skip(fn () => $dbForProject->find('functions', [
Query::equal('vcsInstallationInternalId', \array_unique($installationIds)),
Query::limit(APP_LIMIT_SUBQUERY)
]));
foreach ($results as $result) {
$installationFunctions = \array_filter($functions, fn ($function) => $function->getAttribute('vcsInstallationInternalId') === $result->getInternalId());
$result->setAttribute('functions', $installationFunctions);
}
}
$response->dynamic(new Document([ $response->dynamic(new Document([
'installations' => $results, 'installations' => $results,
'total' => $total, 'total' => $total,
@ -843,13 +827,6 @@ App::get('/v1/vcs/installations/:installationId')
throw new Exception(Exception::INSTALLATION_NOT_FOUND); throw new Exception(Exception::INSTALLATION_NOT_FOUND);
} }
$functions = Authorization::skip(fn () => $dbForProject->find('functions', [
Query::equal('vcsInstallationInternalId', [$installation->getInternalId()]),
Query::limit(APP_LIMIT_SUBQUERY)
]));
$installation->setAttribute('functions', $functions);
$response->dynamic($installation, Response::MODEL_INSTALLATION); $response->dynamic($installation, Response::MODEL_INSTALLATION);
}); });

View file

@ -14,7 +14,8 @@ class Functions extends Base
'schedulePrevious', 'schedulePrevious',
'timeout', 'timeout',
'entrypoint', 'entrypoint',
'commands' 'commands',
'vcsInstallationId'
]; ];
/** /**

View file

@ -47,13 +47,6 @@ class Installation extends Model
'description' => 'Provider installation ID.', 'description' => 'Provider installation ID.',
'default' => '', 'default' => '',
'example' => '5322', 'example' => '5322',
])
->addRule('functions', [
'type' => Response::MODEL_FUNCTION,
'description' => 'List of connected functions.',
'default' => [],
'example' => new \stdClass(),
'array' => true,
]); ]);
} }