mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-24 14:30:56 +01:00
Generate expected schemata for Fact, Owners, Herald and Diviner
Summary: Ref T1191. Notable: - `HeraldApplyTranscript` is not actually a DAO and has no table (it is serialized into HeraldTranscript). Test Plan: Down to fewer than 300 issues. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T1191 Differential Revision: https://secure.phabricator.com/D10588
This commit is contained in:
parent
cfbcd69e9b
commit
dc8b2ae6d2
20 changed files with 357 additions and 12 deletions
|
@ -549,6 +549,7 @@ phutil_register_library_map(array(
|
||||||
'DivinerPublisher' => 'applications/diviner/publisher/DivinerPublisher.php',
|
'DivinerPublisher' => 'applications/diviner/publisher/DivinerPublisher.php',
|
||||||
'DivinerRenderer' => 'applications/diviner/renderer/DivinerRenderer.php',
|
'DivinerRenderer' => 'applications/diviner/renderer/DivinerRenderer.php',
|
||||||
'DivinerReturnTableView' => 'applications/diviner/view/DivinerReturnTableView.php',
|
'DivinerReturnTableView' => 'applications/diviner/view/DivinerReturnTableView.php',
|
||||||
|
'DivinerSchemaSpec' => 'applications/diviner/storage/DivinerSchemaSpec.php',
|
||||||
'DivinerSectionView' => 'applications/diviner/view/DivinerSectionView.php',
|
'DivinerSectionView' => 'applications/diviner/view/DivinerSectionView.php',
|
||||||
'DivinerStaticPublisher' => 'applications/diviner/publisher/DivinerStaticPublisher.php',
|
'DivinerStaticPublisher' => 'applications/diviner/publisher/DivinerStaticPublisher.php',
|
||||||
'DivinerSymbolRemarkupRule' => 'applications/diviner/markup/DivinerSymbolRemarkupRule.php',
|
'DivinerSymbolRemarkupRule' => 'applications/diviner/markup/DivinerSymbolRemarkupRule.php',
|
||||||
|
@ -819,6 +820,7 @@ phutil_register_library_map(array(
|
||||||
'HeraldRuleTranscript' => 'applications/herald/storage/transcript/HeraldRuleTranscript.php',
|
'HeraldRuleTranscript' => 'applications/herald/storage/transcript/HeraldRuleTranscript.php',
|
||||||
'HeraldRuleTypeConfig' => 'applications/herald/config/HeraldRuleTypeConfig.php',
|
'HeraldRuleTypeConfig' => 'applications/herald/config/HeraldRuleTypeConfig.php',
|
||||||
'HeraldRuleViewController' => 'applications/herald/controller/HeraldRuleViewController.php',
|
'HeraldRuleViewController' => 'applications/herald/controller/HeraldRuleViewController.php',
|
||||||
|
'HeraldSchemaSpec' => 'applications/herald/storage/HeraldSchemaSpec.php',
|
||||||
'HeraldTestConsoleController' => 'applications/herald/controller/HeraldTestConsoleController.php',
|
'HeraldTestConsoleController' => 'applications/herald/controller/HeraldTestConsoleController.php',
|
||||||
'HeraldTransactionQuery' => 'applications/herald/query/HeraldTransactionQuery.php',
|
'HeraldTransactionQuery' => 'applications/herald/query/HeraldTransactionQuery.php',
|
||||||
'HeraldTranscript' => 'applications/herald/storage/transcript/HeraldTranscript.php',
|
'HeraldTranscript' => 'applications/herald/storage/transcript/HeraldTranscript.php',
|
||||||
|
@ -1572,6 +1574,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFactManagementStatusWorkflow' => 'applications/fact/management/PhabricatorFactManagementStatusWorkflow.php',
|
'PhabricatorFactManagementStatusWorkflow' => 'applications/fact/management/PhabricatorFactManagementStatusWorkflow.php',
|
||||||
'PhabricatorFactManagementWorkflow' => 'applications/fact/management/PhabricatorFactManagementWorkflow.php',
|
'PhabricatorFactManagementWorkflow' => 'applications/fact/management/PhabricatorFactManagementWorkflow.php',
|
||||||
'PhabricatorFactRaw' => 'applications/fact/storage/PhabricatorFactRaw.php',
|
'PhabricatorFactRaw' => 'applications/fact/storage/PhabricatorFactRaw.php',
|
||||||
|
'PhabricatorFactSchemaSpec' => 'applications/fact/storage/PhabricatorFactSchemaSpec.php',
|
||||||
'PhabricatorFactSimpleSpec' => 'applications/fact/spec/PhabricatorFactSimpleSpec.php',
|
'PhabricatorFactSimpleSpec' => 'applications/fact/spec/PhabricatorFactSimpleSpec.php',
|
||||||
'PhabricatorFactSpec' => 'applications/fact/spec/PhabricatorFactSpec.php',
|
'PhabricatorFactSpec' => 'applications/fact/spec/PhabricatorFactSpec.php',
|
||||||
'PhabricatorFactUpdateIterator' => 'applications/fact/extract/PhabricatorFactUpdateIterator.php',
|
'PhabricatorFactUpdateIterator' => 'applications/fact/extract/PhabricatorFactUpdateIterator.php',
|
||||||
|
@ -1896,6 +1899,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorOwnersPackageQuery' => 'applications/owners/query/PhabricatorOwnersPackageQuery.php',
|
'PhabricatorOwnersPackageQuery' => 'applications/owners/query/PhabricatorOwnersPackageQuery.php',
|
||||||
'PhabricatorOwnersPackageTestCase' => 'applications/owners/storage/__tests__/PhabricatorOwnersPackageTestCase.php',
|
'PhabricatorOwnersPackageTestCase' => 'applications/owners/storage/__tests__/PhabricatorOwnersPackageTestCase.php',
|
||||||
'PhabricatorOwnersPath' => 'applications/owners/storage/PhabricatorOwnersPath.php',
|
'PhabricatorOwnersPath' => 'applications/owners/storage/PhabricatorOwnersPath.php',
|
||||||
|
'PhabricatorOwnersSchemaSpec' => 'applications/owners/storage/PhabricatorOwnersSchemaSpec.php',
|
||||||
'PhabricatorPHDConfigOptions' => 'applications/config/option/PhabricatorPHDConfigOptions.php',
|
'PhabricatorPHDConfigOptions' => 'applications/config/option/PhabricatorPHDConfigOptions.php',
|
||||||
'PhabricatorPHID' => 'applications/phid/storage/PhabricatorPHID.php',
|
'PhabricatorPHID' => 'applications/phid/storage/PhabricatorPHID.php',
|
||||||
'PhabricatorPHIDConstants' => 'applications/phid/PhabricatorPHIDConstants.php',
|
'PhabricatorPHIDConstants' => 'applications/phid/PhabricatorPHIDConstants.php',
|
||||||
|
@ -3386,6 +3390,7 @@ phutil_register_library_map(array(
|
||||||
'DivinerParameterTableView' => 'AphrontTagView',
|
'DivinerParameterTableView' => 'AphrontTagView',
|
||||||
'DivinerPublishCache' => 'DivinerDiskCache',
|
'DivinerPublishCache' => 'DivinerDiskCache',
|
||||||
'DivinerReturnTableView' => 'AphrontTagView',
|
'DivinerReturnTableView' => 'AphrontTagView',
|
||||||
|
'DivinerSchemaSpec' => 'PhabricatorConfigSchemaSpec',
|
||||||
'DivinerSectionView' => 'AphrontTagView',
|
'DivinerSectionView' => 'AphrontTagView',
|
||||||
'DivinerStaticPublisher' => 'DivinerPublisher',
|
'DivinerStaticPublisher' => 'DivinerPublisher',
|
||||||
'DivinerSymbolRemarkupRule' => 'PhutilRemarkupRule',
|
'DivinerSymbolRemarkupRule' => 'PhutilRemarkupRule',
|
||||||
|
@ -3668,7 +3673,7 @@ phutil_register_library_map(array(
|
||||||
'HarbormasterWaitForPreviousBuildStepImplementation' => 'HarbormasterBuildStepImplementation',
|
'HarbormasterWaitForPreviousBuildStepImplementation' => 'HarbormasterBuildStepImplementation',
|
||||||
'HarbormasterWorker' => 'PhabricatorWorker',
|
'HarbormasterWorker' => 'PhabricatorWorker',
|
||||||
'HeraldAction' => 'HeraldDAO',
|
'HeraldAction' => 'HeraldDAO',
|
||||||
'HeraldApplyTranscript' => 'HeraldDAO',
|
'HeraldApplyTranscript' => 'Phobject',
|
||||||
'HeraldCommitAdapter' => 'HeraldAdapter',
|
'HeraldCommitAdapter' => 'HeraldAdapter',
|
||||||
'HeraldCondition' => 'HeraldDAO',
|
'HeraldCondition' => 'HeraldDAO',
|
||||||
'HeraldController' => 'PhabricatorController',
|
'HeraldController' => 'PhabricatorController',
|
||||||
|
@ -3708,6 +3713,7 @@ phutil_register_library_map(array(
|
||||||
'HeraldRuleTransaction' => 'PhabricatorApplicationTransaction',
|
'HeraldRuleTransaction' => 'PhabricatorApplicationTransaction',
|
||||||
'HeraldRuleTransactionComment' => 'PhabricatorApplicationTransactionComment',
|
'HeraldRuleTransactionComment' => 'PhabricatorApplicationTransactionComment',
|
||||||
'HeraldRuleViewController' => 'HeraldController',
|
'HeraldRuleViewController' => 'HeraldController',
|
||||||
|
'HeraldSchemaSpec' => 'PhabricatorConfigSchemaSpec',
|
||||||
'HeraldTestConsoleController' => 'HeraldController',
|
'HeraldTestConsoleController' => 'HeraldController',
|
||||||
'HeraldTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
'HeraldTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
||||||
'HeraldTranscript' => array(
|
'HeraldTranscript' => array(
|
||||||
|
@ -4523,6 +4529,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorFactManagementStatusWorkflow' => 'PhabricatorFactManagementWorkflow',
|
'PhabricatorFactManagementStatusWorkflow' => 'PhabricatorFactManagementWorkflow',
|
||||||
'PhabricatorFactManagementWorkflow' => 'PhabricatorManagementWorkflow',
|
'PhabricatorFactManagementWorkflow' => 'PhabricatorManagementWorkflow',
|
||||||
'PhabricatorFactRaw' => 'PhabricatorFactDAO',
|
'PhabricatorFactRaw' => 'PhabricatorFactDAO',
|
||||||
|
'PhabricatorFactSchemaSpec' => 'PhabricatorConfigSchemaSpec',
|
||||||
'PhabricatorFactSimpleSpec' => 'PhabricatorFactSpec',
|
'PhabricatorFactSimpleSpec' => 'PhabricatorFactSpec',
|
||||||
'PhabricatorFactUpdateIterator' => 'PhutilBufferedIterator',
|
'PhabricatorFactUpdateIterator' => 'PhutilBufferedIterator',
|
||||||
'PhabricatorFeedApplication' => 'PhabricatorApplication',
|
'PhabricatorFeedApplication' => 'PhabricatorApplication',
|
||||||
|
@ -4847,6 +4854,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorOwnersPackageQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorOwnersPackageQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorOwnersPackageTestCase' => 'PhabricatorTestCase',
|
'PhabricatorOwnersPackageTestCase' => 'PhabricatorTestCase',
|
||||||
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
|
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
|
||||||
|
'PhabricatorOwnersSchemaSpec' => 'PhabricatorConfigSchemaSpec',
|
||||||
'PhabricatorPHDConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
'PhabricatorPHDConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||||
'PhabricatorPHPASTApplication' => 'PhabricatorApplication',
|
'PhabricatorPHPASTApplication' => 'PhabricatorApplication',
|
||||||
'PhabricatorPHPMailerConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
'PhabricatorPHPMailerConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||||
|
|
|
@ -13,6 +13,12 @@ final class DivinerLiveAtom extends DivinerDAO {
|
||||||
'content' => self::SERIALIZATION_JSON,
|
'content' => self::SERIALIZATION_JSON,
|
||||||
'atomData' => self::SERIALIZATION_JSON,
|
'atomData' => self::SERIALIZATION_JSON,
|
||||||
),
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'symbolPHID' => array(
|
||||||
|
'columns' => array('symbolPHID'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,20 @@ final class DivinerLiveBook extends DivinerDAO
|
||||||
self::CONFIG_SERIALIZATION => array(
|
self::CONFIG_SERIALIZATION => array(
|
||||||
'configurationData' => self::SERIALIZATION_JSON,
|
'configurationData' => self::SERIALIZATION_JSON,
|
||||||
),
|
),
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'name' => 'text64',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'key_phid' => null,
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'name' => array(
|
||||||
|
'columns' => array('name'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,54 @@ final class DivinerLiveSymbol extends DivinerDAO
|
||||||
return array(
|
return array(
|
||||||
self::CONFIG_AUX_PHID => true,
|
self::CONFIG_AUX_PHID => true,
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'context' => 'text255?',
|
||||||
|
'type' => 'text32',
|
||||||
|
'name' => 'text255',
|
||||||
|
'atomIndex' => 'uint32',
|
||||||
|
'identityHash' => 'bytes12',
|
||||||
|
'graphHash' => 'bytes64?',
|
||||||
|
'title' => 'text?',
|
||||||
|
'titleSlugHash' => 'bytes12?',
|
||||||
|
'groupName' => 'text255?',
|
||||||
|
'summary' => 'text?',
|
||||||
|
'isDocumentable' => 'bool',
|
||||||
|
'nodeHash' => 'bytes64?',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'key_phid' => null,
|
||||||
|
'identityHash' => array(
|
||||||
|
'columns' => array('identityHash'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'graphHash' => array(
|
||||||
|
'columns' => array('graphHash'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'nodeHash' => array(
|
||||||
|
'columns' => array('nodeHash'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'bookPHID' => array(
|
||||||
|
'columns' => array(
|
||||||
|
'bookPHID',
|
||||||
|
'type',
|
||||||
|
'name(64)',
|
||||||
|
'context(64)',
|
||||||
|
'atomIndex',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'name' => array(
|
||||||
|
'columns' => array('name'),
|
||||||
|
),
|
||||||
|
'key_slug' => array(
|
||||||
|
'columns' => array('titleSlugHash'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
9
src/applications/diviner/storage/DivinerSchemaSpec.php
Normal file
9
src/applications/diviner/storage/DivinerSchemaSpec.php
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class DivinerSchemaSpec extends PhabricatorConfigSchemaSpec {
|
||||||
|
|
||||||
|
public function buildSchemata() {
|
||||||
|
$this->buildLiskSchemata('DivinerDAO');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -2,9 +2,25 @@
|
||||||
|
|
||||||
final class PhabricatorFactAggregate extends PhabricatorFactDAO {
|
final class PhabricatorFactAggregate extends PhabricatorFactDAO {
|
||||||
|
|
||||||
protected $id;
|
|
||||||
protected $factType;
|
protected $factType;
|
||||||
protected $objectPHID;
|
protected $objectPHID;
|
||||||
protected $valueX;
|
protected $valueX;
|
||||||
|
|
||||||
|
public function getConfiguration() {
|
||||||
|
return array(
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'id' => null,
|
||||||
|
'factType' => 'text32',
|
||||||
|
'valueX' => 'uint64',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'PRIMARY' => null,
|
||||||
|
'factType' => array(
|
||||||
|
'columns' => array('factType', 'objectPHID'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
) + parent::getConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,22 @@
|
||||||
|
|
||||||
final class PhabricatorFactCursor extends PhabricatorFactDAO {
|
final class PhabricatorFactCursor extends PhabricatorFactDAO {
|
||||||
|
|
||||||
protected $id;
|
|
||||||
protected $name;
|
protected $name;
|
||||||
protected $position;
|
protected $position;
|
||||||
|
|
||||||
|
public function getConfiguration() {
|
||||||
|
return array(
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'name' => 'text64',
|
||||||
|
'position' => 'text64',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'name' => array(
|
||||||
|
'columns' => array('name'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
) + parent::getConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
*/
|
*/
|
||||||
final class PhabricatorFactRaw extends PhabricatorFactDAO {
|
final class PhabricatorFactRaw extends PhabricatorFactDAO {
|
||||||
|
|
||||||
protected $id;
|
|
||||||
protected $factType;
|
protected $factType;
|
||||||
protected $objectPHID;
|
protected $objectPHID;
|
||||||
protected $objectA;
|
protected $objectA;
|
||||||
|
@ -13,4 +12,29 @@ final class PhabricatorFactRaw extends PhabricatorFactDAO {
|
||||||
protected $valueY;
|
protected $valueY;
|
||||||
protected $epoch;
|
protected $epoch;
|
||||||
|
|
||||||
|
public function getConfiguration() {
|
||||||
|
return array(
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'id' => null,
|
||||||
|
'factType' => 'text32',
|
||||||
|
'objectA' => 'phid',
|
||||||
|
'valueX' => 'sint64',
|
||||||
|
'valueY' => 'sint64',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'PRIMARY' => null,
|
||||||
|
'objectPHID' => array(
|
||||||
|
'columns' => array('objectPHID'),
|
||||||
|
),
|
||||||
|
'factType' => array(
|
||||||
|
'columns' => array('factType', 'epoch'),
|
||||||
|
),
|
||||||
|
'factType_2' => array(
|
||||||
|
'columns' => array('factType', 'objectA'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
) + parent::getConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class PhabricatorFactSchemaSpec extends PhabricatorConfigSchemaSpec {
|
||||||
|
|
||||||
|
public function buildSchemata() {
|
||||||
|
$this->buildLiskSchemata('PhabricatorFactDAO');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -13,6 +13,15 @@ final class HeraldAction extends HeraldDAO {
|
||||||
'target' => self::SERIALIZATION_JSON,
|
'target' => self::SERIALIZATION_JSON,
|
||||||
),
|
),
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'action' => 'text255',
|
||||||
|
'target' => 'text',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'ruleID' => array(
|
||||||
|
'columns' => array('ruleID'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,16 @@ final class HeraldCondition extends HeraldDAO {
|
||||||
'value' => self::SERIALIZATION_JSON,
|
'value' => self::SERIALIZATION_JSON,
|
||||||
),
|
),
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'fieldName' => 'text255',
|
||||||
|
'fieldCondition' => 'text255',
|
||||||
|
'value' => 'text',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'ruleID' => array(
|
||||||
|
'columns' => array('ruleID'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,33 @@ final class HeraldRule extends HeraldDAO
|
||||||
public function getConfiguration() {
|
public function getConfiguration() {
|
||||||
return array(
|
return array(
|
||||||
self::CONFIG_AUX_PHID => true,
|
self::CONFIG_AUX_PHID => true,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'name' => 'text255',
|
||||||
|
'contentType' => 'text255',
|
||||||
|
'mustMatchAll' => 'bool',
|
||||||
|
'configVersion' => 'uint32',
|
||||||
|
'repetitionPolicy' => 'uint32',
|
||||||
|
'ruleType' => 'text255',
|
||||||
|
'isDisabled' => 'uint32',
|
||||||
|
'triggerObjectPHID' => 'phid?',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'key_phid' => null,
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'authorPHID' => array(
|
||||||
|
'columns' => array('authorPHID', 'name'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'IDX_RULE_TYPE' => array(
|
||||||
|
'columns' => array('ruleType'),
|
||||||
|
),
|
||||||
|
'key_trigger' => array(
|
||||||
|
'columns' => array('triggerObjectPHID'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,4 +7,18 @@ final class HeraldRuleEdit extends HeraldDAO {
|
||||||
protected $ruleName;
|
protected $ruleName;
|
||||||
protected $action;
|
protected $action;
|
||||||
|
|
||||||
|
public function getConfiguration() {
|
||||||
|
return array(
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'ruleName' => 'text255',
|
||||||
|
'action' => 'text32',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'ruleID' => array(
|
||||||
|
'columns' => array('ruleID', 'dateCreated'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
) + parent::getConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
44
src/applications/herald/storage/HeraldSchemaSpec.php
Normal file
44
src/applications/herald/storage/HeraldSchemaSpec.php
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class HeraldSchemaSpec extends PhabricatorConfigSchemaSpec {
|
||||||
|
|
||||||
|
public function buildSchemata() {
|
||||||
|
$this->buildLiskSchemata('HeraldDAO');
|
||||||
|
|
||||||
|
$this->buildTransactionSchema(
|
||||||
|
new HeraldRuleTransaction(),
|
||||||
|
new HeraldRuleTransactionComment());
|
||||||
|
|
||||||
|
$this->buildRawSchema(
|
||||||
|
id(new HeraldRule())->getApplicationName(),
|
||||||
|
HeraldRule::TABLE_RULE_APPLIED,
|
||||||
|
array(
|
||||||
|
'ruleID' => 'id',
|
||||||
|
'phid' => 'phid',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'PRIMARY' => array(
|
||||||
|
'columns' => array('ruleID', 'phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->buildRawSchema(
|
||||||
|
id(new HeraldRule())->getApplicationName(),
|
||||||
|
HeraldTranscript::TABLE_SAVED_HEADER,
|
||||||
|
array(
|
||||||
|
'phid' => 'phid',
|
||||||
|
'header' => 'text',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'PRIMARY' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,17 +1,17 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class HeraldApplyTranscript extends HeraldDAO {
|
final class HeraldApplyTranscript extends Phobject {
|
||||||
|
|
||||||
protected $action;
|
private $action;
|
||||||
protected $target;
|
private $target;
|
||||||
|
|
||||||
protected $ruleID;
|
private $ruleID;
|
||||||
protected $effector;
|
private $effector;
|
||||||
|
|
||||||
protected $reason;
|
private $reason;
|
||||||
|
|
||||||
protected $applied;
|
private $applied;
|
||||||
protected $appliedReason;
|
private $appliedReason;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
HeraldEffect $effect,
|
HeraldEffect $effect,
|
||||||
|
@ -25,29 +25,58 @@ final class HeraldApplyTranscript extends HeraldDAO {
|
||||||
$this->setReason($effect->getReason());
|
$this->setReason($effect->getReason());
|
||||||
$this->setApplied($applied);
|
$this->setApplied($applied);
|
||||||
$this->setAppliedReason($reason);
|
$this->setAppliedReason($reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setAction($action) {
|
||||||
|
$this->action = $action;
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAction() {
|
public function getAction() {
|
||||||
return $this->action;
|
return $this->action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setTarget($target) {
|
||||||
|
$this->target = $target;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getTarget() {
|
public function getTarget() {
|
||||||
return $this->target;
|
return $this->target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setRuleID($rule_id) {
|
||||||
|
$this->ruleID = $rule_id;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getRuleID() {
|
public function getRuleID() {
|
||||||
return $this->ruleID;
|
return $this->ruleID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setEffector($effector) {
|
||||||
|
$this->effector = $effector;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getEffector() {
|
public function getEffector() {
|
||||||
return $this->effector;
|
return $this->effector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setReason($reason) {
|
||||||
|
$this->reason = $reason;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getReason() {
|
public function getReason() {
|
||||||
return $this->reason;
|
return $this->reason;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setApplied($applied) {
|
||||||
|
$this->applied = $applied;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function getApplied() {
|
public function getApplied() {
|
||||||
return $this->applied;
|
return $this->applied;
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,25 @@ final class HeraldTranscript extends HeraldDAO
|
||||||
'conditionTranscripts' => true,
|
'conditionTranscripts' => true,
|
||||||
'applyTranscripts' => true,
|
'applyTranscripts' => true,
|
||||||
),
|
),
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'time' => 'epoch',
|
||||||
|
'host' => 'text255',
|
||||||
|
'duration' => 'double',
|
||||||
|
'dryRun' => 'bool',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'key_phid' => null,
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'objectPHID' => array(
|
||||||
|
'columns' => array('objectPHID'),
|
||||||
|
),
|
||||||
|
'garbageCollected' => array(
|
||||||
|
'columns' => array('garbageCollected', 'time'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,15 @@ final class PhabricatorOwnersOwner extends PhabricatorOwnersDAO {
|
||||||
public function getConfiguration() {
|
public function getConfiguration() {
|
||||||
return array(
|
return array(
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'packageID' => array(
|
||||||
|
'columns' => array('packageID', 'userPHID'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'userPHID' => array(
|
||||||
|
'columns' => array('userPHID'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,24 @@ final class PhabricatorOwnersPackage extends PhabricatorOwnersDAO
|
||||||
// This information is better available from the history table.
|
// This information is better available from the history table.
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
self::CONFIG_AUX_PHID => true,
|
self::CONFIG_AUX_PHID => true,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'name' => 'text255',
|
||||||
|
'originalName' => 'text255',
|
||||||
|
'description' => 'text',
|
||||||
|
'primaryOwnerPHID' => 'phid?',
|
||||||
|
'auditingEnabled' => 'bool',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'key_phid' => null,
|
||||||
|
'phid' => array(
|
||||||
|
'columns' => array('phid'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
'name' => array(
|
||||||
|
'columns' => array('name'),
|
||||||
|
'unique' => true,
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,15 @@ final class PhabricatorOwnersPath extends PhabricatorOwnersDAO {
|
||||||
public function getConfiguration() {
|
public function getConfiguration() {
|
||||||
return array(
|
return array(
|
||||||
self::CONFIG_TIMESTAMPS => false,
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
self::CONFIG_COLUMN_SCHEMA => array(
|
||||||
|
'path' => 'text255',
|
||||||
|
'excluded' => 'bool',
|
||||||
|
),
|
||||||
|
self::CONFIG_KEY_SCHEMA => array(
|
||||||
|
'packageID' => array(
|
||||||
|
'columns' => array('packageID'),
|
||||||
|
),
|
||||||
|
),
|
||||||
) + parent::getConfiguration();
|
) + parent::getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class PhabricatorOwnersSchemaSpec extends PhabricatorConfigSchemaSpec {
|
||||||
|
|
||||||
|
public function buildSchemata() {
|
||||||
|
$this->buildLiskSchemata('PhabricatorOwnersDAO');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue