Page MenuHomePhabricator

Create PageStore
Closed, ResolvedPublic

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
OpenFeatureNone
OpenBUG REPORTNone
OpenNone
StalledNone
OpenFeatureNone
DuplicateNone
ResolvedNone
OpenNone
OpenNone
OpenFeatureNone
OpenNone
ResolvedNone
ResolvedNone
OpenFeatureNone
OpenNone
OpenFeatureNone
StalledNone
OpenNone
Opendaniel
Openpmiazga
ResolvedNone
InvalidNone
OpenNone
ResolvedNone
Resolveddaniel