HomePhabricator

Use ChangeOps consistently throughout API

This commit no longer exists in the repository. It may have been part of a branch which was deleted.This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.

Description

Use ChangeOps consistently throughout API

Avoid redundant implementations in dedicated Lexeme API endpoints and
ChangeOps used when executing request through wbeditentity.

Significant conceptual changes/additions include:

  • defining a hierarchical structure of ChangeOp classes reflecting the hierarchical structure of lexeme and form data.
  • defining a mechanism of "aggregating" edit summaries for edits built from "atomic" changes with their own dedicated summaries.
  • defining a mechanism of validating the change request structure, including passing on validation errors "up" to parent nodes.
  • creating a way to create "empty" form that could be filled in with data and added to the lexeme, thus getting the form ID defined, on the later stage.

Major parts of this patch have been created by Pablo Grass.
Also includes contributions from Jakob Warkotsch.

Bug: T190928
Depends-On: I5be06540e2ba4c28bb37afa425456f754ee33b67
Change-Id: I5913ae91255f87613742e13299df43aedba1f763
(cherry picked from commit 955f4a9b522f423f2204e497c773b95ca46e8bea)

Details

Provenance
WMDE-leszekAuthored on Apr 19 2018, 1:26 PM
AddshoreCommitted on May 22 2018, 8:23 AM
ChangeId
I5913ae91255f87613742e13299df43aedba1f763

Commit No Longer Exists

This commit no longer exists in the repository.