Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/storage/DifferentialDraft.php
| Show All 14 Lines | return array( | ||||
| 'key_unique' => array( | 'key_unique' => array( | ||||
| 'columns' => array('objectPHID', 'authorPHID', 'draftKey'), | 'columns' => array('objectPHID', 'authorPHID', 'draftKey'), | ||||
| 'unique' => true, | 'unique' => true, | ||||
| ), | ), | ||||
| ), | ), | ||||
| ) + parent::getConfiguration(); | ) + parent::getConfiguration(); | ||||
| } | } | ||||
| public static function markHasDraft( | |||||
| $author_phid, | |||||
| $object_phid, | |||||
| $draft_key) { | |||||
| try { | |||||
| id(new DifferentialDraft()) | |||||
| ->setObjectPHID($object_phid) | |||||
| ->setAuthorPHID($author_phid) | |||||
| ->setDraftKey($draft_key) | |||||
| ->save(); | |||||
| } catch (AphrontDuplicateKeyQueryException $ex) { | |||||
| // no worries | |||||
| } | |||||
| } | |||||
| public static function deleteHasDraft( | |||||
| $author_phid, | |||||
| $object_phid, | |||||
| $draft_key) { | |||||
| $draft = id(new DifferentialDraft())->loadOneWhere( | |||||
| 'objectPHID = %s AND authorPHID = %s AND draftKey = %s', | |||||
| $object_phid, | |||||
| $author_phid, | |||||
| $draft_key); | |||||
| if ($draft) { | |||||
| $draft->delete(); | |||||
| } | |||||
| } | |||||
| public static function deleteAllDrafts( | |||||
| $author_phid, | |||||
| $object_phid) { | |||||
| $drafts = id(new DifferentialDraft())->loadAllWhere( | |||||
| 'objectPHID = %s AND authorPHID = %s', | |||||
| $object_phid, | |||||
| $author_phid); | |||||
| foreach ($drafts as $draft) { | |||||
| $draft->delete(); | |||||
| } | |||||
| } | |||||
| } | } | ||||