Chris@17
|
1 <?php
|
Chris@17
|
2
|
Chris@17
|
3 namespace Drupal\workspaces;
|
Chris@17
|
4
|
Chris@17
|
5 /**
|
Chris@17
|
6 * Defines an interface for workspace operations.
|
Chris@17
|
7 *
|
Chris@17
|
8 * Example operations are publishing, merging and syncing with a remote
|
Chris@17
|
9 * workspace.
|
Chris@17
|
10 *
|
Chris@17
|
11 * @internal
|
Chris@17
|
12 */
|
Chris@17
|
13 interface WorkspaceOperationInterface {
|
Chris@17
|
14
|
Chris@17
|
15 /**
|
Chris@17
|
16 * Returns the human-readable label of the source.
|
Chris@17
|
17 *
|
Chris@17
|
18 * @return string
|
Chris@17
|
19 * The source label.
|
Chris@17
|
20 */
|
Chris@17
|
21 public function getSourceLabel();
|
Chris@17
|
22
|
Chris@17
|
23 /**
|
Chris@17
|
24 * Returns the human-readable label of the target.
|
Chris@17
|
25 *
|
Chris@17
|
26 * @return string
|
Chris@17
|
27 * The target label.
|
Chris@17
|
28 */
|
Chris@17
|
29 public function getTargetLabel();
|
Chris@17
|
30
|
Chris@17
|
31 /**
|
Chris@17
|
32 * Checks if there are any conflicts between the source and the target.
|
Chris@17
|
33 *
|
Chris@17
|
34 * @return array
|
Chris@17
|
35 * Returns an array consisting of the number of conflicts between the source
|
Chris@17
|
36 * and the target, keyed by the conflict type constant.
|
Chris@17
|
37 */
|
Chris@17
|
38 public function checkConflictsOnTarget();
|
Chris@17
|
39
|
Chris@17
|
40 /**
|
Chris@17
|
41 * Gets the revision identifiers for items which have changed on the target.
|
Chris@17
|
42 *
|
Chris@17
|
43 * @return array
|
Chris@17
|
44 * A multidimensional array of revision identifiers, keyed by entity type
|
Chris@17
|
45 * IDs.
|
Chris@17
|
46 */
|
Chris@17
|
47 public function getDifferringRevisionIdsOnTarget();
|
Chris@17
|
48
|
Chris@17
|
49 /**
|
Chris@17
|
50 * Gets the revision identifiers for items which have changed on the source.
|
Chris@17
|
51 *
|
Chris@17
|
52 * @return array
|
Chris@17
|
53 * A multidimensional array of revision identifiers, keyed by entity type
|
Chris@17
|
54 * IDs.
|
Chris@17
|
55 */
|
Chris@17
|
56 public function getDifferringRevisionIdsOnSource();
|
Chris@17
|
57
|
Chris@17
|
58 /**
|
Chris@17
|
59 * Gets the total number of items which have changed on the target.
|
Chris@17
|
60 *
|
Chris@17
|
61 * This returns the aggregated changes count across all entity types.
|
Chris@17
|
62 * For example, if two nodes and one taxonomy term have changed on the target,
|
Chris@17
|
63 * the return value is 3.
|
Chris@17
|
64 *
|
Chris@17
|
65 * @return int
|
Chris@17
|
66 * The number of differing revisions.
|
Chris@17
|
67 */
|
Chris@17
|
68 public function getNumberOfChangesOnTarget();
|
Chris@17
|
69
|
Chris@17
|
70 /**
|
Chris@17
|
71 * Gets the total number of items which have changed on the source.
|
Chris@17
|
72 *
|
Chris@17
|
73 * This returns the aggregated changes count across all entity types.
|
Chris@17
|
74 * For example, if two nodes and one taxonomy term have changed on the source,
|
Chris@17
|
75 * the return value is 3.
|
Chris@17
|
76 *
|
Chris@17
|
77 * @return int
|
Chris@17
|
78 * The number of differing revisions.
|
Chris@17
|
79 */
|
Chris@17
|
80 public function getNumberOfChangesOnSource();
|
Chris@17
|
81
|
Chris@17
|
82 }
|