mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
1629 lines
50 KiB
PHP
1629 lines
50 KiB
PHP
<?php
|
|
|
|
use Utopia\Database\Attribute;
|
|
use Utopia\Database\Database;
|
|
use Utopia\Database\Index;
|
|
use Utopia\Query\Schema\ColumnType;
|
|
use Utopia\Query\Schema\IndexType;
|
|
|
|
return [
|
|
'databases' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'databases',
|
|
'name' => 'Databases',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'name',
|
|
type: ColumnType::String,
|
|
size: 256,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'enabled',
|
|
type: ColumnType::Boolean,
|
|
default: true,
|
|
),
|
|
new Attribute(
|
|
key: 'search',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'originalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'type',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 'tablesdb',
|
|
),
|
|
new Attribute(
|
|
key: 'database',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_fulltext_search',
|
|
type: IndexType::Fulltext,
|
|
attributes: ['search'],
|
|
),
|
|
new Index(
|
|
key: '_key_name',
|
|
type: IndexType::Key,
|
|
attributes: ['name'],
|
|
lengths: [256],
|
|
orders: ['ASC'],
|
|
),
|
|
],
|
|
],
|
|
'attributes' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'attributes',
|
|
'name' => 'Attributes',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'databaseInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'databaseId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'collectionInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'collectionId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'key',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'type',
|
|
type: ColumnType::String,
|
|
size: 256,
|
|
),
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
),
|
|
new Attribute(
|
|
key: 'error',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'size',
|
|
type: ColumnType::Integer,
|
|
),
|
|
new Attribute(
|
|
key: 'required',
|
|
type: ColumnType::Boolean,
|
|
),
|
|
new Attribute(
|
|
key: 'default',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['casting'],
|
|
),
|
|
new Attribute(
|
|
key: 'signed',
|
|
type: ColumnType::Boolean,
|
|
),
|
|
new Attribute(
|
|
key: 'array',
|
|
type: ColumnType::Boolean,
|
|
),
|
|
new Attribute(
|
|
key: 'format',
|
|
type: ColumnType::String,
|
|
size: 64,
|
|
),
|
|
new Attribute(
|
|
key: 'formatOptions',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
default: (object) array(
|
|
),
|
|
filters: ['json', 'range', 'enum'],
|
|
),
|
|
new Attribute(
|
|
key: 'filters',
|
|
type: ColumnType::String,
|
|
size: 64,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'options',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
signed: false,
|
|
filters: ['json'],
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_db_collection',
|
|
type: IndexType::Key,
|
|
attributes: ['databaseInternalId', 'collectionInternalId'],
|
|
lengths: [255, 255],
|
|
orders: ['ASC', 'ASC'],
|
|
),
|
|
],
|
|
],
|
|
'indexes' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'indexes',
|
|
'name' => 'Indexes',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'databaseInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'databaseId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'collectionInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'collectionId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'key',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'type',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
),
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
),
|
|
new Attribute(
|
|
key: 'error',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'attributes',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'lengths',
|
|
type: ColumnType::Integer,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'orders',
|
|
type: ColumnType::String,
|
|
size: 4,
|
|
array: true,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_db_collection',
|
|
type: IndexType::Key,
|
|
attributes: ['databaseInternalId', 'collectionInternalId'],
|
|
lengths: [255, 255],
|
|
orders: ['ASC', 'ASC'],
|
|
),
|
|
],
|
|
],
|
|
'functions' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'functions',
|
|
'name' => 'Functions',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'execute',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'name',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'enabled',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'live',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'installationId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'installationInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerBranch',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRootDirectory',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerSilentMode',
|
|
type: ColumnType::Boolean,
|
|
default: false,
|
|
),
|
|
new Attribute(
|
|
key: 'logging',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'runtime',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentRetention',
|
|
type: ColumnType::Integer,
|
|
default: 0,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentCreatedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentCreatedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentStatus',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'vars',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['subQueryVariables'],
|
|
),
|
|
new Attribute(
|
|
key: 'varsProject',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['subQueryProjectVariables'],
|
|
),
|
|
new Attribute(
|
|
key: 'events',
|
|
type: ColumnType::String,
|
|
size: 256,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'scheduleInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'scheduleId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'schedule',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
),
|
|
new Attribute(
|
|
key: 'timeout',
|
|
type: ColumnType::Integer,
|
|
),
|
|
new Attribute(
|
|
key: 'search',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'version',
|
|
type: ColumnType::String,
|
|
size: 8,
|
|
default: 'v5',
|
|
),
|
|
new Attribute(
|
|
key: 'entrypoint',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'commands',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'startCommand',
|
|
type: ColumnType::String,
|
|
size: 20000,
|
|
),
|
|
new Attribute(
|
|
key: 'specification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'buildSpecification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'runtimeSpecification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'scopes',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
default: [],
|
|
array: true,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_search',
|
|
type: IndexType::Fulltext,
|
|
attributes: ['search'],
|
|
),
|
|
new Index(
|
|
key: '_key_name',
|
|
type: IndexType::Key,
|
|
attributes: ['name'],
|
|
lengths: [256],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_enabled',
|
|
type: IndexType::Key,
|
|
attributes: ['enabled'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_installationId',
|
|
type: IndexType::Key,
|
|
attributes: ['installationId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_installationInternalId',
|
|
type: IndexType::Key,
|
|
attributes: ['installationInternalId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_providerRepositoryId',
|
|
type: IndexType::Key,
|
|
attributes: ['providerRepositoryId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_repositoryId',
|
|
type: IndexType::Key,
|
|
attributes: ['repositoryId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_repositoryInternalId',
|
|
type: IndexType::Key,
|
|
attributes: ['repositoryInternalId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_runtime',
|
|
type: IndexType::Key,
|
|
attributes: ['runtime'],
|
|
lengths: [64],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_deploymentId',
|
|
type: IndexType::Key,
|
|
attributes: ['deploymentId'],
|
|
orders: ['ASC'],
|
|
),
|
|
],
|
|
],
|
|
'sites' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'sites',
|
|
'name' => 'Sites',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'name',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'enabled',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'live',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'installationId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'installationInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerBranch',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRootDirectory',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerSilentMode',
|
|
type: ColumnType::Boolean,
|
|
default: false,
|
|
),
|
|
new Attribute(
|
|
key: 'logging',
|
|
type: ColumnType::Boolean,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'framework',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'outputDirectory',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'buildCommand',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'installCommand',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'startCommand',
|
|
type: ColumnType::String,
|
|
size: 20000,
|
|
),
|
|
new Attribute(
|
|
key: 'fallbackFile',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentRetention',
|
|
type: ColumnType::Integer,
|
|
default: 0,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentCreatedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentScreenshotLight',
|
|
type: ColumnType::String,
|
|
size: 32,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentScreenshotDark',
|
|
type: ColumnType::String,
|
|
size: 32,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentCreatedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'latestDeploymentStatus',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'vars',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['subQueryVariables'],
|
|
),
|
|
new Attribute(
|
|
key: 'varsProject',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['subQueryProjectVariables'],
|
|
),
|
|
new Attribute(
|
|
key: 'timeout',
|
|
type: ColumnType::Integer,
|
|
),
|
|
new Attribute(
|
|
key: 'search',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'specification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'buildSpecification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'runtimeSpecification',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
default: 's-1vcpu-512mb',
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'buildRuntime',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
required: true,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'adapter',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: '',
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_search',
|
|
type: IndexType::Fulltext,
|
|
attributes: ['search'],
|
|
),
|
|
new Index(
|
|
key: '_key_name',
|
|
type: IndexType::Key,
|
|
attributes: ['name'],
|
|
lengths: [256],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_enabled',
|
|
type: IndexType::Key,
|
|
attributes: ['enabled'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_installationId',
|
|
type: IndexType::Key,
|
|
attributes: ['installationId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_installationInternalId',
|
|
type: IndexType::Key,
|
|
attributes: ['installationInternalId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_providerRepositoryId',
|
|
type: IndexType::Key,
|
|
attributes: ['providerRepositoryId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_repositoryId',
|
|
type: IndexType::Key,
|
|
attributes: ['repositoryId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_repositoryInternalId',
|
|
type: IndexType::Key,
|
|
attributes: ['repositoryInternalId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_framework',
|
|
type: IndexType::Key,
|
|
attributes: ['framework'],
|
|
lengths: [64],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_deploymentId',
|
|
type: IndexType::Key,
|
|
attributes: ['deploymentId'],
|
|
orders: ['ASC'],
|
|
),
|
|
],
|
|
],
|
|
'deployments' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'deployments',
|
|
'name' => 'Deployments',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'resourceInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceType',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'entrypoint',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'buildCommands',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'startCommand',
|
|
type: ColumnType::String,
|
|
size: 20000,
|
|
),
|
|
new Attribute(
|
|
key: 'buildOutput',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'sourcePath',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'type',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'installationId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'installationInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'repositoryInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryName',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryOwner',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRepositoryUrl',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommitHash',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommitAuthorUrl',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommitAuthor',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommitMessage',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommitUrl',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerBranch',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerBranchUrl',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerRootDirectory',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'providerCommentId',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'sourceSize',
|
|
type: ColumnType::Integer,
|
|
size: 8,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'sourceMetadata',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'sourceChunksTotal',
|
|
type: ColumnType::Integer,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'sourceChunksUploaded',
|
|
type: ColumnType::Integer,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'activate',
|
|
type: ColumnType::Boolean,
|
|
default: false,
|
|
),
|
|
new Attribute(
|
|
key: 'screenshotLight',
|
|
type: ColumnType::String,
|
|
size: 32,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'screenshotDark',
|
|
type: ColumnType::String,
|
|
size: 32,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'buildStartedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'buildEndedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'buildDuration',
|
|
type: ColumnType::Integer,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'buildSize',
|
|
type: ColumnType::Integer,
|
|
size: 8,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'totalSize',
|
|
type: ColumnType::Integer,
|
|
size: 8,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: 'waiting',
|
|
),
|
|
new Attribute(
|
|
key: 'buildPath',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'buildLogs',
|
|
type: ColumnType::String,
|
|
size: 1000000,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'adapter',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: '',
|
|
),
|
|
new Attribute(
|
|
key: 'fallbackFile',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_resource',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceId'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_resource_type',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceType'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_sourceSize',
|
|
type: IndexType::Key,
|
|
attributes: ['sourceSize'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_buildSize',
|
|
type: IndexType::Key,
|
|
attributes: ['buildSize'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_totalSize',
|
|
type: IndexType::Key,
|
|
attributes: ['totalSize'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_buildDuration',
|
|
type: IndexType::Key,
|
|
attributes: ['buildDuration'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_activate',
|
|
type: IndexType::Key,
|
|
attributes: ['activate'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_type',
|
|
type: IndexType::Key,
|
|
attributes: ['type'],
|
|
lengths: [32],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_status',
|
|
type: IndexType::Key,
|
|
attributes: ['status'],
|
|
lengths: [16],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_resourceId_resourceType',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceId', 'resourceType'],
|
|
),
|
|
new Index(
|
|
key: '_key_resource_internal_id',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceInternalId'],
|
|
),
|
|
],
|
|
],
|
|
'executions' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'executions',
|
|
'name' => 'Executions',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'resourceInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceType',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'deploymentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'trigger',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
),
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
),
|
|
new Attribute(
|
|
key: 'duration',
|
|
type: ColumnType::Float,
|
|
),
|
|
new Attribute(
|
|
key: 'errors',
|
|
type: ColumnType::String,
|
|
size: 1000000,
|
|
),
|
|
new Attribute(
|
|
key: 'logs',
|
|
type: ColumnType::String,
|
|
size: 1000000,
|
|
),
|
|
new Attribute(
|
|
key: 'requestMethod',
|
|
type: ColumnType::String,
|
|
size: 128,
|
|
),
|
|
new Attribute(
|
|
key: 'requestPath',
|
|
type: ColumnType::String,
|
|
size: 2048,
|
|
),
|
|
new Attribute(
|
|
key: 'requestHeaders',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'responseStatusCode',
|
|
type: ColumnType::Integer,
|
|
),
|
|
new Attribute(
|
|
key: 'responseHeaders',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'scheduledAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'scheduleInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'scheduleId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_resource',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceInternalId', 'resourceType', 'resourceId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_trigger',
|
|
type: IndexType::Key,
|
|
attributes: ['trigger'],
|
|
lengths: [32],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_status',
|
|
type: IndexType::Key,
|
|
attributes: ['status'],
|
|
lengths: [32],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_requestMethod',
|
|
type: IndexType::Key,
|
|
attributes: ['requestMethod'],
|
|
lengths: [128],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_requestPath',
|
|
type: IndexType::Key,
|
|
attributes: ['requestPath'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_deployment',
|
|
type: IndexType::Key,
|
|
attributes: ['deploymentId'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_responseStatusCode',
|
|
type: IndexType::Key,
|
|
attributes: ['responseStatusCode'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_duration',
|
|
type: IndexType::Key,
|
|
attributes: ['duration'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_resourceType',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceType'],
|
|
orders: ['ASC'],
|
|
),
|
|
],
|
|
],
|
|
'variables' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'variables',
|
|
'name' => 'variables',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'resourceType',
|
|
type: ColumnType::String,
|
|
size: 100,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'key',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'value',
|
|
type: ColumnType::String,
|
|
size: 8192,
|
|
required: true,
|
|
filters: ['encrypt'],
|
|
),
|
|
new Attribute(
|
|
key: 'secret',
|
|
type: ColumnType::Boolean,
|
|
default: false,
|
|
),
|
|
new Attribute(
|
|
key: 'search',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_resourceInternalId',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceInternalId'],
|
|
lengths: [255],
|
|
),
|
|
new Index(
|
|
key: '_key_resourceType',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceType'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_resourceId_resourceType',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceId', 'resourceType'],
|
|
lengths: [255, 100],
|
|
orders: ['ASC', 'ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_uniqueKey',
|
|
type: IndexType::Unique,
|
|
attributes: ['resourceId', 'key', 'resourceType'],
|
|
lengths: [255, 255, 100],
|
|
orders: ['ASC', 'ASC', 'ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_key',
|
|
type: IndexType::Key,
|
|
attributes: ['key'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_fulltext_search',
|
|
type: IndexType::Fulltext,
|
|
attributes: ['search'],
|
|
),
|
|
new Index(
|
|
key: '_key_resource_internal_id_resource_type',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceInternalId', 'resourceType'],
|
|
),
|
|
],
|
|
],
|
|
'migrations' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'migrations',
|
|
'name' => 'Migrations',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'stage',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'source',
|
|
type: ColumnType::String,
|
|
size: 8192,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'destination',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'credentials',
|
|
type: ColumnType::String,
|
|
size: 65536,
|
|
default: [],
|
|
filters: ['json', 'encrypt'],
|
|
),
|
|
new Attribute(
|
|
key: 'options',
|
|
type: ColumnType::String,
|
|
size: 65536,
|
|
default: [],
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'resources',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
default: [],
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'statusCounters',
|
|
type: ColumnType::String,
|
|
size: 3000,
|
|
required: true,
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'resourceData',
|
|
type: ColumnType::String,
|
|
size: 131070,
|
|
required: true,
|
|
filters: ['json'],
|
|
),
|
|
new Attribute(
|
|
key: 'errors',
|
|
type: ColumnType::String,
|
|
size: 1000000,
|
|
required: true,
|
|
array: true,
|
|
),
|
|
new Attribute(
|
|
key: 'search',
|
|
type: ColumnType::String,
|
|
size: 16384,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceType',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_status',
|
|
type: IndexType::Key,
|
|
attributes: ['status'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_stage',
|
|
type: IndexType::Key,
|
|
attributes: ['stage'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_source',
|
|
type: IndexType::Key,
|
|
attributes: ['source'],
|
|
lengths: [255],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_resource_id',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceId'],
|
|
lengths: [255],
|
|
orders: ['DESC'],
|
|
),
|
|
new Index(
|
|
key: '_fulltext_search',
|
|
type: IndexType::Fulltext,
|
|
attributes: ['search'],
|
|
),
|
|
],
|
|
],
|
|
'resourceTokens' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'resourceTokens',
|
|
'name' => 'Resource Tokens',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'resourceId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'resourceType',
|
|
type: ColumnType::String,
|
|
size: 100,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'secret',
|
|
type: ColumnType::String,
|
|
size: 512,
|
|
required: true,
|
|
filters: ['encrypt'],
|
|
),
|
|
new Attribute(
|
|
key: 'expire',
|
|
type: ColumnType::Datetime,
|
|
size: Database::LENGTH_KEY,
|
|
filters: ['datetime'],
|
|
),
|
|
new Attribute(
|
|
key: 'accessedAt',
|
|
type: ColumnType::Datetime,
|
|
signed: false,
|
|
filters: ['datetime'],
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_expiry_date',
|
|
type: IndexType::Key,
|
|
attributes: ['expire'],
|
|
orders: ['ASC'],
|
|
),
|
|
new Index(
|
|
key: '_key_accessedAt',
|
|
type: IndexType::Key,
|
|
attributes: ['accessedAt'],
|
|
),
|
|
new Index(
|
|
key: '_key_resourceInternalId_resourceType',
|
|
type: IndexType::Key,
|
|
attributes: ['resourceInternalId', 'resourceType'],
|
|
),
|
|
],
|
|
],
|
|
'transactions' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'transactions',
|
|
'name' => 'Transactions',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'status',
|
|
type: ColumnType::String,
|
|
size: 16,
|
|
default: 'pending',
|
|
),
|
|
new Attribute(
|
|
key: 'operations',
|
|
type: ColumnType::Integer,
|
|
required: true,
|
|
default: 0,
|
|
signed: false,
|
|
),
|
|
new Attribute(
|
|
key: 'expiresAt',
|
|
type: ColumnType::Datetime,
|
|
required: true,
|
|
filters: ['datetime'],
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_expiresAt',
|
|
type: IndexType::Key,
|
|
attributes: ['expiresAt'],
|
|
orders: ['DESC'],
|
|
),
|
|
],
|
|
],
|
|
'transactionLogs' => [
|
|
'$collection' => '_metadata',
|
|
'$id' => 'transactionLogs',
|
|
'name' => 'Transaction Logs',
|
|
'attributes' => [
|
|
new Attribute(
|
|
key: 'transactionInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'databaseInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'collectionInternalId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'documentId',
|
|
type: ColumnType::String,
|
|
size: Database::LENGTH_KEY,
|
|
),
|
|
new Attribute(
|
|
key: 'action',
|
|
type: ColumnType::String,
|
|
size: 32,
|
|
required: true,
|
|
),
|
|
new Attribute(
|
|
key: 'data',
|
|
type: ColumnType::String,
|
|
size: 5000000,
|
|
required: true,
|
|
signed: false,
|
|
filters: ['json'],
|
|
),
|
|
],
|
|
'indexes' => [
|
|
new Index(
|
|
key: '_key_transaction',
|
|
type: IndexType::Key,
|
|
attributes: ['transactionInternalId'],
|
|
),
|
|
],
|
|
],
|
|
];
|