1
0
Fork 0
mirror of synced 2024-07-07 07:25:56 +12:00
appwrite/app/config/collections2.php
2021-05-03 11:28:31 +03:00

1581 lines
59 KiB
PHP

<?php
use Utopia\Config\Config;
use Utopia\Database\Database;
$providers = Config::getParam('providers', []);
$auth = Config::getParam('auth', []);
// '$id' => 'title',
// 'type' => Database::VAR_STRING,
// 'format' => '',
// 'size' => 256,
// 'required' => true,
// 'signed' => true,
// 'array' => false,
// 'filters' => [],
$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' => [],
],
// Database::SYSTEM_COLLECTION_SESSIONS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_SESSIONS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Session',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'User ID',
// 'key' => 'userId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Provider',
// 'key' => 'provider',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Provider User Identifier',
// 'key' => 'providerUid',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Provider Token',
// 'key' => 'providerToken',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Secret',
// 'key' => 'secret',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Expire',
// 'key' => 'expire',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'User Agent',
// 'key' => 'userAgent',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'IP',
// 'key' => 'ip',
// 'type' => Database::SYSTEM_VAR_TYPE_IP,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'OS Code',
// 'key' => 'osCode',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'OS Name',
// 'key' => 'osName',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'OS Version',
// 'key' => 'osVersion',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Type',
// 'key' => 'clientType',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Code',
// 'key' => 'clientCode',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Name',
// 'key' => 'clientName',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Version',
// 'key' => 'clientVersion',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Engine',
// 'key' => 'clientEngine',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Client Engine Version',
// 'key' => 'clientEngineVersion',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Device Name',
// 'key' => 'deviceName',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Device Brand',
// 'key' => 'deviceBrand',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Device Model',
// 'key' => 'deviceModel',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Country Code',
// 'key' => 'countryCode',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_TOKENS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_TOKENS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Token',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'User ID',
// 'key' => 'userId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Type',
// 'key' => 'type',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Secret',
// 'key' => 'secret',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Expire',
// 'key' => 'expire',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'User Agent',
// 'key' => 'userAgent',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'IP',
// 'key' => 'ip',
// 'type' => Database::SYSTEM_VAR_TYPE_IP,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_MEMBERSHIPS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_MEMBERSHIPS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Membership',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Team ID',
// 'key' => 'teamId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'User ID',
// 'key' => 'userId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Roles',
// 'key' => 'roles',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => true,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Invited',
// 'key' => 'invited',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false, //FIXME SHOULD BE REQUIRED
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Joined',
// 'key' => 'joined',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Confirm',
// 'key' => 'confirm',
// 'type' => Database::SYSTEM_VAR_TYPE_BOOLEAN,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Secret',
// 'key' => 'secret',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_TEAMS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_TEAMS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Team',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Created',
// 'key' => 'dateCreated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Sum',
// 'key' => 'sum',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_PROJECTS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_PROJECTS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Project',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Description',
// 'key' => 'description',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Logo',
// 'key' => 'logo',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'URL',
// 'key' => 'url',
// 'type' => Database::SYSTEM_VAR_TYPE_URL,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Team ID',
// 'key' => 'teamId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => 0,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal Name',
// 'key' => 'legalName',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal Country',
// 'key' => 'legalCountry',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal State',
// 'key' => 'legalState',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal City',
// 'key' => 'legalCity',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal Address',
// 'key' => 'legalAddress',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Legal Tax ID',
// 'key' => 'legalTaxId',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Max users allowed',
// 'key' => 'usersAuthLimit',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Webhooks',
// 'key' => 'webhooks',
// 'type' => Database::SYSTEM_VAR_TYPE_DOCUMENT,
// 'default' => [],
// 'required' => false,
// 'array' => true,
// 'list' => [Database::SYSTEM_COLLECTION_WEBHOOKS],
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'API Keys',
// 'key' => 'keys',
// 'type' => Database::SYSTEM_VAR_TYPE_DOCUMENT,
// 'default' => [],
// 'required' => false,
// 'array' => true,
// 'list' => [Database::SYSTEM_COLLECTION_KEYS],
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Tasks',
// 'key' => 'tasks',
// 'type' => Database::SYSTEM_VAR_TYPE_DOCUMENT,
// 'default' => [],
// 'required' => false,
// 'array' => true,
// 'list' => [Database::SYSTEM_COLLECTION_TASKS],
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Platforms',
// 'key' => 'platforms',
// 'type' => Database::SYSTEM_VAR_TYPE_DOCUMENT,
// 'default' => [],
// 'required' => false,
// 'array' => true,
// 'list' => [Database::SYSTEM_COLLECTION_PLATFORMS],
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Domains',
// 'key' => 'domains',
// 'type' => Database::SYSTEM_VAR_TYPE_DOCUMENT,
// 'default' => [],
// 'required' => false,
// 'array' => true,
// 'list' => [Database::SYSTEM_COLLECTION_DOMAINS],
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_WEBHOOKS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_WEBHOOKS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Webhook',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Events',
// 'key' => 'events',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => false,
// 'array' => true,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'URL',
// 'key' => 'url',
// 'type' => Database::SYSTEM_VAR_TYPE_URL,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Security',
// 'key' => 'security',
// 'type' => Database::SYSTEM_VAR_TYPE_BOOLEAN,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP User',
// 'key' => 'httpUser',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP Password',
// 'key' => 'httpPass',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// 'filter' => ['encrypt'],
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_KEYS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_KEYS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Key',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Scopes',
// 'key' => 'scopes',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => false,
// 'array' => true,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Secret',
// 'key' => 'secret',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'filter' => ['encrypt'],
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_TASKS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_TASKS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Task',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Status',
// 'key' => 'status',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Updated',
// 'key' => 'updated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Schedule',
// 'key' => 'schedule',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Previous',
// 'key' => 'previous',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Next',
// 'key' => 'next',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Duration',
// 'key' => 'duration',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Delay',
// 'key' => 'delay',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Security',
// 'key' => 'security',
// 'type' => Database::SYSTEM_VAR_TYPE_BOOLEAN,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP Method',
// 'key' => 'httpMethod',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP URL',
// 'key' => 'httpUrl',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP Headers',
// 'key' => 'httpHeaders',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => false,
// 'array' => true,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP User',
// 'key' => 'httpUser',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'HTTP Password',
// 'key' => 'httpPass',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// 'filter' => ['encrypt'],
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Log',
// 'key' => 'log',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Failures',
// 'key' => 'failures',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_PLATFORMS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_PLATFORMS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Platform',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Type',
// 'key' => 'type',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Created',
// 'key' => 'dateCreated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Updated',
// 'key' => 'dateUpdated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Key',
// 'key' => 'key',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Store',
// 'key' => 'store',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Hostname',
// 'key' => 'hostname',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_DOMAINS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_DOMAINS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Domains',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Domain',
// 'key' => 'domain',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Updated',
// 'key' => 'updated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Top Level Domain',
// 'key' => 'tld',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Registerable Domain',
// 'key' => 'registerable',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Verification',
// 'key' => 'verification',
// 'type' => Database::SYSTEM_VAR_TYPE_BOOLEAN,
// 'default' => false,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Certificate ID',
// 'key' => 'certificateId',
// 'type' => Database::SYSTEM_VAR_TYPE_KEY,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_CERTIFICATES => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_CERTIFICATES,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Certificates',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Domain',
// 'key' => 'domain',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => null,
// 'required' => true,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Issue Date',
// 'key' => 'issueDate',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Renew Date',
// 'key' => 'renewDate',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Attempts',
// 'key' => 'attempts',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Log',
// 'key' => 'log',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
'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' => [],
],
[
'array' => false,
'$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' => [],
],
// Database::SYSTEM_COLLECTION_FUNCTIONS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_FUNCTIONS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Functions',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Created',
// 'key' => 'dateCreated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Updated',
// 'key' => 'dateUpdated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Status',
// 'key' => 'status',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Name',
// 'key' => 'name',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Env',
// 'key' => 'env',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Tag',
// 'key' => 'tag',
// 'type' => Database::SYSTEM_VAR_TYPE_KEY,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Vars',
// 'key' => 'vars',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// 'filter' => ['json', 'encrypt']
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Events',
// 'key' => 'events',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => true,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Schedule',
// 'key' => 'schedule',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Schedule Previous Run',
// 'key' => 'schedulePrevious',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Schedule Next Run',
// 'key' => 'scheduleNext',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Timeout',
// 'key' => 'timeout',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_TAGS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_TAGS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Tags',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Created',
// 'key' => 'dateCreated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Function ID',
// 'key' => 'functionId',
// 'type' => Database::SYSTEM_VAR_TYPE_KEY,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Command',
// 'key' => 'command',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Code Path',
// 'key' => 'path',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Code Size',
// 'key' => 'size',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_EXECUTIONS => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_EXECUTIONS,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Executions',
// 'structure' => true,
// 'rules' => [
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Date Created',
// 'key' => 'dateCreated',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => 0,
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Function ID',
// 'key' => 'functionId',
// 'type' => Database::SYSTEM_VAR_TYPE_KEY,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Tag ID',
// 'key' => 'tagId',
// 'type' => Database::SYSTEM_VAR_TYPE_KEY,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Trigger',
// 'key' => 'trigger',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Status',
// 'key' => 'status',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Exit Code',
// 'key' => 'exitCode',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Stdout',
// 'key' => 'stdout',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Stderr',
// 'key' => 'stderr',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'Time',
// 'key' => 'time',
// 'type' => Database::SYSTEM_VAR_TYPE_NUMERIC,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ],
// ],
// ],
// Database::SYSTEM_COLLECTION_RESERVED => [
// '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
// '$id' => Database::SYSTEM_COLLECTION_RESERVED,
// '$permissions' => ['read' => ['*']],
// 'name' => 'Reserved',
// 'structure' => true,
// ],
];
/*
* Add enabled OAuth2 providers to default data rules
*/
// foreach ($providers as $index => $provider) {
// if (!$provider['enabled']) {
// continue;
// }
// $collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'OAuth2 '.\ucfirst($index).' ID',
// 'key' => 'usersOauth2'.\ucfirst($index).'Appid',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// ];
// $collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => 'OAuth2 '.\ucfirst($index).' Secret',
// 'key' => 'usersOauth2'.\ucfirst($index).'Secret',
// 'type' => Database::SYSTEM_VAR_TYPE_TEXT,
// 'default' => '',
// 'required' => false,
// 'array' => false,
// 'filter' => ['encrypt'],
// ];
// }
// foreach ($auth as $index => $method) {
// $collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
// '$collection' => Database::SYSTEM_COLLECTION_RULES,
// 'label' => $method['name'] || '',
// 'key' => $method['key'] || '',
// 'type' => Database::SYSTEM_VAR_TYPE_BOOLEAN,
// 'default' => true,
// 'required' => false,
// ];
// }
return $collections;