1
0
Fork 0
mirror of synced 2024-07-04 22:20:45 +12:00
appwrite/app/config/collections.php

3536 lines
117 KiB
PHP
Raw Normal View History

2019-08-10 02:46:09 +12:00
<?php
2022-05-05 03:00:36 +12:00
use Appwrite\Auth\Auth;
2020-03-29 01:42:16 +13:00
use Utopia\Config\Config;
2021-12-02 00:48:23 +13:00
use Utopia\Database\Database;
2022-08-14 22:33:36 +12:00
use Utopia\Database\ID;
2019-08-10 02:46:09 +12:00
2020-10-31 09:04:32 +13:00
$providers = Config::getParam('providers', []);
2021-03-01 00:00:22 +13:00
$auth = Config::getParam('auth', []);
2020-03-29 01:42:16 +13:00
/**
* $collection => id of the parent collection where this will be inserted
* $id => id of this collection
* name => name of this collection
* project => whether this collection should be created per project
* attributes => list of attributes
* indexes => list of indexes
*/
$collections = [
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'databases' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('databases'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'name' => 'Databases',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'size' => 256,
'required' => true,
'signed' => true,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_fulltext_search'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [256],
'orders' => [Database::ORDER_ASC],
],
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
],
],
'collections' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom('databases'),
'$id' => ID::custom('collections'),
2019-08-10 02:46:09 +12:00
'name' => 'Collections',
2021-12-02 00:48:23 +13:00
'attributes' => [
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseInternalId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'signed' => true,
'size' => Database::LENGTH_KEY,
'format' => '',
'filters' => [],
'required' => true,
'default' => null,
'array' => false,
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 256,
2019-08-10 02:46:09 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'signed' => true,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('enabled'),
'type' => Database::VAR_BOOLEAN,
'signed' => true,
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
'default' => null,
'array' => false,
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('documentSecurity'),
'type' => Database::VAR_BOOLEAN,
2021-12-02 00:48:23 +13:00
'signed' => true,
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('attributes'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 1000000,
'required' => false,
'signed' => true,
'array' => false,
'filters' => ['subQueryAttributes'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('indexes'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 1000000,
'required' => false,
'signed' => true,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['subQueryIndexes'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_fulltext_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2021-12-02 00:48:23 +13:00
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [256],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_enabled'),
'type' => Database::INDEX_KEY,
'attributes' => ['enabled'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_documentSecurity'),
'type' => Database::INDEX_KEY,
'attributes' => ['documentSecurity'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2021-12-02 00:48:23 +13:00
],
],
'attributes' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('attributes'),
2021-12-02 00:48:23 +13:00
'name' => 'Attributes',
'attributes' => [
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseInternalId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => false,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
2022-06-16 00:57:06 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('collectionInternalId'),
2022-06-16 00:57:06 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('collectionId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('key'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('type'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('status'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('size'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2020-11-21 12:31:17 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('required'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
2020-11-21 12:31:17 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2020-11-21 12:31:17 +13:00
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('default'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-10-06 01:07:52 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['casting'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('signed'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'size' => 0,
'signed' => true,
2021-02-17 02:46:16 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('array'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('format'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 64,
'signed' => true,
2021-02-17 02:46:16 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('formatOptions'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 16384,
'signed' => true,
'required' => false,
2022-05-24 02:54:50 +12:00
'default' => new stdClass(),
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['json', 'range', 'enum'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('filters'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
'array' => true,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_db_collection'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'attributes' => ['databaseInternalId', 'collectionInternalId'],
'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
2021-12-02 00:48:23 +13:00
],
],
],
'indexes' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('indexes'),
2021-12-02 00:48:23 +13:00
'name' => 'Indexes',
'attributes' => [
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseInternalId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('databaseId'),
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => false,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
2022-06-16 00:57:06 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('collectionInternalId'),
2022-06-16 00:57:06 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('collectionId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('key'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('type'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('status'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-02-20 01:12:47 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('attributes'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2021-02-20 01:12:47 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2021-02-20 01:12:47 +13:00
'array' => true,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-20 01:12:47 +13:00
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('lengths'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => true,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('orders'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 4,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => true,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_db_collection'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
Database layer (#3338) * database response model * database collection config * new database scopes * database service update * database execption codes * remove read write permission from database model * updating tests and fixing some bugs * server side tests are now passing * databases api * tests for database endpoint * composer update * fix error * formatting * formatting fixes * get database test * more updates to events and usage * more usage updates * fix delete type * fix test * delete database * more fixes * databaseId in attributes and indexes * more fixes * fix issues * fix index subquery * fix console scope and index query * updating tests as required * fix phpcs errors and warnings * updates to review suggestions * UI progress * ui updates and cleaning up * fix type * rework database events * update tests * update types * event generation fixed * events config updated * updating context to support multiple * realtime updates * fix ids * update context * validator updates * fix naming conflict * fix tests * fix lint errors * fix wprler and realtime tests * fix webhooks test * fix event validator and other tests * formatting fixes * removing leftover var_dumps * remove leftover comment * update usage params * usage metrics updates * update database usage * fix usage * specs update * updates to usage * fix UI and usage * fix lints * internal id fixes * fixes for internal Id * renaming services and related files * rename tests * rename doc link * rename readme * fix test name * tests: fixes for 0.15.x sync Co-authored-by: Torsten Dittmann <torsten.dittmann@googlemail.com>
2022-06-22 22:51:49 +12:00
'attributes' => ['databaseInternalId', 'collectionInternalId'],
'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'projects' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('projects'),
2021-12-02 00:48:23 +13:00
'name' => 'Projects',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('teamInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('teamId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('description'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2021-03-29 22:16:56 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-02-19 23:02:02 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('logo'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2021-03-29 22:16:56 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2021-02-19 23:02:02 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-19 23:02:02 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('url'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2021-02-19 23:02:02 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2021-02-19 23:02:02 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-19 23:02:02 +13:00
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('version'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalName'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalCountry'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalState'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2020-10-31 09:04:32 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalCity'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalAddress'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('legalTaxId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('services'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-09 06:49:44 +13:00
'default' => [],
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['json'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('auths'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-09 06:49:44 +13:00
'default' => [],
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['json'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('authProviders'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-09 06:49:44 +13:00
'default' => [],
2020-10-31 09:04:32 +13:00
'array' => false,
'filters' => ['json', 'encrypt'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('platforms'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['subQueryPlatforms'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('webhooks'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['subQueryWebhooks'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('keys'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['subQueryKeys'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('domains'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['subQueryDomains'],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2020-10-31 09:04:32 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2020-10-31 09:04:32 +13:00
],
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'platforms' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('platforms'),
2021-12-02 00:48:23 +13:00
'name' => 'platforms',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('type'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
'signed' => true,
2020-10-31 09:04:32 +13:00
'required' => false,
2021-02-20 01:12:47 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-10-31 09:04:32 +13:00
],
2021-02-20 01:12:47 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2021-02-20 01:12:47 +13:00
'required' => true,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-20 01:12:47 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('key'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2021-02-20 01:12:47 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-20 01:12:47 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('store'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-02-20 01:12:47 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2021-02-20 01:12:47 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('hostname'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-02-20 01:12:47 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
]
2021-02-20 01:12:47 +13:00
],
2021-12-02 00:48:23 +13:00
'indexes' => [
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_project'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-06-20 23:31:46 +12:00
'attributes' => ['projectInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2021-02-20 01:12:47 +13:00
],
],
],
2021-12-02 00:48:23 +13:00
'domains' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('domains'),
2021-12-02 00:48:23 +13:00
'name' => 'domains',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('updated'),
2022-07-06 04:29:12 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2021-12-02 00:48:23 +13:00
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('domain'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('tld'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('registerable'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('verification'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('certificateId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_project'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-06-20 23:31:46 +12:00
'attributes' => ['projectInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
],
],
2021-12-02 00:48:23 +13:00
'keys' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('keys'),
2021-12-02 00:48:23 +13:00
'name' => 'keys',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2022-06-01 03:41:12 +12:00
'default' => 0,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('scopes'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
'default' => null,
'array' => true,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('secret'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 512, // var_dump of \bin2hex(\random_bytes(128)) => string(256) doubling for encryption
2021-12-02 00:48:23 +13:00
'signed' => true,
'required' => true,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => ['encrypt'],
2021-12-02 00:48:23 +13:00
],
2022-06-01 03:41:12 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('expire'),
2022-07-05 22:59:03 +12:00
'type' => Database::VAR_DATETIME,
2022-06-01 03:41:12 +12:00
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
2022-07-06 04:29:12 +12:00
'default' => null,
2022-06-01 03:41:12 +12:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2022-06-01 03:41:12 +12:00
],
2022-08-05 22:20:48 +12:00
[
2022-08-19 21:54:26 +12:00
'$id' => ID::custom('accessedAt'),
'type' => Database::VAR_DATETIME,
2022-08-05 22:20:48 +12:00
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
2022-08-19 21:54:26 +12:00
'default' => null,
2022-08-05 22:20:48 +12:00
'array' => false,
'filters' => ['datetime'],
2022-08-05 22:20:48 +12:00
],
[
2022-08-19 21:58:11 +12:00
'$id' => ID::custom('sdks'),
2022-08-05 22:20:48 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
'default' => null,
'array' => true,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_project'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-06-20 23:31:46 +12:00
'attributes' => ['projectInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
2022-08-05 22:20:48 +12:00
[
'$id' => '_key_accessedAt',
'type' => Database::INDEX_KEY,
'attributes' => ['accessedAt'],
'lengths' => [],
'orders' => [],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'webhooks' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('webhooks'),
2021-12-02 00:48:23 +13:00
'name' => 'webhooks',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('projectId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
2021-12-02 00:48:23 +13:00
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('url'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('httpUser'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2021-12-09 06:49:44 +13:00
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('httpPass'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY, // TODO will the length suffice after encryption?
2021-12-02 00:48:23 +13:00
'signed' => true,
2021-12-09 06:49:44 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => ['encrypt'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('security'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('events'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => true,
'filters' => [],
],
2022-06-08 03:11:07 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('signatureKey'),
2022-06-08 03:11:07 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_project'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-06-20 23:31:46 +12:00
'attributes' => ['projectInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2022-06-20 23:31:46 +12:00
]
2021-12-02 00:48:23 +13:00
],
],
'users' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('users'),
2021-12-02 00:48:23 +13:00
'name' => 'Users',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('email'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 320,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2022-06-08 21:00:38 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('phone'),
2022-06-08 21:00:38 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16, // leading '+' and 15 digitts maximum by E.164 format
2022-06-08 21:00:38 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('status'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('password'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2022-05-05 23:53:27 +12:00
'filters' => ['encrypt'],
],
[
'$id' => 'hash', // Hashing algorithm used to hash the password
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2022-02-05 05:10:52 +13:00
'required' => false,
2022-05-05 03:00:36 +12:00
'default' => Auth::DEFAULT_ALGO,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
'$id' => ID::custom('hashOptions'), // Configuration of hashing algorithm
2022-05-05 02:37:37 +12:00
'type' => Database::VAR_STRING,
2021-12-02 00:48:23 +13:00
'format' => '',
2022-05-05 03:00:36 +12:00
'size' => 65535,
2021-12-02 00:48:23 +13:00
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2022-05-05 03:00:36 +12:00
'default' => Auth::DEFAULT_ALGO_OPTIONS,
2022-05-05 02:37:37 +12:00
'array' => false,
'filters' => ['json'],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('passwordUpdate'),
2022-07-04 21:55:11 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('prefs'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 65535,
2021-12-02 00:48:23 +13:00
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-28 23:48:50 +13:00
'default' => new \stdClass(),
2021-12-02 00:48:23 +13:00
'array' => false,
'filters' => ['json'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('registration'),
2022-07-04 21:55:11 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2019-08-10 02:46:09 +12:00
],
2021-02-28 23:16:27 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('emailVerification'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
2021-02-28 23:16:27 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2021-02-28 23:16:27 +13:00
],
2022-06-08 21:00:38 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('phoneVerification'),
2022-06-08 21:00:38 +12:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
2021-02-28 23:16:27 +13:00
],
2021-07-05 19:12:59 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('reset'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2021-07-05 19:12:59 +12:00
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('sessions'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2022-04-25 23:43:30 +12:00
'default' => null,
'array' => false,
2022-04-04 21:59:32 +12:00
'filters' => ['subQuerySessions'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('tokens'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2022-04-27 23:06:53 +12:00
'default' => null,
'array' => false,
'filters' => ['subQueryTokens'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('memberships'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2022-05-14 00:32:18 +12:00
'default' => null,
2022-04-28 00:44:47 +12:00
'array' => false,
'filters' => ['subQueryMemberships'],
2019-08-10 02:46:09 +12:00
],
2020-02-23 21:56:40 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2022-05-16 21:58:17 +12:00
]
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2022-08-20 09:10:15 +12:00
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [256],
'orders' => [Database::ORDER_ASC],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_email'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_UNIQUE,
'attributes' => ['email'],
'lengths' => [320],
'orders' => [Database::ORDER_ASC],
],
2022-06-22 06:02:43 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_phone'),
2022-06-22 06:02:43 +12:00
'type' => Database::INDEX_UNIQUE,
'attributes' => ['phone'],
'lengths' => [16],
'orders' => [Database::ORDER_ASC],
],
2022-08-20 09:10:15 +12:00
[
'$id' => ID::custom('_key_status'),
'type' => Database::INDEX_KEY,
'attributes' => ['status'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_passwordUpdate'),
'type' => Database::INDEX_KEY,
'attributes' => ['passwordUpdate'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_registration'),
'type' => Database::INDEX_KEY,
'attributes' => ['registration'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_emailVerification'),
'type' => Database::INDEX_KEY,
'attributes' => ['emailVerification'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_phoneVerification'),
'type' => Database::INDEX_KEY,
'attributes' => ['phoneVerification'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2022-05-16 21:58:17 +12:00
]
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
2022-04-27 23:06:53 +12:00
'tokens' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('tokens'),
2022-04-27 23:06:53 +12:00
'name' => 'Tokens',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2022-04-27 23:06:53 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userId'),
2022-04-27 23:06:53 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('type'),
2022-04-27 23:06:53 +12:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('secret'),
2022-04-27 23:06:53 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 512, // https://www.tutorialspoint.com/how-long-is-the-sha256-hash-in-mysql (512 for encryption)
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['encrypt'],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('expire'),
2022-07-05 22:59:03 +12:00
'type' => Database::VAR_DATETIME,
2022-04-27 23:06:53 +12:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2022-04-27 23:06:53 +12:00
'required' => false,
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2022-04-27 23:06:53 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userAgent'),
2022-04-27 23:06:53 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('ip'),
2022-04-27 23:06:53 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 45, // https://stackoverflow.com/a/166157/2299554
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
]
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_user'),
2022-04-27 23:06:53 +12:00
'type' => Database::INDEX_KEY,
'attributes' => ['userInternalId'],
2022-04-27 23:06:53 +12:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
],
],
2021-12-02 00:48:23 +13:00
'sessions' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('sessions'),
2021-12-02 00:48:23 +13:00
'name' => 'Sessions',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('provider'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('providerUid'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
'default' => null,
2021-12-02 00:48:23 +13:00
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('providerAccessToken'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['encrypt'],
],
2022-02-01 23:42:11 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('providerAccessTokenExpiry'),
2022-07-06 01:06:55 +12:00
'type' => Database::VAR_DATETIME,
2022-02-01 23:42:11 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2022-02-01 23:42:11 +13:00
'required' => false,
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2022-02-01 23:42:11 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('providerRefreshToken'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => ['encrypt'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('secret'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
2021-12-02 22:47:40 +13:00
'size' => 512, // https://www.tutorialspoint.com/how-long-is-the-sha256-hash-in-mysql (512 for encryption)
2021-12-02 00:48:23 +13:00
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => ['encrypt'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('expire'),
2022-07-05 22:59:03 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userAgent'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('ip'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 45, // https://stackoverflow.com/a/166157/2299554
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('countryCode'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('osCode'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
2021-12-02 00:48:23 +13:00
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('osName'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('osVersion'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientType'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientCode'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientName'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientVersion'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientEngine'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('clientEngineVersion'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deviceName'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 23:38:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deviceBrand'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
2020-02-21 09:43:21 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deviceModel'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2020-02-23 21:56:40 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_provider_providerUid'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['provider', 'providerUid'],
'lengths' => [100, 100],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
2022-04-27 21:13:34 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_user'),
2022-04-27 21:13:34 +12:00
'type' => Database::INDEX_KEY,
'attributes' => ['userInternalId'],
2022-04-27 21:13:34 +12:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'teams' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('teams'),
2021-12-02 00:48:23 +13:00
'name' => 'Teams',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('total'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2020-02-21 09:43:21 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
],
2021-12-02 00:48:23 +13:00
'indexes' => [
2020-02-23 21:56:40 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2021-12-02 00:48:23 +13:00
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_total'),
'type' => Database::INDEX_KEY,
'attributes' => ['total'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2021-12-02 00:48:23 +13:00
],
],
'memberships' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('memberships'),
2021-12-02 00:48:23 +13:00
'name' => 'Memberships',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('userId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
2020-02-23 21:56:40 +13:00
'default' => null,
2020-02-21 09:43:21 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
2020-02-23 21:56:40 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('teamInternalId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('teamId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('roles'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => true,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('invited'),
2022-07-07 19:44:28 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-07 19:44:28 +12:00
'signed' => false,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-02-23 21:56:40 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('joined'),
2022-07-07 19:44:28 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-07 19:44:28 +12:00
'signed' => false,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-02-23 21:56:40 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('confirm'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('secret'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2021-05-18 06:10:17 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-03 01:59:28 +13:00
'filters' => ['encrypt'],
],
2022-02-17 05:26:05 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2022-02-17 05:26:05 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2020-02-21 09:43:21 +13:00
],
2021-12-02 00:48:23 +13:00
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_unique'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_UNIQUE,
'attributes' => ['teamInternalId', 'userInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_user'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['userInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_team'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['teamInternalId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
2022-02-17 05:26:05 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2022-02-17 05:26:05 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_userId'),
'type' => Database::INDEX_KEY,
'attributes' => ['userId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_teamId'),
'type' => Database::INDEX_KEY,
'attributes' => ['teamId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_invited'),
'type' => Database::INDEX_KEY,
'attributes' => ['invited'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_joined'),
'type' => Database::INDEX_KEY,
'attributes' => ['joined'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_confirm'),
'type' => Database::INDEX_KEY,
'attributes' => ['confirm'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'functions' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('functions'),
2020-05-05 02:35:01 +12:00
'name' => 'Functions',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-02-21 09:43:21 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('execute'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
'array' => true,
'filters' => [],
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
2020-05-05 02:35:01 +12:00
'required' => false,
2020-02-21 09:43:21 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
2020-05-05 02:35:01 +12:00
[
'$id' => ID::custom('enabled'),
'type' => Database::VAR_BOOLEAN,
2021-12-02 00:48:23 +13:00
'signed' => true,
'size' => 0,
'format' => '',
2021-12-02 00:48:23 +13:00
'filters' => [],
'required' => true,
'array' => false,
2020-05-05 02:35:01 +12:00
],
2020-07-15 04:13:18 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('runtime'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
2020-07-15 04:13:18 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-07-15 04:13:18 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-07-15 04:13:18 +12:00
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deployment'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-05 02:35:01 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('vars'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
2022-08-25 03:07:18 +12:00
'size' => 16384,
2021-12-02 00:48:23 +13:00
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2022-07-20 19:18:49 +12:00
'default' => null,
2020-05-05 02:35:01 +12:00
'array' => false,
2022-07-20 19:18:49 +12:00
'filters' => ['subQueryVariables'],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('events'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 05:30:12 +12:00
'array' => true,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('schedule'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
2020-05-05 02:35:01 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 08:37:59 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
[
2022-09-14 08:13:48 +12:00
'$id' => ID::custom('scheduleUpdatedAt'), // Used to fix duplicate executions bug. Can be removed once new queue library is used
'type' => Database::VAR_DATETIME,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['datetime'],
],
2020-05-13 10:00:00 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('schedulePrevious'),
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
'signed' => false,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-02-23 21:56:40 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('scheduleNext'),
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
'signed' => false,
2020-02-21 09:43:21 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-21 09:43:21 +13:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-02-21 09:43:21 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('timeout'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
2020-05-13 10:00:00 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-21 09:43:21 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
],
2021-12-02 00:48:23 +13:00
'indexes' => [
2020-02-23 21:56:40 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
2022-02-23 01:14:48 +13:00
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
2022-08-25 06:41:26 +12:00
],
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_enabled'),
2022-08-25 06:41:26 +12:00
'type' => Database::INDEX_KEY,
'attributes' => ['enabled'],
'lengths' => [],
2022-08-25 06:41:26 +12:00
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_runtime'),
'type' => Database::INDEX_KEY,
'attributes' => ['runtime'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_deployment'),
'type' => Database::INDEX_KEY,
'attributes' => ['deployment'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_schedule'),
'type' => Database::INDEX_KEY,
'attributes' => ['schedule'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_scheduleNext'),
'type' => Database::INDEX_KEY,
'attributes' => ['scheduleNext'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_schedulePrevious'),
'type' => Database::INDEX_KEY,
'attributes' => ['schedulePrevious'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_timeout'),
'type' => Database::INDEX_KEY,
'attributes' => ['timeout'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2020-05-06 05:30:12 +12:00
],
],
2021-12-02 00:48:23 +13:00
'deployments' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('deployments'),
'name' => 'Deployments',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-02-29 19:24:46 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('resourceId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('resourceType'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-23 21:56:40 +13:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('buildId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-02-23 21:56:40 +13:00
'required' => false,
'default' => null,
2020-02-23 21:56:40 +13:00
'array' => false,
'filters' => [],
2020-02-23 21:56:40 +13:00
],
[
2021-12-02 00:48:23 +13:00
'array' => false,
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('entrypoint'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('path'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
2021-05-18 06:10:17 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('size'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2022-02-22 21:03:24 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('metadata'),
2022-02-22 21:03:24 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384, // https://tools.ietf.org/html/rfc4288#section-4.2
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['json'],
],
2021-12-03 19:58:09 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('chunksTotal'),
2021-12-03 19:58:09 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('chunksUploaded'),
2021-12-03 19:58:09 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-11-17 11:48:32 +13:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('activate'),
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => false,
'array' => false,
'filters' => [],
]
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_resource'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['resourceId'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_resource_type'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['resourceType'],
2021-12-02 00:48:23 +13:00
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2019-08-10 02:46:09 +12:00
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_entrypoint'),
'type' => Database::INDEX_KEY,
'attributes' => ['entrypoint'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_size'),
'type' => Database::INDEX_KEY,
'attributes' => ['size'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_buildId'),
'type' => Database::INDEX_KEY,
'attributes' => ['buildId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_activate'),
'type' => Database::INDEX_KEY,
'attributes' => ['activate'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'builds' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('builds'),
'name' => 'Builds',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('startTime'),
2022-07-12 03:12:41 +12:00
'type' => Database::VAR_DATETIME,
'format' => '',
'size' => 0,
2022-07-12 03:12:41 +12:00
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('endTime'),
2022-07-12 03:12:41 +12:00
'type' => Database::VAR_DATETIME,
'format' => '',
'size' => 0,
2022-07-12 03:12:41 +12:00
'signed' => false,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2019-08-10 02:46:09 +12:00
],
2022-01-26 23:49:02 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('duration'),
2022-01-26 23:49:02 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deploymentId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('runtime'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => true,
'default' => '',
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('status'),
2022-05-24 02:54:50 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => true,
'default' => 'processing',
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('outputPath'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => '',
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('stderr'),
'type' => Database::VAR_STRING,
'format' => '',
2022-03-22 00:52:10 +13:00
'size' => 1000000,
'signed' => true,
'required' => false,
2019-08-10 02:46:09 +12:00
'default' => '',
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('stdout'),
'type' => Database::VAR_STRING,
'format' => '',
2022-03-22 00:52:10 +13:00
'size' => 1000000,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
'default' => '',
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('sourceType'),
2022-05-24 02:54:50 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => true,
'default' => 'local',
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('source'),
2022-05-24 02:54:50 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => true,
2020-05-05 02:35:01 +12:00
'default' => '',
'array' => false,
'filters' => [],
]
2020-05-05 02:35:01 +12:00
],
'indexes' => [
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_deployment'),
'type' => Database::INDEX_KEY,
'attributes' => ['deploymentId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
]
],
],
2021-12-02 00:48:23 +13:00
'executions' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('executions'),
2020-05-06 07:42:35 +12:00
'name' => 'Executions',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-05-13 10:00:00 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('functionId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-05-13 10:00:00 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-13 10:00:00 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-13 10:00:00 +12:00
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('deploymentId'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-05 02:35:01 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
2020-07-15 04:13:18 +12:00
[
'array' => false,
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('trigger'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'filters' => [],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('status'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-05 02:35:01 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('response'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
2022-03-22 00:52:10 +13:00
'size' => 1000000,
2021-12-02 00:48:23 +13:00
'signed' => true,
2020-05-05 02:35:01 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 08:37:59 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
2020-05-13 10:00:00 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('stderr'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
2022-03-22 00:52:10 +13:00
'size' => 1000000,
2021-12-02 00:48:23 +13:00
'signed' => true,
2020-05-05 02:35:01 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 08:37:59 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
2020-05-13 10:00:00 +12:00
[
'$id' => ID::custom('stdout'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
2022-03-22 00:52:10 +13:00
'size' => 1000000,
2021-12-02 00:48:23 +13:00
'signed' => true,
2020-05-13 10:00:00 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-13 10:00:00 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-13 10:00:00 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('statusCode'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
2020-05-13 10:00:00 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-13 10:00:00 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-13 10:00:00 +12:00
],
2020-05-05 02:35:01 +12:00
[
'$id' => ID::custom('duration'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_FLOAT,
'format' => '',
'size' => 0,
'signed' => true,
2020-05-05 02:35:01 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 08:37:59 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-05 02:35:01 +12:00
],
2021-08-24 21:32:27 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2021-08-24 21:32:27 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2021-08-24 21:32:27 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
2020-05-06 05:30:12 +12:00
],
2021-12-02 00:48:23 +13:00
'indexes' => [
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_function'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2020-05-05 02:35:01 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_fulltext_search'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2020-05-06 07:42:35 +12:00
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_trigger'),
'type' => Database::INDEX_KEY,
'attributes' => ['trigger'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_status'),
'type' => Database::INDEX_KEY,
'attributes' => ['status'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_statusCode'),
'type' => Database::INDEX_KEY,
'attributes' => ['statusCode'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_duration'),
2022-08-25 06:41:26 +12:00
'type' => Database::INDEX_KEY,
'attributes' => ['duration'],
2022-08-25 06:41:26 +12:00
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'certificates' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('certificates'),
2021-12-02 00:48:23 +13:00
'name' => 'Certificates',
'attributes' => [
2020-05-06 07:42:35 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('domain'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
// The maximum total length of a domain name or number is 255 characters.
// https://datatracker.ietf.org/doc/html/rfc2821#section-4.5.3.1
// https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.2
'size' => 255,
'signed' => true,
2020-05-06 07:42:35 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 07:42:35 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-06 07:42:35 +12:00
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('issueDate'),
2022-07-06 04:29:12 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2020-07-15 15:38:57 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-07-15 15:38:57 +12:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-07-15 15:38:57 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('renewDate'),
2022-07-06 04:29:12 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
2019-08-10 02:46:09 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('attempts'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('log'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('updated'),
2022-07-04 21:55:11 +12:00
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
2022-07-06 04:29:12 +12:00
'signed' => false,
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_domain'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['domain'],
'lengths' => [255],
'orders' => [Database::ORDER_ASC],
],
2019-08-10 02:46:09 +12:00
],
],
2022-01-16 19:33:47 +13:00
'buckets' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('buckets'),
'name' => 'Buckets',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-10-31 09:04:32 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('enabled'),
'type' => Database::VAR_BOOLEAN,
'signed' => true,
2021-12-02 00:48:23 +13:00
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
2020-10-31 09:04:32 +13:00
'array' => false,
],
2020-05-06 07:42:35 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'signed' => true,
'size' => 128,
'format' => '',
'filters' => [],
'required' => true,
2020-05-06 07:42:35 +12:00
'array' => false,
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('fileSecurity'),
2022-08-04 12:08:16 +12:00
'type' => Database::VAR_BOOLEAN,
'signed' => true,
2022-08-04 12:08:16 +12:00
'size' => 1,
'format' => '',
'filters' => [],
2020-05-13 10:00:00 +12:00
'required' => false,
'array' => false,
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('maximumFileSize'),
'type' => Database::VAR_INTEGER,
2022-01-08 00:29:52 +13:00
'signed' => false,
'size' => 8,
'format' => '',
'filters' => [],
'required' => true,
2020-05-06 07:42:35 +12:00
'array' => false,
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('allowedFileExtensions'),
'type' => Database::VAR_STRING,
'signed' => true,
'size' => 64,
'format' => '',
'filters' => [],
'required' => true,
'array' => true,
],
[
'$id' => 'compression',
'type' => Database::VAR_STRING,
'signed' => true,
'size' => 10,
'format' => '',
'filters' => [],
'required' => true,
'array' => false,
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('encryption'),
'type' => Database::VAR_BOOLEAN,
'signed' => true,
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
2020-05-06 07:42:35 +12:00
'array' => false,
],
2020-05-05 02:35:01 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('antivirus'),
'type' => Database::VAR_BOOLEAN,
'signed' => true,
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
2020-07-15 15:38:57 +12:00
'array' => false,
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2019-08-10 02:46:09 +12:00
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
],
'indexes' => [
2020-05-06 07:42:35 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_fulltext_name'),
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2020-05-06 07:42:35 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_enabled'),
'type' => Database::INDEX_KEY,
'attributes' => ['enabled'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [128],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_fileSecurity'),
'type' => Database::INDEX_KEY,
'attributes' => ['fileSecurity'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_maximumFileSize'),
'type' => Database::INDEX_KEY,
'attributes' => ['maximumFileSize'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_encryption'),
'type' => Database::INDEX_KEY,
'attributes' => ['encryption'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_antivirus'),
'type' => Database::INDEX_KEY,
'attributes' => ['antivirus'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
]
],
2021-12-02 00:48:23 +13:00
'stats' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('stats'),
2021-12-02 00:48:23 +13:00
'name' => 'Stats',
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('metric'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => true,
'default' => null,
2020-05-06 07:42:35 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-06 07:42:35 +12:00
],
2020-07-19 01:49:20 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('value'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
2022-04-21 22:29:10 +12:00
'size' => 8,
2021-12-02 00:48:23 +13:00
'signed' => false,
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-07-19 01:49:20 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-07-19 01:49:20 +12:00
],
2020-10-31 09:04:32 +13:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('time'),
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
'signed' => false,
2022-07-12 03:12:41 +12:00
'required' => false,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-10-31 09:04:32 +13:00
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
2020-10-31 09:04:32 +13:00
],
2020-05-06 07:42:35 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('period'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 4,
'signed' => true,
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
2020-05-06 07:42:35 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-06 07:42:35 +12:00
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('type'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 1,
'signed' => false,
'required' => true,
'default' => 0, // 0 -> count, 1 -> sum
2020-05-06 07:42:35 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-05-06 07:42:35 +12:00
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
2020-05-06 07:42:35 +12:00
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_time'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['time'],
'lengths' => [],
'orders' => [Database::ORDER_DESC],
2020-05-06 07:42:35 +12:00
],
[
'$id' => ID::custom('_key_period_time'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-07-12 03:12:41 +12:00
'attributes' => ['period', 'time'],
2021-12-02 00:48:23 +13:00
'lengths' => [],
'orders' => [Database::ORDER_ASC],
2020-05-06 07:42:35 +12:00
],
[
'$id' => ID::custom('_key_metric_period_time'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
2022-07-12 03:12:41 +12:00
'attributes' => ['metric', 'period', 'time'],
2021-12-02 00:48:23 +13:00
'lengths' => [],
'orders' => [Database::ORDER_DESC],
2019-08-10 02:46:09 +12:00
],
],
],
2022-01-19 00:05:04 +13:00
2021-12-02 00:48:23 +13:00
'realtime' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom(Database::METADATA),
'$id' => ID::custom('realtime'),
'name' => 'Realtime Connections',
2021-12-02 00:48:23 +13:00
'attributes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('container'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('timestamp'),
'type' => Database::VAR_DATETIME,
2021-12-02 00:48:23 +13:00
'format' => '',
'size' => 0,
'signed' => false,
2021-12-02 00:48:23 +13:00
'required' => false,
'default' => null,
'array' => false,
2022-08-16 03:03:03 +12:00
'filters' => ['datetime'],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('value'),
2021-12-02 00:48:23 +13:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => true,
2021-12-02 00:48:23 +13:00
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [], //TODO: use json filter
]
],
2021-12-02 00:48:23 +13:00
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_timestamp'),
2021-12-02 00:48:23 +13:00
'type' => Database::INDEX_KEY,
'attributes' => ['timestamp'],
'lengths' => [],
'orders' => [Database::ORDER_DESC],
],
]
],
2022-07-03 21:36:59 +12:00
'cache' => [
'$collection' => Database::METADATA,
'$id' => 'cache',
'name' => 'Cache',
'attributes' => [
2022-08-15 21:05:41 +12:00
[
'$id' => 'resource',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2022-07-03 21:36:59 +12:00
[
2022-07-05 19:37:46 +12:00
'$id' => 'accessedAt',
2022-08-31 00:44:37 +12:00
'type' => Database::VAR_DATETIME,
2022-07-03 21:36:59 +12:00
'format' => '',
'size' => 0,
'signed' => false,
2022-08-31 00:44:37 +12:00
'required' => false,
2022-07-03 21:36:59 +12:00
'default' => null,
'array' => false,
2022-08-31 00:44:37 +12:00
'filters' => ['datetime'],
2022-08-15 21:05:41 +12:00
],
[
'$id' => 'signature',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2022-07-03 21:36:59 +12:00
'filters' => [],
],
],
'indexes' => [
[
2022-07-24 19:05:24 +12:00
'$id' => '_key_accessedAt',
2022-07-03 21:36:59 +12:00
'type' => Database::INDEX_KEY,
2022-07-05 19:37:46 +12:00
'attributes' => ['accessedAt'],
2022-07-24 21:49:51 +12:00
'lengths' => [],
'orders' => [],
2022-07-03 21:36:59 +12:00
],
2022-08-16 01:55:11 +12:00
[
'$id' => '_key_resource',
'type' => Database::INDEX_KEY,
'attributes' => ['resource'],
'lengths' => [],
'orders' => [],
],
2022-07-03 21:36:59 +12:00
],
],
'files' => [
2022-08-14 22:33:36 +12:00
'$collection' => ID::custom('buckets'),
'$id' => ID::custom('files'),
'$name' => 'Files',
'attributes' => [
[
'array' => false,
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('bucketId'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('name'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('path'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('signature'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('mimeType'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 127, // https://tools.ietf.org/html/rfc4288#section-4.2
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('metadata'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384, // https://tools.ietf.org/html/rfc4288#section-4.2
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => ['json'],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('sizeOriginal'),
'type' => Database::VAR_INTEGER,
'format' => '',
2022-01-08 00:29:52 +13:00
'size' => 8,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('sizeActual'),
'type' => Database::VAR_INTEGER,
'format' => '',
2022-01-08 00:29:52 +13:00
'size' => 8,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('algorithm'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('comment'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('openSSLVersion'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('openSSLCipher'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('openSSLTag'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('openSSLIV'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('chunksTotal'),
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('chunksUploaded'),
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('search'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_search'),
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
2022-08-14 22:33:36 +12:00
'$id' => ID::custom('_key_bucket'),
'type' => Database::INDEX_KEY,
'attributes' => ['bucketId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
2022-08-25 06:41:26 +12:00
[
'$id' => ID::custom('_key_name'),
'type' => Database::INDEX_KEY,
'attributes' => ['name'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_signature'),
'type' => Database::INDEX_KEY,
'attributes' => ['signature'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_mimeType'),
'type' => Database::INDEX_KEY,
'attributes' => ['mimeType'],
'lengths' => [127],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_sizeOriginal'),
'type' => Database::INDEX_KEY,
'attributes' => ['sizeOriginal'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_chunksTotal'),
'type' => Database::INDEX_KEY,
'attributes' => ['chunksTotal'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => ID::custom('_key_chunksUploaded'),
'type' => Database::INDEX_KEY,
'attributes' => ['chunksUploaded'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
],
]
],
2022-07-20 19:18:49 +12:00
'variables' => [
'$collection' => Database::METADATA,
'$id' => 'variables',
'name' => 'variables',
'attributes' => [
[
'$id' => 'functionInternalId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'functionId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'key',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'value',
'type' => Database::VAR_STRING,
'format' => '',
2022-08-30 19:30:23 +12:00
'size' => 8192,
2022-07-20 19:18:49 +12:00
'signed' => true,
'required' => true,
'default' => null,
'array' => false,
2022-08-25 03:07:18 +12:00
'filters' => [ 'encrypt' ]
2022-08-27 01:38:39 +12:00
],
[
'$id' => ID::custom('search'),
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2022-07-20 19:18:49 +12:00
],
'indexes' => [
[
'$id' => '_key_function',
'type' => Database::INDEX_KEY,
'attributes' => ['functionInternalId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => '_key_uniqueKey',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['functionInternalId', 'key'],
'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
],
2022-08-25 03:07:18 +12:00
[
'$id' => '_key_key',
'type' => Database::INDEX_KEY,
'attributes' => ['key'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
2022-08-27 01:38:39 +12:00
[
'$id' => ID::custom('_fulltext_search'),
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
],
2022-07-20 19:18:49 +12:00
],
],
];
2022-01-19 00:05:04 +13:00
return $collections;