1
0
Fork 0
mirror of synced 2024-07-03 05:31:38 +12:00

Merge branch 'swoole-and-functions' of github.com:appwrite/appwrite into feat-improved-webhooks-payloads-and-tests

This commit is contained in:
Eldad Fux 2020-09-10 08:46:53 +03:00
commit 7c071d8fba
4 changed files with 1352 additions and 922 deletions

2102
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -9,6 +9,7 @@ use Appwrite\Database\Document;
use Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response\Model\Any;
use Appwrite\Utopia\Response\Model\BaseList;
use Appwrite\Utopia\Response\Model\Collection;
use Appwrite\Utopia\Response\Model\Continent;
use Appwrite\Utopia\Response\Model\Country;
use Appwrite\Utopia\Response\Model\Currency;
@ -28,6 +29,7 @@ use Appwrite\Utopia\Response\Model\Log;
use Appwrite\Utopia\Response\Model\Membership;
use Appwrite\Utopia\Response\Model\Phone;
use Appwrite\Utopia\Response\Model\Platform;
use Appwrite\Utopia\Response\Model\Rule;
use Appwrite\Utopia\Response\Model\Tag;
use Appwrite\Utopia\Response\Model\Task;
use Appwrite\Utopia\Response\Model\Webhook;
@ -43,33 +45,35 @@ class Response extends SwooleResponse
const MODEL_BASE_LIST = 'baseList';
const MODEL_PERMISSIONS = 'permissions';
// Database
const MODEL_COLLECTION = 'collection';
const MODEL_COLLECTION_LIST = 'collectionList';
const MODEL_RULE = 'rule';
// Users
const MODEL_USER = 'user';
const MODEL_USER_LIST = 'userList';
const MODEL_SESSION = 'session';
const MODEL_SESSION_LIST = 'sessionList';
const MODEL_TOKEN = 'token'; // - Missing
// Database
const MODEL_COLLECTION = 'collection'; // - Missing
// Storage
const MODEL_FILE = 'file';
const MODEL_FILE_LIST = 'fileList';
const MODEL_BUCKET = 'bucket'; // - Missing
// Locale
const MODEL_LOCALE = 'locale';
const MODEL_COUNTRY = 'country';
const MODEL_COUNTRY_LIST = 'countryList';
const MODEL_CONTINENT = 'continent';
const MODEL_CONTINENT_LIST = 'continentList';
const MODEL_CURRENCY = 'currency'; // - Missing
const MODEL_CURRENCY_LIST = 'currencyList'; // - Missing
const MODEL_LANGUAGE = 'langauge'; // - Missing
const MODEL_LANGUAGE_LIST = 'langaugeList'; // - Missing
const MODEL_PHONE = 'phone'; // - Missing
const MODEL_PHONE_LIST = 'phoneList'; // - Missing
// Storage
const MODEL_FILE = 'file';
const MODEL_FILE_LIST = 'fileList';
const MODEL_BUCKET = 'bucket'; // - Missing
const MODEL_CURRENCY = 'currency';
const MODEL_CURRENCY_LIST = 'currencyList';
const MODEL_LANGUAGE = 'langauge';
const MODEL_LANGUAGE_LIST = 'langaugeList';
const MODEL_PHONE = 'phone';
const MODEL_PHONE_LIST = 'phoneList';
// Teams
const MODEL_TEAM = 'team';
@ -114,6 +118,7 @@ class Response extends SwooleResponse
->setModel(new Error())
->setModel(new ErrorDev())
// Lists
->setModel(new BaseList('Collections List', self::MODEL_COLLECTION_LIST, 'users', self::MODEL_COLLECTION))
->setModel(new BaseList('Users List', self::MODEL_USER_LIST, 'users', self::MODEL_USER))
->setModel(new BaseList('Sessions List', self::MODEL_SESSION_LIST, 'sessions', self::MODEL_SESSION))
->setModel(new BaseList('Logs List', self::MODEL_LOG_LIST, 'logs', self::MODEL_LOG, false))
@ -136,6 +141,8 @@ class Response extends SwooleResponse
->setModel(new BaseList('Phones List', self::MODEL_PHONE_LIST, 'phones', self::MODEL_PHONE))
// Entities
->setModel(new Any())
->setModel(new Collection())
->setModel(new Rule())
->setModel(new Log())
->setModel(new User())
->setModel(new Session())

View file

@ -0,0 +1,67 @@
<?php
namespace Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model;
class Collection extends Model
{
public function __construct()
{
$this
->addRule('$id', [
'type' => 'string',
'description' => 'Collection ID.',
'example' => '5e5ea5c16897e',
])
->addRule('$permissions', [
'type' => Response::MODEL_PERMISSIONS,
'description' => 'Collection permissions.',
'example' => new \stdClass,
'array' => false,
])
->addRule('name', [
'type' => 'string',
'description' => 'Collection name.',
'example' => 'Movies',
])
->addRule('dateCreated', [
'type' => 'integer',
'description' => 'Collection creation date in Unix timestamp.',
'example' => 1592981250,
])
->addRule('dateUpdated', [
'type' => 'integer',
'description' => 'Collection creation date in Unix timestamp.',
'example' => 1592981550,
])
->addRule('rules', [
'type' => Response::MODEL_RULE,
'description' => 'Collection rules.',
'example' => [],
'array' => true,
])
;
}
/**
* Get Name
*
* @return string
*/
public function getName():string
{
return 'Collection';
}
/**
* Get Collection
*
* @return string
*/
public function getType():string
{
return Response::MODEL_COLLECTION;
}
}

View file

@ -0,0 +1,70 @@
<?php
namespace Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model;
class Rule extends Model
{
public function __construct()
{
$this
->addRule('$id', [
'type' => 'string',
'description' => 'Rule ID.',
'example' => '5e5ea5c16897e',
])
->addRule('type', [
'type' => 'string',
'description' => 'Rule type. Possible values: ',
'example' => 'title',
])
->addRule('key', [
'type' => 'string',
'description' => 'Rule key.',
'example' => 'title',
])
->addRule('label', [
'type' => 'string',
'description' => 'Rule label.',
'example' => 'Title',
])
->addRule('default', [ // TODO should be of mixed types
'type' => 'string',
'description' => 'Rule default value.',
'example' => 'Movie Name',
])
->addRule('array', [
'type' => 'boolean',
'description' => 'Is array?',
'example' => false,
])
->addRule('required', [
'type' => 'boolean',
'description' => 'Is required?',
'example' => true,
])
;
}
/**
* Get Name
*
* @return string
*/
public function getName():string
{
return 'Rule';
}
/**
* Get Collection
*
* @return string
*/
public function getType():string
{
return Response::MODEL_RULE;
}
}