[ '$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' => [], ], [ '$id' => 'name', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'description', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'logo', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'url', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'version', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'usersAuthLimit', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalName', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalCountry', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalState', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalCity', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalAddress', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'legalTaxId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'services', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => ['json'], ], [ '$id' => 'platforms', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], [ '$id' => 'webhooks', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], [ '$id' => 'keys', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], [ '$id' => 'domains', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], ], 'indexes' => [ [ '$id' => '_fulltext_name', 'type' => Database::INDEX_FULLTEXT, 'attributes' => ['name'], 'lengths' => [1024], 'orders' => [Database::ORDER_ASC], ], ], ], 'users' => [ '$collection' => Database::COLLECTIONS, '$id' => 'users', 'name' => 'Users', 'attributes' => [ [ '$id' => 'name', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'email', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 1024, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'status', 'type' => Database::VAR_BOOLEAN, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'password', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'passwordUpdate', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'prefs', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => ['json'], ], [ '$id' => 'registration', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'emailVerification', 'type' => Database::VAR_BOOLEAN, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'reset', 'type' => Database::VAR_BOOLEAN, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'sessions', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], [ '$id' => 'tokens', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], [ '$id' => 'memberships', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => ['json'], ], ], 'indexes' => [ [ '$id' => '_key_email', 'type' => Database::INDEX_UNIQUE, 'attributes' => ['email'], 'lengths' => [1024], 'orders' => [Database::ORDER_ASC], ], ], ], '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' => [], ], [ '$id' => 'provider', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'providerUid', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'providerToken', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$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', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'userAgent', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'ip', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 45, // https://stackoverflow.com/a/166157/2299554 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'countryCode', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'osCode', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'osName', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'osVersion', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientType', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientCode', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientName', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientVersion', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientEngine', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'clientEngineVersion', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'deviceName', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'deviceBrand', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'deviceModel', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_key_provider_providerUid', 'type' => Database::INDEX_KEY, 'attributes' => ['provider', 'providerUid'], 'lengths' => [100, 100], 'orders' => [Database::ORDER_ASC, Database::ORDER_ASC], ], ], ], 'teams' => [ '$collection' => Database::COLLECTIONS, '$id' => 'teams', 'name' => 'Teams', 'attributes' => [ [ '$id' => 'name', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'dateCreated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'sum', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_fulltext_name', 'type' => Database::INDEX_FULLTEXT, 'attributes' => ['name'], 'lengths' => [1024], 'orders' => [Database::ORDER_ASC], ], ], ], '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, 'array' => false, 'filters' => [], ], [ '$id' => 'userId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'roles', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => [], ], [ '$id' => 'invited', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'joined', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'confirm', 'type' => Database::VAR_BOOLEAN, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'secret', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_key_unique', 'type' => Database::INDEX_UNIQUE, 'attributes' => ['teamId', 'userId'], 'lengths' => [Database::LENGTH_KEY, Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC, Database::ORDER_ASC], ], [ '$id' => '_key_team', 'type' => Database::INDEX_KEY, 'attributes' => ['teamId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], [ '$id' => '_key_user', 'type' => Database::INDEX_KEY, 'attributes' => ['userId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], ], ], 'files' => [ '$collection' => Database::COLLECTIONS, '$id' => 'files', 'name' => 'Files', 'attributes' => [ [ '$id' => 'dateCreated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ 'array' => false, '$id' => 'bucketId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'name', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'path', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'signature', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, '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, 'array' => false, 'filters' => [], ], [ '$id' => 'sizeOriginal', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'sizeActual', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'algorithm', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 255, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'comment', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'openSSLVersion', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 64, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'openSSLCipher', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 64, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'openSSLTag', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'openSSLIV', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_key_bucket', 'type' => Database::INDEX_KEY, 'attributes' => ['bucketId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], [ '$id' => '_fulltext_name', 'type' => Database::INDEX_FULLTEXT, 'attributes' => ['name'], 'lengths' => [1024], 'orders' => [Database::ORDER_ASC], ], ], ], 'functions' => [ '$collection' => Database::COLLECTIONS, '$id' => 'functions', 'name' => 'Functions', 'attributes' => [ [ '$id' => 'execute', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => [], ], [ '$id' => 'dateCreated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'dateUpdated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ 'array' => false, '$id' => 'status', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'name', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'runtime', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'tag', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'vars', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 8192, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => ['json', 'encrypt'], ], [ '$id' => 'events', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 256, 'signed' => true, 'required' => false, 'default' => null, 'array' => true, 'filters' => [], ], [ '$id' => 'schedule', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'schedulePrevious', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'scheduleNext', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'timeout', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_fulltext_name', 'type' => Database::INDEX_FULLTEXT, 'attributes' => ['name'], 'lengths' => [1024], 'orders' => [Database::ORDER_ASC], ], ], ], 'tags' => [ '$collection' => Database::COLLECTIONS, '$id' => 'tags', 'name' => 'Tags', 'attributes' => [ [ '$id' => 'dateCreated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'functionId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ 'array' => false, '$id' => 'command', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'path', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 2048, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'size', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_key_function', 'type' => Database::INDEX_KEY, 'attributes' => ['functionId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], ], ], 'executions' => [ '$collection' => Database::COLLECTIONS, '$id' => 'executions', 'name' => 'Executions', 'attributes' => [ [ '$id' => 'dateCreated', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'functionId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'tagId', 'type' => Database::VAR_STRING, 'format' => '', 'size' => Database::LENGTH_KEY, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ 'array' => false, '$id' => 'trigger', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'status', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 128, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'stdout', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'stderr', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'exitCode', 'type' => Database::VAR_INTEGER, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], [ '$id' => 'time', 'type' => Database::VAR_FLOAT, 'format' => '', 'size' => 0, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ], ], 'indexes' => [ [ '$id' => '_key_function', 'type' => Database::INDEX_KEY, 'attributes' => ['functionId'], 'lengths' => [Database::LENGTH_KEY], 'orders' => [Database::ORDER_ASC], ], ], ], '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], ], ], ], ]; /* * Add enabled OAuth2 providers to default data rules */ foreach ($providers as $index => $provider) { if (!$provider['enabled']) { continue; } $collections['projects']['attributes'][] = [ '$id' => 'usersOauth2' . \ucfirst($index) . 'Appid', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, 'array' => false, 'filters' => [], ]; $collections['projects']['attributes'][] = [ '$id' => 'usersOauth2' . \ucfirst($index) . 'Secret', 'type' => Database::VAR_STRING, 'format' => '', 'size' => 16384, 'signed' => true, 'required' => false, 'default' => null, '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, 'array' => false, 'filters' => [], ]; } return $collections;