'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;