1
0
Fork 0
mirror of synced 2024-07-01 12:40:34 +12:00
appwrite/app/config/collections2.php

1445 lines
44 KiB
PHP
Raw Normal View History

2021-05-03 20:28:31 +12:00
<?php
use Utopia\Config\Config;
use Utopia\Database\Database;
$providers = Config::getParam('providers', []);
$auth = Config::getParam('auth', []);
$collections = [
2021-05-16 10:41:42 +12:00
'projects' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'projects',
'name' => 'Projects',
'attributes' => [
[
'$id' => 'teamId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
2021-05-16 10:41:42 +12:00
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'description',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'logo',
2021-05-16 10:41:42 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'url',
2021-05-16 10:41:42 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
2021-05-16 10:41:42 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'version',
2021-05-16 10:41:42 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16,
2021-05-16 10:41:42 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'usersAuthLimit',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalName',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalCountry',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalState',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalCity',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalAddress',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'legalTaxId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
],
2021-07-29 22:28:17 +12:00
[
2021-08-01 08:54:50 +12:00
'$id' => 'services',
2021-07-29 22:28:17 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
2021-07-29 22:56:25 +12:00
'required' => false,
'default' => null,
2021-07-29 22:28:17 +12:00
'array' => false,
'filters' => ['json'],
],
2021-05-16 10:41:42 +12:00
[
'$id' => 'platforms',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => true,
'filters' => ['json'],
],
[
'$id' => 'webhooks',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => true,
'filters' => ['json'],
],
[
'$id' => 'keys',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => true,
'filters' => ['json'],
],
[
'$id' => 'domains',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => true,
'filters' => ['json'],
],
],
'indexes' => [
2021-05-27 22:09:14 +12:00
[
'$id' => '_fulltext_name',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-16 10:41:42 +12:00
],
],
2021-05-03 20:28:31 +12:00
'users' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'users',
'name' => 'Users',
'attributes' => [
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'email',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 1024,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'status',
'type' => Database::VAR_BOOLEAN,
2021-05-03 20:28:31 +12:00
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'password',
'type' => Database::VAR_STRING,
'format' => '',
2021-05-07 09:35:57 +12:00
'size' => 16384,
2021-05-03 20:28:31 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'passwordUpdate',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'prefs',
'type' => Database::VAR_STRING,
'format' => '',
2021-05-07 09:35:57 +12:00
'size' => 16384,
2021-05-03 20:28:31 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => ['json'],
2021-05-03 20:28:31 +12:00
],
[
'$id' => 'registration',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'emailVerification',
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'reset',
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'sessions',
'type' => Database::VAR_STRING,
'format' => '',
2021-05-07 09:35:57 +12:00
'size' => 16384,
2021-05-03 20:28:31 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => true,
'filters' => ['json'],
],
[
'$id' => 'tokens',
'type' => Database::VAR_STRING,
'format' => '',
2021-05-07 09:35:57 +12:00
'size' => 16384,
2021-05-03 20:28:31 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => true,
'filters' => ['json'],
],
[
'$id' => 'memberships',
'type' => Database::VAR_STRING,
'format' => '',
2021-05-07 09:35:57 +12:00
'size' => 16384,
2021-05-03 20:28:31 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => true,
'filters' => ['json'],
],
],
2021-05-06 00:28:01 +12:00
'indexes' => [
[
'$id' => '_key_email',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['email'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
],
2021-07-16 16:38:29 +12:00
'sessions' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'sessions',
'name' => 'Sessions',
'attributes' => [
[
'$id' => 'userId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'provider',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-20 03:03:15 +12:00
'size' => 128,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'providerUid',
'type' => Database::VAR_STRING,
2021-07-16 16:38:29 +12:00
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 2048,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'providerToken',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-17 22:04:43 +12:00
'size' => 16384,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'secret',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64, // https://www.tutorialspoint.com/how-long-is-the-sha256-hash-in-mysql
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'expire',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'userAgent',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-17 22:04:43 +12:00
'size' => 16384,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-17 03:11:14 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'ip',
'type' => Database::VAR_STRING,
2021-07-16 16:38:29 +12:00
'format' => '',
2021-07-20 03:02:05 +12:00
'size' => 45, // https://stackoverflow.com/a/166157/2299554
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'countryCode',
'type' => Database::VAR_STRING,
2021-07-16 16:38:29 +12:00
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 2,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'osCode',
'type' => Database::VAR_STRING,
2021-07-16 16:38:29 +12:00
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 256,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'osName',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 256,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-07-17 03:11:14 +12:00
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'osVersion',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 256,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-07-17 03:11:14 +12:00
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
[
2021-07-17 03:11:14 +12:00
'$id' => 'clientType',
2021-07-16 16:38:29 +12:00
'type' => Database::VAR_STRING,
'format' => '',
2021-07-17 03:11:14 +12:00
'size' => 256,
2021-07-16 16:38:29 +12:00
'signed' => true,
'required' => false,
'default' => null,
2021-07-17 03:11:14 +12:00
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'clientCode',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'clientName',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'clientVersion',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'clientEngine',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'clientEngineVersion',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'deviceName',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'deviceBrand',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-17 03:11:14 +12:00
],
[
'$id' => 'deviceModel',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
2021-07-29 22:28:17 +12:00
'filters' => [],
2021-07-16 16:38:29 +12:00
],
],
2021-07-18 06:59:34 +12:00
'indexes' => [
2021-07-25 03:48:11 +12:00
[
'$id' => '_key_provider_providerUid',
'type' => Database::INDEX_KEY,
'attributes' => ['provider', 'providerUid'],
'lengths' => [100, 100],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-07-18 06:59:34 +12:00
],
2021-07-16 16:38:29 +12:00
],
2021-05-06 00:28:01 +12:00
'teams' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'teams',
'name' => 'Teams',
'attributes' => [
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'sum',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
],
2021-05-27 22:09:14 +12:00
'indexes' => [
[
'$id' => '_fulltext_name',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-27 22:09:14 +12:00
],
2021-05-03 20:28:31 +12:00
],
2021-05-06 00:28:01 +12:00
'memberships' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'memberships',
'name' => 'Memberships',
'attributes' => [
[
'$id' => 'teamId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'userId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'roles',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => true,
'filters' => [],
],
[
'$id' => 'invited',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'joined',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'confirm',
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'secret',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-06 00:28:01 +12:00
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
2021-05-07 09:35:57 +12:00
'$id' => '_key_unique',
2021-05-06 00:28:01 +12:00
'type' => Database::INDEX_UNIQUE,
2021-05-07 09:35:57 +12:00
'attributes' => ['teamId', 'userId'],
'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC, Database::ORDER_ASC],
],
[
'$id' => '_key_team',
'type' => Database::INDEX_KEY,
2021-05-06 00:28:01 +12:00
'attributes' => ['teamId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => '_key_user',
2021-05-07 09:35:57 +12:00
'type' => Database::INDEX_KEY,
2021-05-06 00:28:01 +12:00
'attributes' => ['userId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
],
2021-07-29 22:28:17 +12:00
2021-05-03 20:28:31 +12:00
'files' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'files',
'name' => 'Files',
'attributes' => [
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'array' => false,
'$id' => 'bucketId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'path',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'signature',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'mimeType',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 127, // https://tools.ietf.org/html/rfc4288#section-4.2
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'sizeOriginal',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'sizeActual',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'algorithm',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'comment',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLVersion',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLCipher',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 64,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLTag',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'openSSLIV',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-03 20:28:31 +12:00
'array' => false,
'filters' => [],
],
],
2021-05-06 00:28:01 +12:00
'indexes' => [
[
'$id' => '_key_bucket',
2021-06-13 00:00:17 +12:00
'type' => Database::INDEX_KEY,
2021-05-06 00:28:01 +12:00
'attributes' => ['bucketId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2021-05-27 22:09:14 +12:00
],
[
'$id' => '_fulltext_name',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
2021-05-03 20:28:31 +12:00
],
2021-07-29 22:28:17 +12:00
2021-05-05 09:25:17 +12:00
'functions' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'functions',
'name' => 'Functions',
'attributes' => [
[
'$id' => 'execute',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => true,
'filters' => [],
],
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'dateUpdated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'array' => false,
'$id' => 'status',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
2021-07-03 08:39:53 +12:00
'$id' => 'runtime',
2021-05-05 09:25:17 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'tag',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'vars',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 8192,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => ['json', 'encrypt'],
],
[
'$id' => 'events',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => true,
'filters' => [],
],
[
'$id' => 'schedule',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'schedulePrevious',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'scheduleNext',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'timeout',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
],
2021-05-06 00:28:01 +12:00
'indexes' => [
2021-05-27 22:09:14 +12:00
[
'$id' => '_fulltext_name',
'type' => Database::INDEX_FULLTEXT,
'attributes' => ['name'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
2021-05-05 09:25:17 +12:00
],
2021-07-29 22:28:17 +12:00
2021-05-05 09:25:17 +12:00
'tags' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'tags',
'name' => 'Tags',
'attributes' => [
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'functionId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'array' => false,
'$id' => 'command',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'path',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 2048,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'size',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
],
2021-05-06 00:28:01 +12:00
'indexes' => [
[
'$id' => '_key_function',
2021-06-13 00:00:17 +12:00
'type' => Database::INDEX_KEY,
2021-05-06 00:28:01 +12:00
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
2021-05-05 09:25:17 +12:00
],
2021-05-03 20:28:31 +12:00
2021-05-05 09:25:17 +12:00
'executions' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'executions',
'name' => 'Executions',
'attributes' => [
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'functionId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'tagId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'array' => false,
'$id' => 'trigger',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'status',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'stdout',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'stderr',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'exitCode',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
[
'$id' => 'time',
'type' => Database::VAR_FLOAT,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-05 09:25:17 +12:00
'array' => false,
'filters' => [],
],
],
2021-05-06 00:28:01 +12:00
'indexes' => [
[
'$id' => '_key_function',
2021-06-13 00:00:17 +12:00
'type' => Database::INDEX_KEY,
2021-05-06 00:28:01 +12:00
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
2021-07-29 22:28:17 +12:00
],
2021-05-06 00:28:01 +12:00
],
2021-05-05 09:25:17 +12:00
],
2021-07-29 22:28:17 +12:00
'certificates' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'certificates',
'name' => 'Certificates',
'attributes' => [
[
'$id' => 'domain',
'type' => Database::VAR_STRING,
'format' => '',
// The maximum total length of a domain name or number is 255 characters.
// https://datatracker.ietf.org/doc/html/rfc2821#section-4.5.3.1
// https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.2
'size' => 255,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'issueDate',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'renewDate',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'attempts',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'log',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
[
'$id' => 'updated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
'$id' => '_key_domain',
'type' => Database::INDEX_KEY,
'attributes' => ['domain'],
'lengths' => [255],
'orders' => [Database::ORDER_ASC],
],
],
],
2021-05-05 09:25:17 +12:00
];
2021-05-03 20:28:31 +12:00
2021-05-16 10:41:42 +12:00
/*
* Add enabled OAuth2 providers to default data rules
*/
foreach ($providers as $index => $provider) {
if (!$provider['enabled']) {
continue;
}
$collections['projects']['attributes'][] = [
2021-07-29 22:28:17 +12:00
'$id' => 'usersOauth2' . \ucfirst($index) . 'Appid',
2021-05-16 10:41:42 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
];
$collections['projects']['attributes'][] = [
2021-07-29 22:28:17 +12:00
'$id' => 'usersOauth2' . \ucfirst($index) . 'Secret',
2021-05-16 10:41:42 +12:00
'type' => Database::VAR_STRING,
'format' => '',
'size' => 16384,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
];
}
foreach ($auth as $index => $method) {
$collections['projects']['attributes'][] = [
'$id' => $method['key'] ?? '',
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'default' => null,
2021-05-16 10:41:42 +12:00
'array' => false,
'filters' => [],
];
}
2021-07-29 22:28:17 +12:00
return $collections;