1
0
Fork 0
mirror of synced 2024-05-19 04:02:34 +12:00
appwrite/app/config/collections.php

2980 lines
93 KiB
PHP
Raw Normal View History

2019-08-10 02:46:09 +12:00
<?php
2020-03-29 01:42:16 +13:00
use Utopia\Config\Config;
2021-12-02 00:48:23 +13:00
use Utopia\Database\Database;
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 or not 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' => [
2021-12-02 00:48:23 +13:00
'$collection' => Database::METADATA,
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
'$id' => 'databases',
'name' => 'Databases',
'attributes' => [
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'size' => 256,
'required' => true,
'signed' => true,
'array' => false,
'filters' => [],
],
[
'$id' => 'search',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
'$id' => '_fulltext_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
],
],
],
'collections' => [
'$collection' => 'databases',
2021-12-02 00:48:23 +13:00
'$id' => '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
[
'$id' => 'databaseInternalId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'databaseId',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'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
],
[
'$id' => '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
[
2021-12-02 00:48:23 +13:00
'$id' => 'permission',
'type' => Database::VAR_STRING,
'size' => 64,
'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
'$id' => 'attributes',
'type' => Database::VAR_STRING,
'size' => 1000000,
'required' => false,
'signed' => true,
'array' => false,
'filters' => ['subQueryAttributes'],
2019-08-10 02:46:09 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'indexes',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_fulltext_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2021-12-02 00:48:23 +13:00
],
],
],
'attributes' => [
'$collection' => Database::METADATA,
'$id' => 'attributes',
'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
[
'$id' => 'databaseInternalId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'databaseId',
'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
[
'$id' => 'collectionInternalId',
'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
[
'$id' => 'collectionId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'key',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'type',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'status',
'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-12-02 00:48:23 +13:00
'$id' => 'size',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'required',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'default',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'signed',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'array',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'format',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'formatOptions',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'filters',
'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
[
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
'$id' => '_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' => [
'$collection' => Database::METADATA,
'$id' => 'indexes',
'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
[
'$id' => 'databaseInternalId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'databaseId',
'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
[
'$id' => 'collectionInternalId',
'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
[
'$id' => 'collectionId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'key',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'type',
'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-12-02 00:48:23 +13:00
'$id' => 'status',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'attributes',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'lengths',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'orders',
'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' => [
[
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
'$id' => '_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' => [
'$collection' => Database::METADATA,
'$id' => 'projects',
'name' => 'Projects',
'attributes' => [
[
'$id' => '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
[
'$id' => 'teamId',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'description',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'logo',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'url',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'version',
'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-12-02 00:48:23 +13:00
'$id' => 'legalName',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'legalCountry',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'legalState',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'legalCity',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'legalAddress',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'legalTaxId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'services',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'auths',
'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-04-14 21:54:29 +12:00
'$id' => '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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'platforms',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'webhooks',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'keys',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'domains',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2020-10-31 09:04:32 +13:00
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'platforms' => [
'$collection' => Database::METADATA,
'$id' => 'platforms',
'name' => 'platforms',
'attributes' => [
[
'$id' => '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
[
'$id' => 'projectId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'type',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'key',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'store',
'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
'$id' => 'hostname',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_project',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'domains',
'name' => 'domains',
'attributes' => [
[
'$id' => '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
[
'$id' => 'projectId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'updated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'domain',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'tld',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'registerable',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'verification',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'certificateId',
'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' => [
[
'$id' => '_key_project',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'keys',
'name' => 'keys',
'attributes' => [
[
'$id' => '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
[
'$id' => 'projectId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'scopes',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'secret',
'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
[
'$id' => 'expire',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
2022-06-02 04:51:12 +12:00
'default' => 0,
2022-06-01 03:41:12 +12:00
'array' => false,
'filters' => [],
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
'$id' => '_key_project',
'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
'webhooks' => [
'$collection' => Database::METADATA,
'$id' => 'webhooks',
'name' => 'webhooks',
'attributes' => [
[
'$id' => '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
[
'$id' => 'projectId',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'url',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'httpUser',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'httpPass',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'security',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'events',
'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
[
'$id' => 'signatureKey',
'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' => [
[
'$id' => '_key_project',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'users',
'name' => 'Users',
'attributes' => [
[
'$id' => 'name',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'email',
'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
[
'$id' => 'phone',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'status',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'password',
'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' => [],
2019-08-10 02:46:09 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'passwordUpdate',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'prefs',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'registration',
'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
],
2021-02-28 23:16:27 +13:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'emailVerification',
'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
[
'$id' => 'phoneVerification',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'reset',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'sessions',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'tokens',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'memberships',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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' => [
[
'$id' => '_key_email',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['email'],
'lengths' => [320],
'orders' => [Database::ORDER_ASC],
],
2022-06-22 06:02:43 +12:00
[
'$id' => '_key_phone',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['phone'],
'lengths' => [16],
'orders' => [Database::ORDER_ASC],
],
2021-12-02 00:48:23 +13:00
[
'$id' => '_key_search',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'tokens',
'name' => 'Tokens',
'attributes' => [
[
'$id' => '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
[
'$id' => 'userId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'type',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => true,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'secret',
'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'],
],
[
'$id' => 'expire',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'userAgent',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'ip',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 45, // https://stackoverflow.com/a/166157/2299554
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
]
],
'indexes' => [
[
'$id' => '_key_user',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'sessions',
'name' => 'Sessions',
'attributes' => [
[
'$id' => '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
[
'$id' => 'userId',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'provider',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'providerUid',
'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' => [],
],
[
'$id' => '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
[
'$id' => 'providerAccessTokenExpiry',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => '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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'secret',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'expire',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'userAgent',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'ip',
'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
[
'$id' => 'countryCode',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'osCode',
'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' => [],
],
[
'$id' => 'osName',
'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
'$id' => 'osVersion',
'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
[
'$id' => 'clientType',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'clientCode',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'clientName',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'clientVersion',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'clientEngine',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'clientEngineVersion',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'deviceName',
'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
[
'$id' => 'deviceBrand',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'deviceModel',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_provider_providerUid',
'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
[
'$id' => '_key_user',
'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' => [
'$collection' => Database::METADATA,
'$id' => 'teams',
'name' => 'Teams',
'attributes' => [
[
'$id' => 'name',
'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-02-27 22:57:09 +13:00
'$id' => '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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2021-12-02 00:48:23 +13:00
],
],
],
'memberships' => [
'$collection' => Database::METADATA,
'$id' => 'memberships',
'name' => 'Memberships',
'attributes' => [
[
'$id' => '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
[
'$id' => '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
[
'$id' => 'teamInternalId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => '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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'roles',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'invited',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'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
'$id' => 'joined',
'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,
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
'$id' => 'confirm',
'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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'secret',
'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
[
'$id' => 'search',
'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' => [
[
'$id' => '_key_unique',
'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-06-22 06:02:43 +12:00
'$id' => '_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
[
'$id' => '_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
[
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'functions' => [
'$collection' => Database::METADATA,
'$id' => '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
[
2021-12-02 00:48:23 +13:00
'$id' => 'execute',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
'array' => true,
'filters' => [],
],
2020-05-05 02:35:01 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'name',
'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
[
2021-12-02 00:48:23 +13:00
'array' => false,
'$id' => 'status',
'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,
'filters' => [],
2020-05-05 02:35:01 +12:00
],
2020-07-15 04:13:18 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'runtime',
'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
[
'$id' => '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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'vars',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 8192,
'signed' => true,
2020-05-06 05:30:12 +12:00
'required' => false,
2021-12-09 06:49:44 +13:00
'default' => [],
2020-05-05 02:35:01 +12:00
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => ['json', 'encrypt'],
2020-05-05 02:35:01 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'events',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'schedule',
'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
],
2020-05-13 10:00:00 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'schedulePrevious',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'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
'$id' => 'scheduleNext',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
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,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-02-21 09:43:21 +13:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'timeout',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
2022-02-23 01:14:48 +13:00
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
]
2020-05-06 05:30:12 +12:00
],
],
2021-12-02 00:48:23 +13:00
'deployments' => [
2021-12-02 00:48:23 +13:00
'$collection' => Database::METADATA,
'$id' => 'deployments',
'name' => 'Deployments',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-02-29 19:24:46 +13:00
[
'$id' => 'resourceId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => '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
],
[
'$id' => '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,
'$id' => '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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'path',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'size',
'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
[
'$id' => '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'],
],
2021-12-03 19:58:09 +13:00
[
'$id' => 'chunksTotal',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'chunksUploaded',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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-02-15 21:46:21 +13:00
'$id' => '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' => [
[
'$id' => '_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
],
[
'$id' => '_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
],
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2019-08-10 02:46:09 +12:00
],
],
],
2021-12-02 00:48:23 +13:00
'builds' => [
'$collection' => Database::METADATA,
'$id' => 'builds',
'name' => 'Builds',
'attributes' => [
[
'$id' => 'startTime',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2022-01-26 23:49:02 +13:00
'$id' => 'endTime',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2019-08-10 02:46:09 +12:00
'array' => false,
'filters' => [],
2019-08-10 02:46:09 +12:00
],
2022-01-26 23:49:02 +13:00
[
'$id' => 'duration',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'deploymentId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'runtime',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => true,
'default' => '',
'array' => false,
'filters' => [],
],
2019-08-10 02:46:09 +12:00
[
'$id' => '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
],
[
'$id' => '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
],
[
'$id' => '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
],
[
'$id' => '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
],
[
'$id' => '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
],
[
'$id' => '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
[
'$id' => '_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' => [
'$collection' => Database::METADATA,
'$id' => '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
[
2021-12-02 00:48:23 +13:00
'$id' => 'functionId',
'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
[
'$id' => '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,
2021-12-02 00:48:23 +13:00
'$id' => 'trigger',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'status',
'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
],
[
'$id' => '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
[
2021-12-02 00:48:23 +13:00
'$id' => 'stderr',
'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
],
[
'$id' => '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
[
2021-12-02 00:48:23 +13:00
'$id' => 'time',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'search',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_function',
'type' => Database::INDEX_KEY,
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2020-05-05 02:35:01 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => '_fulltext_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [],
'orders' => [],
2020-05-06 07:42:35 +12:00
],
2019-08-10 02:46:09 +12:00
],
],
2021-12-02 00:48:23 +13:00
'certificates' => [
'$collection' => Database::METADATA,
'$id' => 'certificates',
'name' => 'Certificates',
'attributes' => [
2020-05-06 07:42:35 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'domain',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'issueDate',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
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,
2021-12-02 00:48:23 +13:00
'filters' => [],
2020-07-15 15:38:57 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'renewDate',
'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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'attempts',
'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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'log',
'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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'updated',
'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' => [],
],
2021-12-02 00:48:23 +13:00
],
'indexes' => [
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_domain',
'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' => [
2021-12-02 00:48:23 +13:00
'$collection' => Database::METADATA,
'$id' => 'buckets',
'name' => 'Buckets',
2021-12-02 00:48:23 +13:00
'attributes' => [
2020-10-31 09:04:32 +13:00
[
'$id' => '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
[
'$id' => '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,
],
[
'$id' => 'permission',
'type' => Database::VAR_STRING,
'size' => 64,
'signed' => true,
2020-05-13 10:00:00 +12:00
'required' => false,
'default' => null,
2020-05-13 10:00:00 +12:00
'array' => false,
'filters' => [],
2020-05-13 10:00:00 +12:00
],
2020-05-05 02:35:01 +12:00
[
'$id' => '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,
],
[
'$id' => 'allowedFileExtensions',
'type' => Database::VAR_STRING,
'signed' => true,
'size' => 64,
'format' => '',
'filters' => [],
'required' => true,
'array' => true,
],
[
'$id' => '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
[
'$id' => 'antivirus',
'type' => Database::VAR_BOOLEAN,
'signed' => true,
'size' => 0,
'format' => '',
'filters' => [],
'required' => true,
2020-07-15 15:38:57 +12:00
'array' => false,
],
[
'$id' => '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
[
'$id' => '_fulltext_name',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2020-05-06 07:42:35 +12:00
],
[
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
]
],
2021-12-02 00:48:23 +13:00
'stats' => [
'$collection' => Database::METADATA,
'$id' => 'stats',
'name' => 'Stats',
'attributes' => [
[
'$id' => 'metric',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'value',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => 'time',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => true,
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
],
2020-05-06 07:42:35 +12:00
[
2021-12-02 00:48:23 +13:00
'$id' => 'period',
'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
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'type',
'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
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_time',
'type' => Database::INDEX_KEY,
'attributes' => ['time'],
'lengths' => [],
'orders' => [Database::ORDER_DESC],
2020-05-06 07:42:35 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_metric',
'type' => Database::INDEX_KEY,
'attributes' => ['metric'],
'lengths' => [],
'orders' => [Database::ORDER_ASC],
2020-05-06 07:42:35 +12:00
],
[
2021-12-02 00:48:23 +13:00
'$id' => '_key_metric_period',
'type' => Database::INDEX_KEY,
'attributes' => ['metric', 'period'],
'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' => [
'$collection' => Database::METADATA,
'$id' => 'realtime',
'name' => 'Realtime Connections',
2021-12-02 00:48:23 +13:00
'attributes' => [
[
2021-12-02 00:48:23 +13:00
'$id' => 'container',
'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' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'timestamp',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-12-02 00:48:23 +13:00
'filters' => [],
],
[
2021-12-02 00:48:23 +13:00
'$id' => 'value',
'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' => [
[
'$id' => '_key_timestamp',
'type' => Database::INDEX_KEY,
'attributes' => ['timestamp'],
'lengths' => [],
'orders' => [Database::ORDER_DESC],
],
]
],
'files' => [
'$collection' => 'buckets',
'$id' => 'files',
'$name' => 'Files',
'attributes' => [
[
'array' => false,
'$id' => 'bucketId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'filters' => [],
],
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'path',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'signature',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => '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' => [],
],
[
'$id' => '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'],
],
[
'$id' => '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' => [],
],
[
'$id' => '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' => [],
],
[
'$id' => 'algorithm',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'comment',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLVersion',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLCipher',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLTag',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLIV',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'chunksTotal',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'chunksUploaded',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => false,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'search',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
'$id' => '_key_search',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['search'],
'lengths' => [2048],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => '_key_bucket',
'type' => Database::INDEX_KEY,
'attributes' => ['bucketId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
]
],
];
2022-01-19 00:05:04 +13:00
return $collections;