1
0
Fork 0
mirror of synced 2024-06-11 15:24:45 +12:00

Updated project response format

This commit is contained in:
Eldad Fux 2020-07-08 18:07:52 +03:00
parent 15b11b5651
commit c5840266f0
3 changed files with 17 additions and 12 deletions

View file

@ -9,6 +9,7 @@ use Utopia\Validator\Domain as DomainValidator;
use Utopia\Validator\Text;
use Utopia\Validator\WhiteList;
use Utopia\Validator\URL;
use Utopia\Validator\Range;
use Utopia\Config\Config;
use Utopia\Domains\Domain;
use Appwrite\Auth\Auth;
@ -91,21 +92,25 @@ App::get('/v1/projects')
->label('scope', 'projects.read')
->label('sdk.namespace', 'projects')
->label('sdk.method', 'list')
->action(function ($response, $consoleDB) {
->param('search', '', function () { return new Text(256); }, 'Search term to filter your list results.', true)
->param('limit', 25, function () { return new Range(0, 100); }, 'Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.', true)
->param('offset', 0, function () { return new Range(0, 2000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($search, $limit, $offset, $orderType, $response, $consoleDB) {
/** @var Utopia\Response $response */
/** @var Appwrite\Database\Database $consoleDB */
$results = $consoleDB->getCollection([
'limit' => 20,
'offset' => 0,
'orderField' => 'name',
'orderType' => 'ASC',
'orderCast' => 'string',
'limit' => $limit,
'offset' => $offset,
'orderField' => 'registration',
'orderType' => $orderType,
'orderCast' => 'int',
'search' => $search,
'filters' => [
'$collection='.Database::SYSTEM_COLLECTION_PROJECTS,
],
]);
foreach ($results as $project) {
foreach (Config::getParam('providers') as $provider => $node) {
$secret = \json_decode($project->getAttribute('usersOauth2'.\ucfirst($provider).'Secret', '{}'), true);
@ -117,7 +122,7 @@ App::get('/v1/projects')
}
}
$response->json($results);
$response->json(['sum' => $consoleDB->getSum(), 'projects' => $results]);
}, ['response', 'consoleDB']);
App::get('/v1/projects/:projectId')

View file

@ -14,7 +14,7 @@
data-switch
data-ls-bind="{{router.params.project}}"
data-unsync="1"
data-ls-loop="projects" data-ls-as="option" aria-label="Switch Project">
data-ls-loop="projects.projects" data-ls-as="option" aria-label="Switch Project">
<option data-ls-attrs="value={{option.$id}}" data-ls-bind="{{option.name}}"></option>
</select>
</label>

View file

@ -24,13 +24,13 @@ $home = $this->getParam('home', '');
data-success="trigger"
data-success-param-trigger-events="projects.list">
<div data-ls-if="0 == {{console-projects.length}}" class="box margin-bottom" style="display: none">
<div data-ls-if="0 == {{console-projects.projects.length}}" class="box margin-bottom" style="display: none">
<h3 class="margin-bottom-small text-bold">Get Started</h3>
<p class="margin-bottom-no">No Projects Found, Create your first project now.</p>
</div>
<ul data-ls-loop="console-projects" data-ls-as="project" data-ls-append="" class="tiles cell-3" style="visibility: hidden">
<ul data-ls-loop="console-projects.projects" data-ls-as="project" data-ls-append="" class="tiles cell-3" style="visibility: hidden">
<li class="margin-bottom">
<a data-ls-attrs="href=/console/home?project={{project.$id}}" class="box">
<div data-ls-bind="{{project.name}}" class="text-one-liner margin-bottom-tiny text-bold">&nbsp;</div>