From 1f5c54c35a1a9e05382bd2a91bd8650224d55d9b Mon Sep 17 00:00:00 2001 From: Merula Turdus Date: Sat, 15 Jun 2024 17:01:41 +0200 Subject: [PATCH] Conduit API: allow phriction.edit to modify viewPolicy and editPolicy Summary: Closes T15858 Test Plan: See T15858 Reviewers: O1 Blessed Committers, avivey Reviewed By: O1 Blessed Committers, avivey Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15858 Differential Revision: https://we.phorge.it/D25693 --- src/__phutil_library_map__.php | 2 ++ .../PhrictionDocumentEditConduitAPIMethod.php | 19 ++++++++++++++++ .../phid/PhrictionDocumentPHIDType.php | 22 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 src/applications/phriction/conduit/PhrictionDocumentEditConduitAPIMethod.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 9287085d03..aa0964c85b 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -5615,6 +5615,7 @@ phutil_register_library_map(array( 'PhrictionDocumentDatasource' => 'applications/phriction/typeahead/PhrictionDocumentDatasource.php', 'PhrictionDocumentDeleteTransaction' => 'applications/phriction/xaction/PhrictionDocumentDeleteTransaction.php', 'PhrictionDocumentDraftTransaction' => 'applications/phriction/xaction/PhrictionDocumentDraftTransaction.php', + 'PhrictionDocumentEditConduitAPIMethod' => 'applications/phriction/conduit/PhrictionDocumentEditConduitAPIMethod.php', 'PhrictionDocumentEditEngine' => 'applications/phriction/editor/PhrictionDocumentEditEngine.php', 'PhrictionDocumentEditTransaction' => 'applications/phriction/xaction/PhrictionDocumentEditTransaction.php', 'PhrictionDocumentFerretEngine' => 'applications/phriction/search/PhrictionDocumentFerretEngine.php', @@ -12510,6 +12511,7 @@ phutil_register_library_map(array( 'PhrictionDocumentDatasource' => 'PhabricatorTypeaheadDatasource', 'PhrictionDocumentDeleteTransaction' => 'PhrictionDocumentVersionTransaction', 'PhrictionDocumentDraftTransaction' => 'PhrictionDocumentEditTransaction', + 'PhrictionDocumentEditConduitAPIMethod' => 'PhabricatorEditEngineAPIMethod', 'PhrictionDocumentEditEngine' => 'PhabricatorEditEngine', 'PhrictionDocumentEditTransaction' => 'PhrictionDocumentVersionTransaction', 'PhrictionDocumentFerretEngine' => 'PhabricatorFerretEngine', diff --git a/src/applications/phriction/conduit/PhrictionDocumentEditConduitAPIMethod.php b/src/applications/phriction/conduit/PhrictionDocumentEditConduitAPIMethod.php new file mode 100644 index 0000000000..247875cce4 --- /dev/null +++ b/src/applications/phriction/conduit/PhrictionDocumentEditConduitAPIMethod.php @@ -0,0 +1,19 @@ +setViewer($query->getViewer()) + ->withSlugs($names) + ->execute(); + + $results = array(); + foreach ($objects as $id => $object) { + foreach ($names as $name) { + $results[$name] = $object; + } + } + + return $results; + } + }