Updated project model
This commit is contained in:
parent
ae416187fc
commit
8ad2dd1e87
3 changed files with 178 additions and 8 deletions
|
@ -71,6 +71,7 @@ App::post('/v1/projects')
|
||||||
'webhooks' => [],
|
'webhooks' => [],
|
||||||
'keys' => [],
|
'keys' => [],
|
||||||
'tasks' => [],
|
'tasks' => [],
|
||||||
|
'domains' => [],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -80,10 +81,8 @@ App::post('/v1/projects')
|
||||||
|
|
||||||
$consoleDB->createNamespace($project->getId());
|
$consoleDB->createNamespace($project->getId());
|
||||||
|
|
||||||
$response
|
$response->setStatusCode(Response::STATUS_CODE_CREATED);
|
||||||
->setStatusCode(Response::STATUS_CODE_CREATED)
|
$response->dynamic($project, Response::MODEL_PROJECT);
|
||||||
->json($project->getArrayCopy())
|
|
||||||
;
|
|
||||||
}, ['response', 'consoleDB', 'projectDB']);
|
}, ['response', 'consoleDB', 'projectDB']);
|
||||||
|
|
||||||
App::get('/v1/projects')
|
App::get('/v1/projects')
|
||||||
|
@ -122,7 +121,10 @@ App::get('/v1/projects')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$response->json(['sum' => $consoleDB->getSum(), 'projects' => $results]);
|
$response->dynamic(new Document([
|
||||||
|
'sum' => $consoleDB->getSum(),
|
||||||
|
'projects' => $results
|
||||||
|
]), Response::MODEL_PROJECT_LIST);
|
||||||
}, ['response', 'consoleDB']);
|
}, ['response', 'consoleDB']);
|
||||||
|
|
||||||
App::get('/v1/projects/:projectId')
|
App::get('/v1/projects/:projectId')
|
||||||
|
@ -151,7 +153,7 @@ App::get('/v1/projects/:projectId')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$response->json($project->getArrayCopy());
|
$response->dynamic($project, Response::MODEL_PROJECT);
|
||||||
}, ['response', 'consoleDB']);
|
}, ['response', 'consoleDB']);
|
||||||
|
|
||||||
App::get('/v1/projects/:projectId/usage')
|
App::get('/v1/projects/:projectId/usage')
|
||||||
|
@ -386,7 +388,7 @@ App::patch('/v1/projects/:projectId')
|
||||||
throw new Exception('Failed saving project to DB', 500);
|
throw new Exception('Failed saving project to DB', 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
$response->json($project->getArrayCopy());
|
$response->dynamic($project, Response::MODEL_PROJECT);
|
||||||
}, ['response', 'consoleDB']);
|
}, ['response', 'consoleDB']);
|
||||||
|
|
||||||
App::patch('/v1/projects/:projectId/oauth2')
|
App::patch('/v1/projects/:projectId/oauth2')
|
||||||
|
@ -429,7 +431,7 @@ App::patch('/v1/projects/:projectId/oauth2')
|
||||||
throw new Exception('Failed saving project to DB', 500);
|
throw new Exception('Failed saving project to DB', 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
$response->json($project->getArrayCopy());
|
$response->dynamic($project, Response::MODEL_PROJECT);
|
||||||
}, ['response', 'consoleDB']);
|
}, ['response', 'consoleDB']);
|
||||||
|
|
||||||
App::delete('/v1/projects/:projectId')
|
App::delete('/v1/projects/:projectId')
|
||||||
|
|
|
@ -29,6 +29,7 @@ use Appwrite\Utopia\Response\Model\Log;
|
||||||
use Appwrite\Utopia\Response\Model\Membership;
|
use Appwrite\Utopia\Response\Model\Membership;
|
||||||
use Appwrite\Utopia\Response\Model\Phone;
|
use Appwrite\Utopia\Response\Model\Phone;
|
||||||
use Appwrite\Utopia\Response\Model\Platform;
|
use Appwrite\Utopia\Response\Model\Platform;
|
||||||
|
use Appwrite\Utopia\Response\Model\Project;
|
||||||
use Appwrite\Utopia\Response\Model\Rule;
|
use Appwrite\Utopia\Response\Model\Rule;
|
||||||
use Appwrite\Utopia\Response\Model\Tag;
|
use Appwrite\Utopia\Response\Model\Tag;
|
||||||
use Appwrite\Utopia\Response\Model\Task;
|
use Appwrite\Utopia\Response\Model\Task;
|
||||||
|
@ -153,6 +154,7 @@ class Response extends SwooleResponse
|
||||||
->setModel(new Func())
|
->setModel(new Func())
|
||||||
->setModel(new Tag())
|
->setModel(new Tag())
|
||||||
->setModel(new Execution())
|
->setModel(new Execution())
|
||||||
|
->setModel(new Project())
|
||||||
->setModel(new Webhook())
|
->setModel(new Webhook())
|
||||||
->setModel(new Key())
|
->setModel(new Key())
|
||||||
->setModel(new Task())
|
->setModel(new Task())
|
||||||
|
|
166
src/Appwrite/Utopia/Response/Model/Project.php
Normal file
166
src/Appwrite/Utopia/Response/Model/Project.php
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Appwrite\Utopia\Response\Model;
|
||||||
|
|
||||||
|
use Appwrite\Utopia\Response;
|
||||||
|
use Appwrite\Utopia\Response\Model;
|
||||||
|
use Utopia\Config\Config;
|
||||||
|
|
||||||
|
class Project extends Model
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this
|
||||||
|
->addRule('$id', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project ID.',
|
||||||
|
'example' => '5e5ea5c16897e',
|
||||||
|
])
|
||||||
|
->addRule('name', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project name.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'New Project',
|
||||||
|
])
|
||||||
|
->addRule('description', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project description.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'This is a new project.',
|
||||||
|
])
|
||||||
|
->addRule('teamId', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project team ID.',
|
||||||
|
'example' => '1592981250',
|
||||||
|
])
|
||||||
|
->addRule('logo', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project logo file ID.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => '5f5c451b403cb',
|
||||||
|
])
|
||||||
|
->addRule('url', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Project website URL.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => '5f5c451b403cb',
|
||||||
|
])
|
||||||
|
->addRule('legalName', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Company legal name.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'Company LTD.',
|
||||||
|
])
|
||||||
|
->addRule('legalCountry', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Country code in [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) two-character format.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'US',
|
||||||
|
])
|
||||||
|
->addRule('legalState', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'State name.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'New York',
|
||||||
|
])
|
||||||
|
->addRule('legalCity', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'City name.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => 'New York City.',
|
||||||
|
])
|
||||||
|
->addRule('legalAddress', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Company Address.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => '620 Eighth Avenue, New York, NY 10018',
|
||||||
|
])
|
||||||
|
->addRule('legalTaxId', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => 'Company Tax ID.',
|
||||||
|
'default' => '',
|
||||||
|
'example' => '131102020',
|
||||||
|
])
|
||||||
|
->addRule('platforms', [
|
||||||
|
'type' => Response::MODEL_PLATFORM,
|
||||||
|
'description' => 'List of Platforms.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true,
|
||||||
|
])
|
||||||
|
->addRule('webhooks', [
|
||||||
|
'type' => Response::MODEL_WEBHOOK,
|
||||||
|
'description' => 'List of Webhooks.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true,
|
||||||
|
])
|
||||||
|
->addRule('keys', [
|
||||||
|
'type' => Response::MODEL_KEY,
|
||||||
|
'description' => 'List of API Keys.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true,
|
||||||
|
])
|
||||||
|
->addRule('domains', [
|
||||||
|
'type' => Response::MODEL_DOMAIN,
|
||||||
|
'description' => 'List of Domains.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true,
|
||||||
|
])
|
||||||
|
->addRule('tasks', [
|
||||||
|
'type' => Response::MODEL_TASK,
|
||||||
|
'description' => 'List of Tasks.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true,
|
||||||
|
])
|
||||||
|
;
|
||||||
|
|
||||||
|
$providers = Config::getParam('providers', []);
|
||||||
|
|
||||||
|
foreach ($providers as $index => $provider) {
|
||||||
|
if (!$provider['enabled']) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$name = (isset($provider['name'])) ? $provider['name'] : 'Unknown';
|
||||||
|
|
||||||
|
$this
|
||||||
|
->addRule('usersOauth2'.\ucfirst($index).'Appid', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => $name.' OAuth app ID.',
|
||||||
|
'example' => '123247283472834787438',
|
||||||
|
'default' => '',
|
||||||
|
])
|
||||||
|
->addRule('usersOauth2'.\ucfirst($index).'Secret', [
|
||||||
|
'type' => 'string',
|
||||||
|
'description' => $name.' OAuth secret ID.',
|
||||||
|
'example' => 'djsgudsdsewe43434343dd34...',
|
||||||
|
'default' => '',
|
||||||
|
])
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Name
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName():string
|
||||||
|
{
|
||||||
|
return 'Project';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Collection
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getType():string
|
||||||
|
{
|
||||||
|
return Response::MODEL_PROJECT;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue