Tobias Gritschacher has uploaded a new change for review. https://gerrit.wikimedia.org/r/78232
Change subject: Move getEntityContent to ModifyClaim ...................................................................... Move getEntityContent to ModifyClaim - also fixed wrong documentation in ApiWikibase Change-Id: Ibf6c30ee4e1205672718a36b49020d87f1f6e88c --- M repo/includes/api/ApiWikibase.php M repo/includes/api/CreateClaim.php M repo/includes/api/ModifyClaim.php M repo/includes/api/RemoveClaims.php M repo/includes/api/RemoveQualifiers.php M repo/includes/api/RemoveReferences.php M repo/includes/api/SetClaimValue.php M repo/includes/api/SetQualifier.php M repo/includes/api/SetReference.php 9 files changed, 26 insertions(+), 22 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/32/78232/1 diff --git a/repo/includes/api/ApiWikibase.php b/repo/includes/api/ApiWikibase.php index 646834f..3f3003c 100644 --- a/repo/includes/api/ApiWikibase.php +++ b/repo/includes/api/ApiWikibase.php @@ -328,7 +328,7 @@ * Revision::getContent(). * @param \User $user : the user to consider if $audience == Revision::FOR_THIS_USER * - * @return \Wikibase\EntityContent|null the revision's content, or null if not available. + * @return \Wikibase\EntityContent the revision's content. */ protected function loadEntityContent( \Title $title, $revId = false, $audience = \Revision::FOR_PUBLIC, diff --git a/repo/includes/api/CreateClaim.php b/repo/includes/api/CreateClaim.php index 5d175c5..cbddf8e 100644 --- a/repo/includes/api/CreateClaim.php +++ b/repo/includes/api/CreateClaim.php @@ -51,10 +51,8 @@ $this->validateParameters( $params ); $entityId = $this->claimModificationHelper->getEntityIdFromString( $params['entity'] ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $propertyId = $this->claimModificationHelper->getEntityIdFromString( $params['property'] ); diff --git a/repo/includes/api/ModifyClaim.php b/repo/includes/api/ModifyClaim.php index af3acfd..13b3527 100644 --- a/repo/includes/api/ModifyClaim.php +++ b/repo/includes/api/ModifyClaim.php @@ -111,6 +111,23 @@ } /** + * @since 0.4 + * + * @param \Title $entityTitle + * + * @return EntityContent + * + * TODO: this could go into a ApiWikibaseHelper as it is useful for almost all API modules + */ + protected function getEntityContent( \Title $entityTitle ) { + $params = $this->extractRequestParams(); + $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; + $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + + return $entityContent; + } + + /** * @see \Api::getRequiredPermissions() */ protected function getRequiredPermissions( Entity $entity, array $params ) { diff --git a/repo/includes/api/RemoveClaims.php b/repo/includes/api/RemoveClaims.php index 26030ec..49e868a 100644 --- a/repo/includes/api/RemoveClaims.php +++ b/repo/includes/api/RemoveClaims.php @@ -50,10 +50,9 @@ $params = $this->extractRequestParams(); $entityId = $this->getEntityId( $params ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); + $this->checkClaims( $entityContent->getEntity(), $params['claim'] ); $summary = $this->claimModificationHelper->createSummary( $params, $this ); diff --git a/repo/includes/api/RemoveQualifiers.php b/repo/includes/api/RemoveQualifiers.php index a7c46e9..32a012a 100644 --- a/repo/includes/api/RemoveQualifiers.php +++ b/repo/includes/api/RemoveQualifiers.php @@ -55,10 +55,8 @@ $entityId = $this->claimModificationHelper->getEntityIdFromString( Entity::getIdFromClaimGuid( $claimGuid ) ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $summary = $this->claimModificationHelper->createSummary( $params, $this ); diff --git a/repo/includes/api/RemoveReferences.php b/repo/includes/api/RemoveReferences.php index b193005..206fd8d 100644 --- a/repo/includes/api/RemoveReferences.php +++ b/repo/includes/api/RemoveReferences.php @@ -55,10 +55,8 @@ $entityId = $this->claimModificationHelper->getEntityIdFromString( Entity::getIdFromClaimGuid( $claimGuid ) ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $summary = $this->claimModificationHelper->createSummary( $params, $this ); diff --git a/repo/includes/api/SetClaimValue.php b/repo/includes/api/SetClaimValue.php index 7048542..251f8e7 100644 --- a/repo/includes/api/SetClaimValue.php +++ b/repo/includes/api/SetClaimValue.php @@ -53,10 +53,8 @@ $entityId = $this->claimModificationHelper->getEntityIdFromString( Entity::getIdFromClaimGuid( $params['claim'] ) ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $claims = new Claims( $entity->getClaims() ); $claimGuid = $params['claim']; diff --git a/repo/includes/api/SetQualifier.php b/repo/includes/api/SetQualifier.php index 718a7d1..be96a71 100644 --- a/repo/includes/api/SetQualifier.php +++ b/repo/includes/api/SetQualifier.php @@ -54,10 +54,8 @@ $entityId = $this->claimModificationHelper->getEntityIdFromString( Entity::getIdFromClaimGuid( $params['claim'] ) ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $summary = $this->claimModificationHelper->createSummary( $params, $this ); diff --git a/repo/includes/api/SetReference.php b/repo/includes/api/SetReference.php index b91ccbf..fe0a22c 100644 --- a/repo/includes/api/SetReference.php +++ b/repo/includes/api/SetReference.php @@ -55,10 +55,8 @@ $entityId = $this->claimModificationHelper->getEntityIdFromString( Entity::getIdFromClaimGuid( $params['statement'] ) ); - $baseRevisionId = isset( $params['baserevid'] ) ? intval( $params['baserevid'] ) : null; $entityTitle = $this->claimModificationHelper->getEntityTitle( $entityId ); - // TODO: put loadEntityContent into a separate helper class for great reuse! - $entityContent = $this->loadEntityContent( $entityTitle, $baseRevisionId ); + $entityContent = $this->getEntityContent( $entityTitle ); $entity = $entityContent->getEntity(); $summary = $this->claimModificationHelper->createSummary( $params, $this ); -- To view, visit https://gerrit.wikimedia.org/r/78232 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf6c30ee4e1205672718a36b49020d87f1f6e88c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits