Page MenuHomePhabricator

Create PageStore
Open, HighPublic

Description

Ad hoc draft of service interfaces:

interface PageLookup {
  function getPageById( int $pageId ) : ?PageRecord;
  function getPage( PageIdentity $identity ) : ?PageRecord;
  function getPageIdentity( int $namespace, string $name ) : PageIdentity;
}

interface PageBatchLookup {
  function getPageBatch( array $rows ) : array; // PageRecord[]
  function getPageIdentityBatch( array $rows ) : array; // PageIdentity[]
}

interface PageUpdaterFactory extends PageLookup  {
  function getPageUpdater( PageIdentity $page, User $actor ) : PageUpdater;
}

interface PageUpdaterBackend  { // internal, for use with PageUpdater
  function insertPageOn( PageIdentity $page, IDatabase $dbw );
  function updateRevisionOn( PageIdentity $page, RevisionRecord $revision, IDatabase $dbw, $options = [] );
}

interface PageStateBackend  { // internal, for use with LinksUpdate
  function updateTouched( PageIdentity $page, string $timestamp = null );
}

Related Objects

StatusSubtypeAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenNone
OpenNone
OpenNone
StalledNone
OpenNone
DuplicateNone
ResolvedNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedNone
ResolvedNone
OpenNone
StalledNone
OpenNone
OpenNone
Opendaniel
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone