1
0
Fork 0
mirror of synced 2024-06-02 10:54:44 +12:00
appwrite/app/config/collections.php

1130 lines
38 KiB
PHP
Raw Normal View History

2019-08-10 02:46:09 +12:00
<?php
2019-09-11 08:42:47 +12:00
global $providers, $request;
2019-08-10 02:46:09 +12:00
use Database\Database;
$collections = [
2019-08-10 02:46:09 +12:00
'console' => [
2020-02-17 20:16:11 +13:00
'$id' => 'console',
2019-08-10 02:46:09 +12:00
'$collection' => 'projects',
'$permissions' => ['read' => ['*']],
'name' => 'Appwrite',
'description' => 'Appwrite core engine',
'logo' => '',
'teamId' => -1,
'webhooks' => [],
'keys' => [],
'platforms' => [
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Production',
'type' => 'web',
'url' => 'https://appwrite.io',
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Development (SSL)',
'type' => 'web',
'url' => 'https://appwrite.test',
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Development (Non-SSL)',
'type' => 'web',
'url' => 'http://appwrite.test',
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Localhost (SSL)',
'type' => 'web',
'url' => 'https://localhost',
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Localhost (Non-SSL)',
'type' => 'web',
'url' => 'http://localhost',
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Current Host (SSL)',
'type' => 'web',
'url' => 'https://'.$request->getServer('HTTP_HOST'),
],
[
'$collection' => Database::SYSTEM_COLLECTION_PLATFORMS,
'name' => 'Current Host (Non-SSL)',
'type' => 'web',
2019-10-01 17:57:41 +13:00
'url' => 'http://'.$request->getServer('HTTP_HOST'),
],
],
2019-08-10 02:46:09 +12:00
'legalName' => '',
'legalCountry' => '',
'legalState' => '',
'legalCity' => '',
'legalAddress' => '',
'legalTaxId' => '',
'authWhitelistEmails' => (!empty($request->getServer('_APP_CONSOLE_WHITELIST_EMAILS', null))) ? explode(',', $request->getServer('_APP_CONSOLE_WHITELIST_EMAILS', null)) : [],
'authWhitelistIPs' => (!empty($request->getServer('_APP_CONSOLE_WHITELIST_IPS', null))) ? explode(',', $request->getServer('_APP_CONSOLE_WHITELIST_IPS', null)) : [],
'authWhitelistDomains' => (!empty($request->getServer('_APP_CONSOLE_WHITELIST_DOMAINS', null))) ? explode(',', $request->getServer('_APP_CONSOLE_WHITELIST_DOMAINS', null)) : [],
2019-08-10 02:46:09 +12:00
],
Database::SYSTEM_COLLECTION_COLLECTIONS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Collections',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Created',
'key' => 'dateCreated',
'type' => 'numeric',
'default' => 0,
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Updated',
'key' => 'dateUpdated',
'type' => 'numeric',
'default' => 0,
'required' => false,
'array' => false,
],
2019-08-10 02:46:09 +12:00
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Structure',
'key' => 'structure',
'type' => 'boolean',
'default' => false,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Rules',
'key' => 'rules',
'type' => 'document',
'default' => [],
'required' => true,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_RULES],
2019-08-10 02:46:09 +12:00
],
],
],
Database::SYSTEM_COLLECTION_RULES => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_RULES,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Collections Rule',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Label',
'key' => 'label',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Key',
'key' => 'key',
'type' => 'key',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Type',
'key' => 'type',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Default',
'key' => 'default',
'type' => 'wildcard',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Required',
'key' => 'required',
'type' => 'boolean',
'default' => true,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Array',
'key' => 'array',
'type' => 'boolean',
'default' => true,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2019-09-21 02:01:47 +12:00
'label' => 'list',
'key' => 'list',
2019-08-10 02:46:09 +12:00
'type' => 'text',
2019-09-21 02:01:47 +12:00
//'default' => '',
2019-08-10 02:46:09 +12:00
'required' => false,
'array' => true,
],
],
],
Database::SYSTEM_COLLECTION_USERS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_USERS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'User',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => '',
2019-10-06 01:07:52 +13:00
'required' => false,
2019-08-10 02:46:09 +12:00
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Email',
'key' => 'email',
'type' => 'email',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Status',
'key' => 'status',
'type' => 'numeric',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Password',
'key' => 'password',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Password Update Date',
'key' => 'password-update',
'type' => 'numeric',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Prefs',
'key' => 'prefs',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Registration Date',
'key' => 'registration',
'type' => 'numeric',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2020-02-10 10:37:28 +13:00
'label' => 'Email Verification Status',
'key' => 'emailVerification',
2019-08-10 02:46:09 +12:00
'type' => 'boolean',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Reset',
'key' => 'reset',
'type' => 'boolean',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Tokens',
'key' => 'tokens',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_TOKENS],
2019-08-10 02:46:09 +12:00
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Memberships',
'key' => 'memberships',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_MEMBERSHIPS],
],
2019-08-10 02:46:09 +12:00
],
],
Database::SYSTEM_COLLECTION_TOKENS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_TOKENS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Token',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Type',
'key' => 'type',
'type' => 'numeric',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Secret',
'key' => 'secret',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Expire',
'key' => 'expire',
'type' => 'numeric',
'default' => 0,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'User Agent',
'key' => 'userAgent',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'IP',
'key' => 'ip',
'type' => 'ip',
'default' => '',
'required' => true,
'array' => false,
],
],
],
Database::SYSTEM_COLLECTION_MEMBERSHIPS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_MEMBERSHIPS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Membership',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Team ID',
'key' => 'teamId',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'User ID',
'key' => 'userId',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Roles',
'key' => 'roles',
'type' => 'text',
'default' => '',
'required' => true,
'array' => true,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Invited',
'key' => 'invited',
'type' => 'numeric',
'default' => 0,
'required' => false, //FIXME SHOULD BE REQUIRED
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Joined',
'key' => 'joined',
'type' => 'numeric',
'default' => 0,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Confirm',
'key' => 'confirm',
'type' => 'boolean',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Secret',
'key' => 'secret',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
],
],
Database::SYSTEM_COLLECTION_TEAMS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_TEAMS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Team',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Created',
'key' => 'dateCreated',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Sum',
'key' => 'sum',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
],
],
Database::SYSTEM_COLLECTION_PROJECTS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_PROJECTS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Project',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Description',
'key' => 'description',
'type' => 'text',
'default' => null,
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Logo',
'key' => 'logo',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'URL',
'key' => 'url',
'type' => 'url',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Team ID',
'key' => 'teamId',
'type' => 'text',
'default' => 0,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal Name',
'key' => 'legalName',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal Country',
'key' => 'legalCountry',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal State',
'key' => 'legalState',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal City',
'key' => 'legalCity',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal Address',
'key' => 'legalAddress',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Legal Tax ID',
'key' => 'legalTaxId',
'type' => 'text',
'default' => '',
'required' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Webhooks',
'key' => 'webhooks',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_WEBHOOKS],
2019-08-10 02:46:09 +12:00
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'API Keys',
'key' => 'keys',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_KEYS],
2019-08-10 02:46:09 +12:00
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Tasks',
'key' => 'tasks',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_TASKS],
2019-08-10 02:46:09 +12:00
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Platforms',
'key' => 'platforms',
'type' => 'document',
'default' => [],
'required' => false,
'array' => true,
2019-09-21 02:01:47 +12:00
'list' => [Database::SYSTEM_COLLECTION_PLATFORMS],
2019-08-10 02:46:09 +12:00
],
],
],
Database::SYSTEM_COLLECTION_WEBHOOKS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_WEBHOOKS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Webhook',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Events',
'key' => 'events',
'type' => 'text',
'default' => null,
'required' => false,
'array' => true,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'URL',
'key' => 'url',
'type' => 'url',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Security',
'key' => 'security',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP User',
'key' => 'httpUser',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP Password',
'key' => 'httpPass',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
],
],
Database::SYSTEM_COLLECTION_KEYS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_KEYS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Key',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Scopes',
'key' => 'scopes',
'type' => 'text',
'default' => null,
'required' => false,
'array' => true,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Secret',
'key' => 'secret',
'type' => 'text',
'default' => '',
'required' => false,
],
],
],
Database::SYSTEM_COLLECTION_TASKS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_TASKS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Task',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Status',
'key' => 'status',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Updated',
'key' => 'updated',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Schedule',
'key' => 'schedule',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Previous',
'key' => 'previous',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Next',
'key' => 'next',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Duration',
'key' => 'duration',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Delay',
'key' => 'delay',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Security',
'key' => 'security',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP Method',
'key' => 'httpMethod',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP URL',
'key' => 'httpUrl',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP Headers',
'key' => 'httpHeaders',
'type' => 'text',
'default' => null,
'required' => false,
'array' => true,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP User',
'key' => 'httpUser',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'HTTP Password',
'key' => 'httpPass',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Log',
'key' => 'log',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Failures',
'key' => 'failures',
'type' => 'numeric',
'default' => '',
'required' => false,
'array' => false,
],
],
],
Database::SYSTEM_COLLECTION_PLATFORMS => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_PLATFORMS,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'Platform',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Type',
'key' => 'type',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => null,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Created',
'key' => 'dateCreated',
2019-08-10 02:46:09 +12:00
'type' => 'numeric',
'default' => 0,
2019-08-10 02:46:09 +12:00
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Updated',
'key' => 'dateUpdated',
2019-08-10 02:46:09 +12:00
'type' => 'numeric',
'default' => 0,
2019-08-10 02:46:09 +12:00
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Key',
'key' => 'key',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Store',
'key' => 'store',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2019-08-10 23:38:09 +12:00
'label' => 'url',
'key' => 'url',
2019-08-10 02:46:09 +12:00
'type' => 'text',
'default' => '',
'required' => false,
2019-08-10 23:38:09 +12:00
'array' => false,
2019-08-10 02:46:09 +12:00
],
],
],
Database::SYSTEM_COLLECTION_FILES => [
'$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS,
2020-02-17 20:16:11 +13:00
'$id' => Database::SYSTEM_COLLECTION_FILES,
2019-08-10 02:46:09 +12:00
'$permissions' => ['read' => ['*']],
'name' => 'File',
'structure' => true,
'rules' => [
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Date Created',
'key' => 'dateCreated',
'type' => 'numeric',
'default' => 0,
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Folder ID',
'key' => 'folderId',
2019-11-17 11:48:32 +13:00
'type' => 'key',
2019-08-10 02:46:09 +12:00
'default' => 0,
2019-11-17 11:48:32 +13:00
'required' => false,
2019-08-10 02:46:09 +12:00
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Name',
'key' => 'name',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Path',
'key' => 'path',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Signature',
'key' => 'signature',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Mime Type',
'key' => 'mimeType',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2019-11-18 07:48:25 +13:00
'label' => 'Original Size',
2019-08-10 02:46:09 +12:00
'key' => 'sizeOriginal',
'type' => 'numeric',
'default' => 0,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2019-11-18 07:48:25 +13:00
'label' => 'Actual Size',
'key' => 'sizeActual',
2019-08-10 02:46:09 +12:00
'type' => 'numeric',
'default' => 0,
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Algorithm',
'key' => 'algorithm',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Token',
'key' => 'token',
'type' => 'text',
'default' => '',
'required' => true,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'Comment',
'key' => 'comment',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'File OpenSSL Version',
'key' => 'fileOpenSSLVersion',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'File OpenSSL Cipher',
'key' => 'fileOpenSSLCipher',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'File OpenSSL Tag',
'key' => 'fileOpenSSLTag',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
[
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'File OpenSSL IV',
'key' => 'fileOpenSSLIV',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
],
],
],
];
/*
2020-02-17 00:41:03 +13:00
* Add enabled OAuth2 providers to default data rules
*/
foreach ($providers as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
2019-09-04 08:49:13 +12:00
$collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2020-02-17 00:41:03 +13:00
'label' => 'OAuth2 '.ucfirst($key).' ID',
'key' => 'usersOauth2'.ucfirst($key).'Appid',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
];
2019-09-04 08:49:13 +12:00
$collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2020-02-17 00:41:03 +13:00
'label' => 'OAuth2 '.ucfirst($key).' Secret',
'key' => 'usersOauth2'.ucfirst($key).'Secret',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
];
2019-09-04 08:49:13 +12:00
$collections[Database::SYSTEM_COLLECTION_USERS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2020-02-17 00:41:03 +13:00
'label' => 'OAuth2 '.ucfirst($key).' ID',
'key' => 'oauth2'.ucfirst($key),
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
];
2019-09-04 08:49:13 +12:00
$collections[Database::SYSTEM_COLLECTION_USERS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
2020-02-17 00:41:03 +13:00
'label' => 'OAuth2 '.ucfirst($key).' Access Token',
'key' => 'oauth2'.ucfirst($key).'AccessToken',
'type' => 'text',
'default' => '',
'required' => false,
'array' => false,
];
}
return $collections;