758 lines
No EOL
23 KiB
PHP
758 lines
No EOL
23 KiB
PHP
<?php
|
|
|
|
use Utopia\Config\Config;
|
|
use Utopia\Database\Database;
|
|
|
|
$providers = Config::getParam('providers', []);
|
|
$auth = Config::getParam('auth', []);
|
|
|
|
$collections = [
|
|
'users' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'users',
|
|
'name' => 'Users',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'name',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 256,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'email',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 1024,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'status',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'password',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 32,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'passwordUpdate',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'prefs',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 64000,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => ['json']
|
|
|
|
],
|
|
[
|
|
'$id' => 'registration',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'emailVerification',
|
|
'type' => Database::VAR_BOOLEAN,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'reset',
|
|
'type' => Database::VAR_BOOLEAN,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'sessions',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => ['json'],
|
|
],
|
|
[
|
|
'$id' => 'tokens',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => ['json'],
|
|
],
|
|
[
|
|
'$id' => 'memberships',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => ['json'],
|
|
|
|
],
|
|
],
|
|
'indexes' => [
|
|
[
|
|
'$id' => '_key_email',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['email'],
|
|
'lengths' => [1024],
|
|
'orders' => [Database::ORDER_ASC],
|
|
]
|
|
],
|
|
],
|
|
|
|
'teams' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'teams',
|
|
'name' => 'Teams',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'name',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'dateCreated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'sum',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [],
|
|
],
|
|
|
|
'memberships' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'memberships',
|
|
'name' => 'Memberships',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'teamId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'userId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'roles',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'invited',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'joined',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'confirm',
|
|
'type' => Database::VAR_BOOLEAN,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'secret',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 256,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [
|
|
[
|
|
'$id' => '_key_team',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['teamId'],
|
|
'lengths' => [Database::LENGTH_KEY],
|
|
'orders' => [Database::ORDER_ASC],
|
|
],
|
|
[
|
|
'$id' => '_key_user',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['userId'],
|
|
'lengths' => [Database::LENGTH_KEY],
|
|
'orders' => [Database::ORDER_ASC],
|
|
]
|
|
],
|
|
],
|
|
|
|
'files' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'files',
|
|
'name' => 'Files',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'dateCreated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'array' => false,
|
|
'$id' => 'bucketId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'name',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'path',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'signature',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'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,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'sizeOriginal',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'sizeActual',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'algorithm',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 255,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'comment',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'openSSLVersion',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 64,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'openSSLCipher',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 64,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'openSSLTag',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'openSSLIV',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [
|
|
[
|
|
'$id' => '_key_bucket',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['bucketId'],
|
|
'lengths' => [Database::LENGTH_KEY],
|
|
'orders' => [Database::ORDER_ASC],
|
|
]
|
|
],
|
|
],
|
|
|
|
'functions' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'functions',
|
|
'name' => 'Functions',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'execute',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'dateCreated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'dateUpdated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'array' => false,
|
|
'$id' => 'status',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'name',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'env',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'tag',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'vars',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 8192,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => ['json', 'encrypt'],
|
|
],
|
|
[
|
|
'$id' => 'events',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 256,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => true,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'schedule',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'schedulePrevious',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'scheduleNext',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'timeout',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [
|
|
],
|
|
],
|
|
|
|
'tags' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'tags',
|
|
'name' => 'Tags',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'dateCreated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'functionId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'array' => false,
|
|
'$id' => 'command',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'path',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 2048,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'size',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [
|
|
[
|
|
'$id' => '_key_function',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['functionId'],
|
|
'lengths' => [Database::LENGTH_KEY],
|
|
'orders' => [Database::ORDER_ASC],
|
|
]
|
|
],
|
|
],
|
|
|
|
'executions' => [
|
|
'$collection' => Database::COLLECTIONS,
|
|
'$id' => 'executions',
|
|
'name' => 'Executions',
|
|
'attributes' => [
|
|
[
|
|
'$id' => 'dateCreated',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'functionId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'tagId',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => Database::LENGTH_KEY,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'array' => false,
|
|
'$id' => 'trigger',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'status',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 128,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'stdout',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 16384,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'stderr',
|
|
'type' => Database::VAR_STRING,
|
|
'format' => '',
|
|
'size' => 16384,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'exitCode',
|
|
'type' => Database::VAR_INTEGER,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
[
|
|
'$id' => 'time',
|
|
'type' => Database::VAR_FLOAT,
|
|
'format' => '',
|
|
'size' => 0,
|
|
'signed' => true,
|
|
'required' => false,
|
|
'array' => false,
|
|
'filters' => [],
|
|
],
|
|
],
|
|
'indexes' => [
|
|
[
|
|
'$id' => '_key_function',
|
|
'type' => Database::INDEX_UNIQUE,
|
|
'attributes' => ['functionId'],
|
|
'lengths' => [Database::LENGTH_KEY],
|
|
'orders' => [Database::ORDER_ASC],
|
|
]
|
|
],
|
|
],
|
|
];
|
|
|
|
return $collections; |